# What does "Concurrent spin time" mean in the Gurobi log and what does choosing Method=3 do?

We are using Gurobi 9.0.2 to solve complex mixed integer linear programs for which we are attempting to maintain total unimodularity (TUM). In our log file we see things like this:

Concurrent spin time: 13403.45s (can be avoided by choosing Method=3)
Concurrent spin time: 921.14s (can be avoided by choosing Method=3)
Concurrent spin time: 244.37s (can be avoided by choosing Method=3)


What does Concurrent spin time mean and what does Method=3 do?

Performing parallel operations deterministically often leads to some overhead and threads waiting or idling - this is the spin time. A non-deterministic or opportunistic parallel mode does not have this overhead but also does not guarantee reproducibility - this is enabled via Method=3.

EDIT: When solving very similar models you should also just check what is the winning method and then enable this explicitly. This can free up one or two additional threads for the barrier algo (Method=2) or make the simplex slightly more performant, due to less strain on memory and CPU bandwidth (Method=0 or Method=1).