Relatively poor Matlab performance in server environments

16 views (last 30 days)
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.
  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.

Sign in to comment.

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?
  1 Comment
Darryn on 20 Aug 2013
Hi Jan
Apologies for the late reply and thanks for your response. I was under the impression that Xeon processors far outperform their i7 counterparts, hence the concern. I've asked IT to look into doing benchmark tests against the CPUs and obtaining processors with higher clock speeds. Will let you know how this goes.
Wrt parallel processing, when activated this will distribute the actual Monte Carlo simulations to be performed over the available cores. But the parallelization is not an issue to my mind since on a like for like basis running with or without parallel processing there is a significant difference in run time between the two environments.
Thanks again

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!