[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.
University of Hongkong
More information about the Beowulf