Predictive CPU isolation of containers at Netflix using a MIP solver
medium.com
medium.com
This is generally true for domain-specific software -- unlike general purpose software, incenting a small pool of specialized talent to make open-source contributions is always hard.
The key to high performance in MIPs comes from having good heuristics, not necessarily from improving the basic algorithms (the algorithms are pretty standard -- simplex or interior point). Finding effective heuristics is hard and tedious, but they make a significant difference in solution speed. For instance, naive Simplex may take 40 minutes to solve a problem but with heuristics the solution time might be 5 seconds.
That said, Cbc is competitive for smaller problems, and here's the thing: many production sized problems aren't that big -- it really depends on your problem domain. I've deployed commercial solvers on Cbc (30k variables/constraints) and it was more than adequate.
I don't have any details on this, but Gurobi (a best of class solver) also offers an on-demand cloud SaaS which you can pay for on demand [1]. The economics of this may work out for some types of problems.
[1] https://www.gurobi.com/pdfs/user-events/2017-frankfurt/Gurob...
Also, if you're in academia, you can get Gurobi/CPLEX licenses for free (yes). My research group in grad school didn't spend a cent on these solvers, and we still got a taste of best-of-class solution performance (that's how they get you :).
So often we see projects that talk about cutting costs by order of magnitudes but this one is taking an order of magnitude of pods greater than most of what we will do and reducing it fractionally
Has anyone studied effects of CPU allocation on cache coherency performance (different L2 caches talking to synchronize data) and in the end overall system performance?