[Beowulf] Naive question: mpi-parallel program in multicore CPUs
Li at mx2.buaa.edu.cn
Li at mx2.buaa.edu.cn
Tue Oct 2 07:40:57 PDT 2007
Hello,
----------------------------------------------------
>
>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?
>
Generally, each mpi-task should be executed on a single core, and if not, you can run 4 mpid on a single node.
>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?
>
It was just a kidding.
I suggest to use openmp on a single node and mpi among nodes for performance issues. And you may need to find a good mpi for your purpose.
Regards,
Li, Bo
More information about the Beowulf
mailing list