[Beowulf] Naive question: mpi-parallel program in multicore CPUs

Kwan Wing Keung hcxckwk at hkucc.hku.hk
Tue Oct 2 04:10:16 PDT 2007

This is perhap a naive question.

10 years before we started using the SP2, but we later changed to Intel 
based linux beowulf in 2001.  In our University there are quite a no. of 
mpi-based parallel programs running in a 178 node dual-Xeon PC cluster 
that was installed 4 years ago.

We are now planning to upgrade our cluster in the coming year.  Very 
likely blade servers with multi-core CPUs will be used.  To port these
mpi-based parallel programs to a multi-core CPU environment, someone 
suggested that OpenMP should be used, such that the programs can be
converted to a multi-thread version.  Nevertheless it may take time, and 
the users may be reluctant to do so.  Also for some of the installed 
programs, we don't have the source code.

Another user suggested that we may change slightly on the .machinefile 
before executing the "mpirun" command.

Suppose we are going to run a 8 mpi-task program on a quad-core cluster,
then only 2 CPUs should be selected, with the ".machinefile" looks like
"cpu0 cpu1 cpu0 cpu1 cpu0 cpu1 cpu0 cpu1" created, i.e. 4 mpi-tasks will 
be spooled to CPU0 and 4 mpi-tasks will be spooled to CPU1.  But the REAL
question will be:
    Will EACH mpi-task be executed on ONE single core?
    If not, then could there be any Linux utility program to help?

I asked this question to one of the potential vendor, and the sales 
suddenly suggested "Well, you can buy VMWARE to create virtual CPUs to do 
so."  Do you think it is logical?

Thanks in advance.

W.K. Kwan
Computer Centre
University of Hongkong

More information about the Beowulf mailing list