Hi Matt,

On Jun 2, 2006, at 8:20 PM, [EMAIL PROTECTED] wrote:

From my browsing of list archives I can only recall seeing advice that hyperthreading
cannot offer more Gromacs performance. For all I know this remains true if you're trying to use MPI to accelerate single calculations on hyperthreaded processors. However, I have discovered that it may be possible to increase throughput by running two independent jobs on a recent hyperthreaded processor, and I don't recall seeing this
mentioned on the list before.

My typical job involves ~790 DNA atoms, a few Na+ ions, and 13000-14000 water molecules. I use Gromacs with the Amber force field ported by the Pande group. My simulation machines are 3.2 Ghz Pentium machines with 2 MB of cache (Pentium 640, I think) and 1 GB
RAM.

Typical performance for one of these systems running on an unloaded machine is 64.3 hours/ns, 1.4 gflop/s. I accidentally started some pairs of simulations on some of these machines this week and discovered that the performance of each job was *not* cut in half. With two systems running simultaneously, each shows performance of about 98.8 hours/ns, 908 mflop/s. Running two of these jobs on each machine thus appears to
increase throughput by about 30%.

If like me you run many independent calculations, throughput is more important than turnaround, and you have hyperthreaded machines but have not previously tried to take advantage of them, it may be worth testing. I suppose this issue may have been covered on the mailing list before, but all I ever remember seeing were advisements that hyperthreaded processors won't help performance, or even advice to disable hyperthreading in the BIOS. A brief web search indicates that some [EMAIL PROTECTED] participants have discovered comparable throughput advantages to running two client
instances on hyperthreaded processors.

That's certainly good news. I remember trying this when hyperthreading first appeared, but the early implementations didn't make any throughput difference whatsoever.

However, it might still lead to significant problems with dual-CPU systems, where each CPU has hyperthreading enabled. In _theory_ the Linux scheduler should be able to tell logical from physical CPUs, but the last time I tried it (which, again, was over a year ago) it lead to severe load balancing problems.

Cheers,

Erik


_______________________________________________
gmx-users mailing list    gmx-users@gromacs.org
http://www.gromacs.org/mailman/listinfo/gmx-users
Please don't post (un)subscribe requests to the list. Use the www interface or send it to [EMAIL PROTECTED]
Can't post? Read http://www.gromacs.org/mailing_lists/users.php

Reply via email to