Originally posted by: SystemAdmin
This depends a lot on what you want to solve on the machine(s).
If you need to solve big models, then you need lots of RAM. Because RAM is expensive if you go beyond a certain threshold (say, above 64 GB), this means you need one big machine.
If you want to solve small or medium sized models, and multiple users want to do calculations at the same time, then a cluster of current xSeries PCs (Intel or AMD chips) is the way to go, just because you will get more total computing power for your budget than if you buy a single big server.
Typically the bottleneck for CPLEX is memory bandwidth, so you want to have the fastest memory you can get. Note that for current hardware (like Intel's Xeon 5600 chips) need to be equipped with the correct number of RAM DIMMs to get full speed. We just bought new machines for our group and found out that using 6x4GB gives a 30% performance improvement over just 4x4GB, because then the memory bus works at its optimal performance level.
Even though CPLEX exploits multiple cores, the branch-and-cut algorithm features an inherently sequential part (the root node solve). Therefore, a massive number of cores will most likely not give you much benefit. With your budget, I would go for 4, 6, or 8 core processors and focus more on CPU speed than number of cores.
The hard drive speed is mostly irrelevant for CPLEX performance.
Unfortunately, I don't know what a ROCKS cluster is. Maybe it helps to note that CPLEX is not able to run in parallel over distributed memory. Parallelism can only be exploited for shared memory machines.
To get a pretty good estimate of CPLEX performance on different chips, look at the SPEC benchmarks at
http://www.spec.org/cgi-bin/osgresults?conf=cpu2006, do a "Simple Request" for a processor of your choice (for example "X5650"), look into the "CFP2006" tables, and check out the "Base Run Time" of the "450.soplex" test. The lower the number, the better.
Soplex is a linear programming solver that does similar operations as CPLEX, so it gives a very good estimate on how CPLEX would perform on such a machine. Soplex was originally developed by my colleague Roland Wunderling, who is now lead developer of CPLEX.
Tobias
#CPLEXOptimizers#DecisionOptimization