Relatively poor Matlab performance in server environments
6 views (last 30 days)
Show older comments
Hi all
I've recently developed a monte carlo simulation based model that is to be deployed onto a server environment as part of company policy. The performance testing has revealed that my relatively mediocre work desktop machine (i5 650 @ 3.2GHz, 3.42GB RAM, Windows XP) outperforms the server environment (32x Intel Xeon CPU E7-4830 @ 2.13GHz CPUs, 32GB RAM, Windows Server 2008 R2 Standard (64bit)) and I've gotten the best performance out of my personal desktop (Intel i7 3770k Quad Core, 8GB RAM, Windows 7 Home (64bit)). A comparison on a similar server setup (4x Intel Xeon X5670 @ 2.93GHz, 8GB RAM, Windows Server 2008 R2 Standard (64bit)) also runs quicker than the server environment and has comparable anti-virus scanning.
The only major structural difference between these machines appears to be the graphics cards used (the high end server environment only has a standard VGA adapter), but this doesn't seem like an intuitive explanation for the difference in performance.
Could it be Matlab is not optimised to perform well with those specific Xeon processors?
I've developed the model in R2013a and it utilises parallel processing (hence the need for Xeon processors and Windows Server). The performance slowdown occurs systematically for compiled and uncompiled code and particularly for the ODE test in the BENCH function.
Any help would be much appreciated.
Darryn
1 Comment
James
on 12 Feb 2014
We have observed the same kind of difference in performance between our Xeon server and i5/i7 laptops, except, in this case, the relative CPU speeds are reversed, i.e. my Windows 7 i7-3540M @ 3.0GHz significantly outperforms the Windows Server 2008 Xeon E5-2643 @ 3.3GHz. The same was also true for other older CPUs. We are using MATLAB R2012a win64, but the results seem to hold for other releases also.
Answers (1)
Jan
on 7 Aug 2013
The server has a single core speed of 2.13 GHz, while your desktop runs with 3.2 GHz. If the ODE benchmark uses one core only, I'd expect the desktop to run 50% than the server due to the single threaded implementation.
What does "it utilizes parallel processing" exactly mean? Are the bottlenecks of the program parallelized?
See Also
Categories
Find more on Security in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!