[Carpet] component geometry for multi-core processor chips

Steve White steve.white at aei.mpg.de
Mon Aug 28 08:52:15 CEST 2006


Erik,

Further thoughts on this.

First, I think the 
	ppn=n
syntax requests a certain number of processes on each node.

Second, it would be better not to ask the specific batch system (PBS) about 
which processes are running on which nodes.  I would prefer a means that
is independent of batch system.

How about:

	if this is not the MPI root process
		* send to MPI root process the result of
			system( "uname -n" )
	otherwise
		* make a hash of 
			node_name, mpi_rank
		* wait for message from each other process
		* for each message,
			add to the hash the the message body with mpi_rank
		* add to the hash the present node name with mpi_rank = 0

Now you have an easy association of nodes to MPI rank numbers.

Cheers!


On 22.08.06, Erik Schnetter wrote:
> On Aug 16, 2006, at 07:23:16, Steve White wrote:
> 
> >Erik & al.
> >
> >Does Carpet do anything regarding clumping together geometrically
> >processes that are running on the same node?
> >
> >If 8 processes are running per node, it makes a very big performance
> >difference if the 8 on each node are arranged in a cube, because much
> >less network communication need be done.
> >
> >We already have low cost clusters with dual-core dual-chip  
> >motherboards,
> >which would benefit, and the quad core chips are soon to come.
> >
> >Any ideas on this?
> 
> Carpet splits the domain onto the processors approximately in the  
> following way: First the domain is cut in the z direction, the  
> resulting slabs are cut in their y directions, and the resulting  
> bricks are cut in the x direction.  These regions are the numbered  
> according to that hierarchy.  This leads to a numbering scheme that  
> is very similar to how Fortran lays out a 3D array in memory.
> 
> In particular, there are no 2x2x2 blocks that would be arranged in a  
> cube.
> 
> A question comes to my mind: How can one find out from PBS and from  
> MPI which processors are "close" to each other?  You seem to assume  
> that the processors within a node are numbered sequentially.  That  
> does not seem to be so on Supermike, which enumerates first the first  
> processor on each node, then the second.  That seems to be a PBS  
> property, and I don't know whether MPI is clever enough to rearrange  
> the processors.
> 
> In order to experiment with this, I would first play with manual  
> processor decompositions and measure the speed differences.
> 
> -erik
> 
> -- 
> Erik Schnetter <schnetter at cct.lsu.edu>
> 
> My email is as private as my paper mail.  I therefore support encrypting
> and signing email messages.  Get my PGP key from www.keyserver.net.
> 
> 
> 



> _______________________________________________
> developers mailing list
> developers at lists.carpetcode.org
> http://lists.carpetcode.org/listinfo/developers


-- 
Steve White : Programmer
Max-Planck-Institut für Gravitationsphysik      Albert-Einstein-Institut
Am Mühlenberg 1, D-14476 Golm, Germany                  +49-331-567-7625




More information about the developers mailing list