itaps-parallel removal of

Vitus Leung vjleung at sandia.gov
Tue Mar 18 08:46:05 CDT 2008


On Tue, 2008-03-18 at 00:48 -0600, Carl Ollivier-Gooch wrote:

> In this context, I could argue that the parallel read will have to do
> some outside-iMeshP communication so that the reading proc can have all
> the part handles.

In general, this is what I had concluded.

> Or I could argue (and this is the alternative I prefer) that it's
> possible to have part handles that:
> 
> a) are globally unique;
> b) allow identification of what process they live on;
> c) can be computed knowing only process rank and local part number; and
> d) still be be universally distinguished from pointers.
> 
> So here we go:
> 
> We know what the number of processors is (MPI communicator size or
> equivalent).  So we can easily compute the number of bits required to
> store the process rank.  Call this m.
> 
> This leaves n = 30-m bits for the number of parts per process.  That 30
> is deliberate.
> 
> Then the part handle can be an int that looks like this:
> 
> Bit
> 31 30 29 28 ... 31-m n n-1 n-2 ... 3 2 1 0
> 1  [process rank   ] [part # in process] 1
> 
> That 1 at the end is there because no pointer to a struct ever ends in
> anything but 00.  The 1 at the beginning disambiguates this from integer
> handles (which will surely be positive).  And having "only" 30 bits left
> over for rank and part # in process isn't that much of a restriction.
> Yes, I can imagine a million processes or a million parts on one
> process, but not as many as 1000 parts on each of a million processes.
> And of course 64 bit handles make questions of size moot.
> 
> Given this approach, one can compute (from the number of parts on a
> process and the process rank) the handles of all those parts.  This way,
> you "only" have to know the number of parts on a process (which should
> be very compressible data: most will be the same...) instead of all the
> part handles.
> 
> Having said all that, it's possible that this cure is worse than the
> disease.  Any thoughts on that?
> 
> Carl

But this might be better.

Vitus





More information about the itaps-parallel mailing list