Clear Filters
Clear Filters

Same code poor performance on different server with same RAM and processors

1 view (last 30 days)
Why same matlab code shows different performance on different server with same RAM and processors?
Below are the server configuration: Code runs 10 times faster on Serve1 than on Server2.
Server1: Windows Server 2008 R2 Enterprise, Intel® Xeon® CPU ES-2697 v2 @2.70GHz 2.70 GHz(8 processors),128GB RAM
Server2: Windows Server 2016 R2 Enterprise, Intel® Xeon® CPU ES-2670 v3 @2.30GHz 2.29 GHz(8 processors),128GB RAM

Answers (1)

Jan
Jan on 16 Apr 2018
The processors are different. The E5-2670 v3 has AVX2, but the ES-2697 v2 has not. But this should not result in a factor of 10.
How did you test the performance? Does any other application run on the slower server? Can you identify the bottlenecks of your code and post them?
  1 Comment
Samar Adhikari
Samar Adhikari on 18 Apr 2018
Edited: Samar Adhikari on 18 Apr 2018
Used profile to check performance. The concerned portion of code (see below) is using matlab built-in function createTask. No other application is running on the slower server(Server2).
j = createJob(c);
StartIndex = 1;
tic
fprintf(' Task Creation Started \n');
for count = 1 : NumOfCluster
EndIndex = StartIndex + NoOfvaluablesperCluster - 1;
if EndIndex >= size(arrValuableArray,1)
EndIndex = size(arrValuableArray,1);
flagtemp = 0;
end
NoOfUsedClusters(counter,1) = NoOfAveraging(1,averaging);
NoOfUsedClusters(counter,2) = models(modelnumbers);
NoOfUsedClusters(counter,3) = count;
createTask(j, functionhandle, 1, {input parameters...});
if flagtemp == 0
break;
end
StartIndex = EndIndex+1;
end
toc
fprintf(' Task Creation Finished\n');

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!