0
My program: 100% CPU and RAM based, performs mathematical calculations, reads the data from the HDD into RAM in the beginning. No communication between threads. The threads, all take the same time also (almost).
Question:
If my program uses threads equal to the number of CPU threads, what kind of performance can I expect from a 2 cpu system?
Say I use two 8 core xeons, each with 16 threads, so 16x2 = 32 threads total. If my program uses 32 threads, all with 100% usage, will I get double the preformance over a single same cpu?
You're going to have to be more specific about what you're attempting to parallelize if you want an answer to this question. – Ryan C. Thompson – 2013-12-05T03:03:47.267
1More details added. – ShadowHero – 2013-12-05T03:07:31.313
With a shared memory you're never going to get 100% out of the second, third, fourth... CPU, except in very rare circumstances. Early dual processor systems were lucky to get 50% added throughput from a second CPU (though that's improved as cache designs have gotten better). You do have an "advantage" in this case in that the throughput has already been "discounted" for multiple cores, so the "hit" might not be too bad. However, the 8-core design is likely "tuned" to make full use of memory bandwidth, so the system could "choke" with two units. – Daniel R Hicks – 2013-12-16T12:46:26.427