We have a multithreaded .net system that we run at our company. Our production system are
2x Intel(R) Xeon(R) CPU X5355 @ 2.66GHz (4C; 2.66GHz; 2x 4MB L2; 1.33GHz FSB)16GB
And we're Testing
4x Quad-Core AMD Opteron(tm) Processor 8378 (4C; 2.4GHz; 2GHz IMC; 4x 512kB L2; 6MB L3)128GB
We're noticing that our software only runs about 30% faster on the opteron system even though it carries 8 more cores then the current system. While I realize there's a lot at play here, we were expecting better performance.
Running Sandra on both systems shows that the inter-core test of the opteron system is actually slower then it's intel counterpart both in bandwidth and latency. The .Net benchmarks are on the order of 20-40% faster (keep getting different results) on AMD. Everything else seems materially better on Opteron (CPU/Cache/Memory tests).
We are running Windows 2003 64bit for Intel Based System
We are running Windows 2003 Enterprise 64bit for AMD Based SYstem
SciMark C# implementation shows:
Composite Score: 198.24 MFlops
FFT : 114.84 - (1024)
SOR : 354.37 - (100x100)
Monte Carlo : 23.99
Sparse MatMult : 208.67 - (N=1000, nz=5000)
LU : 289.33 - (100x100)
Composite Score: 174.33 MFlops
FFT : 110.32 - (1024)
SOR : 309.89 - (100x100)
Monte Carlo : 31.13
Sparse MatMult : 191.54 - (N=1000, nz=5000)
LU : 228.77 - (100x100)
A few questions:
1) Is anyone experiencing the same with their .Net application?
2) Not ruling out the need to profile our software but want to rule out hardware issues and/or hardware + os issue. Are there windows server and/or .net versions built to run optimally on amd?
3) Are there better benchmark software besides sandra, cpuz, scimark to use to compare the systems to help identify potential hardware issues?