[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

>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.
Li, Bo

More information about the Beowulf mailing list