Namu,

Hyperthreads aren't real cores, they're really just another hardware thread (two per physical core). You have two CPUs with 6 physical cores each. If you start 2 simulations, each with 6 MPI processes running, your 12 physical cores will each be running at 100%. Adding another simulation with another 6 MPI processes will oversubscribe your physical cores (you're asking for 150%), which is why you're still seeing 12 processors at 100%, and everything else very low. Your physical cores are switching hardware threads, but each core can't go any faster. Hyperthreads only help when your software doesn't load a core to 100%. Then the other hyperthread on that core can switch in and use leftover capacity. Hardware thread switching is much faster than software thread switching, which is why it's there.

Most simulation software will load cores to 100% (even if it doesn't use that 100% wisely, which is a whole other flame war) and hyperthreading doesn't help you.

Damien

On 2015-04-10 2:22 PM, namu patel wrote:
Hello All,

I am using OpenMPI 1.8.4 on my workstation with 2 CPUs, each with 12 processors (6 with hyper-threading). When I run simulations using mpiexec, I'm noticing a strange performance issue. If I run two simulations, each with 6 processors, then everything is fine and 12 processors are under 100% load. When I start a 3rd simulation with 6 processors, I notice throttling in all 3 simulations and only 12 processors are at 100%, the rest are below 10%. My guess is that somehow the processes from the 3rd simulations are doubling onto the already busy processors. How can I be certain that this is the case?

Thanks,
namu


_______________________________________________
users mailing list
us...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post: 
http://www.open-mpi.org/community/lists/users/2015/04/26671.php

Reply via email to