More than two thread have worse work performance than one thread on a twelve cores system. RRS feed

  • Question

  • I've done a simple experiment running different number of thread on a 12-core 24 GB RAM system in Windows 7.

    No other load in the system - just the running threads doing some operations on different parts of an array.

    The result was: the more threads were working, but less than 11, the worse performance I've got.

    I didn't use "real time priority" nor Affinity, relying only on lacking of system load.

    The Concurrency Visualizer showed me threads were hanging around on different cores.

    So, what would be the approach to get 100% load of all 12 cores?

    Affinity and real time priority?

    Some kind of system control if such exists at all?

    Or, maybe, Windows Server as a working environment or even another OS?


    • Edited by SpasV Thursday, December 18, 2014 4:40 PM
    Thursday, December 18, 2014 9:21 AM

All replies

  • Likely your test makes use of system memory or some other shared resource, to the point where computation of arithmetic operations are not the bottleneck, and instead your test is just hammering main system memory.

    Care to share the relevant code for your "simple experiment"?

    Tuesday, January 6, 2015 8:07 PM