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).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.