Mon Nov 23 16:03:13 EST 1992
From owner-mpi-ptop@CS.UTK.EDU  Wed Nov 25 13:39:28 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA21716; Wed, 25 Nov 92 13:39:28 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA09797; Wed, 25 Nov 92 13:14:37 -0500
Received: from relay2.UU.NET by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA09791; Wed, 25 Nov 92 13:14:32 -0500
Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP 
	(5.61/UUNET-internet-primary) id AA22187; Wed, 25 Nov 92 13:14:33 -0500
Received: from kailand.UUCP by uunet.uu.net with UUCP/RMAIL
	(queueing-rmail) id 131337.3987; Wed, 25 Nov 1992 13:13:37 EST
Received: from brisk.kai.com (brisk) by kailand.kai.com via SMTP
  (5.65d-92031301) id AA12688; Wed, 25 Nov 1992 12:06:04 -0600
Received: by brisk.kai.com
  (920330.SGI-92101201) id AA08958; Wed, 25 Nov 92 12:06:02 -0600
Date: Wed, 25 Nov 92 12:06:02 -0600
Message-Id: <9211251806.AA08958@brisk.kai.com>
To: mpi-pt2pt@cs.utk.edu, mpi-collcomm@cs.utk.edu, mpi-formal@cs.utk.edu,
        mpi-ptop@cs.utk.edu
Reply-To: William.Gropp's.message.of.Wed@kai.com,
        25 Nov 92 09:28:43 CST <9211251528.AA12985@godzilla.mcs.anl.gov>
Subject: Nonblocking functions and handlers.
From: Steven Ericsson Zenith <zenith@kai.com>
Sender: zenith@kai.com
Organization: 	Kuck and Associates, Inc.
		1906 Fox Drive, Champaign IL USA 61820-7334,
		voice 217-356-2288, fax 217-356-5199


Bill Gropp writes:

    (Warning: radical position that I'm not sure even I hold follows:)
    An interesting issue is whether we should defer all nonblocking communications
    to a thread-based execution model.

I'm not so sure this is a radical position Bill since even
nonsynchronized communication will need to be defined formally this way.
Nonsynchronized communication is in effect creating a parallel process
that has the job of passing the communication on. Al Geist earlier asked
the question wheather buffers used by nonsynchronized communication
should be accessible after the communication has started - the answer
should be - no, unless by some explicit mechanism that formally amounts
to a communication with the process mentioned above.  Any nonexplicit
interaction (e.g. a write to the buffer) would have to be specified as
formally equivalent to an explicit interaction.

Also, there is quite a range of terminology in use.  One common error:
"Asynchronous" and "synchronous" has quite a particular meaning in EE
and when CS people use the terms in relation to message passing they
usually mean NONSYNCHRONIZED and SYNCHRONIZED. Also BLOCKING =
SYNCHRONIZED. Let us begin a glossary that defines the terms we use - if
no-one else volunteers I'll take this to be the responsibility of the
Formal Specification Subcommittee. So I'm looking for volunteers from
that subcommittee.

Steven

From owner-mpi-ptop@CS.UTK.EDU  Wed Dec  2 15:08:45 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA12207; Wed, 2 Dec 92 15:08:45 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA24266; Wed, 2 Dec 92 14:56:52 -0500
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA24261; Wed, 2 Dec 92 14:56:46 -0500
Received: from b125 (b125.super.org) by super.super.org (4.1/SMI-4.1)
	id AA00585; Wed, 2 Dec 92 14:56:38 EST
Received: by b125 (4.1/SMI-4.1)
	id AA02506; Wed, 2 Dec 92 14:56:37 EST
Date: Wed, 2 Dec 92 14:56:37 EST
From: lederman@b125.super.org (Steve Lederman)
Message-Id: <9212021956.AA02506@b125>
To: mpi-ptop@cs.utk.edu
Subject: hello

Most of the other subcommittees are having discussions and (hopefully
:-) making progress.  As a member of this group, I was wondering if
there has been some discussion I missed?  If not, I feel we have a
number of potential issues to discuss before the next meeting in
Dallas.  Given the holidays coming up, I don't think that leaves much
time.  Does anyone have any topics or suggestion on how we should
proceed?

Steve Huss-Lederman
From owner-mpi-ptop@CS.UTK.EDU  Thu Dec  3 02:38:33 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA25221; Thu, 3 Dec 92 02:38:33 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA05999; Thu, 3 Dec 92 02:10:42 -0500
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA05995; Thu, 3 Dec 92 02:10:39 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA06896
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 3 Dec 1992 08:10:10 +0100
Received: by f1neuman.gmd.de id AA14748; Thu, 3 Dec 1992 08:09:55 +0100
Date: Thu, 3 Dec 1992 08:09:55 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9212030709.AA14748@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Getting started


I agree with Steve Huss-Lederman that we have to get started immediately
in order to get something done before our next meeting. I'm sorry that
as the chairman of this group I didn't take the initiative earlier,
but after my return from SUPERCOMPUTING 92 there were a lot of things
to be done first. 

How should we get things going most effectively? At the moment I don't
have any input from others. So, the only document I have is my own
proposal which I distributed at the Minneapolis meeting. In that
paper I tried to integrate the concept of virtual topologies (Tori and
more general graphs) into the current MPI1 proposal. I suggest that
we take this paper as a starting point of our discussions.

>From the (hopefully starting) e-mail avalanche we can then distill the
open questions and controversial points for discussion at the January
meeting.

I assume that there are some people in our group who were not present
at the Minneapolis meeting, so they do not have the paper I mentioned. 
Therefore, with another mail I send you the text again as a PostScript
file. I processed it first using "compress" and then "uuencode". Before
printing, you thus have to do the reverse operations. If you have any
problems, please let me know.

Rolf Hempel
From owner-mpi-ptop@CS.UTK.EDU  Thu Dec  3 02:39:47 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA25246; Thu, 3 Dec 92 02:39:47 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA06040; Thu, 3 Dec 92 02:14:55 -0500
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA06036; Thu, 3 Dec 92 02:14:41 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA06999
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 3 Dec 1992 08:14:11 +0100
Received: by f1neuman.gmd.de id AA15778; Thu, 3 Dec 1992 08:13:54 +0100
Date: Thu, 3 Dec 1992 08:13:54 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9212030713.AA15778@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: proposal
Cc: gmap10@f1neuman.gmd.de


begin 664 virt.ps.Z
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
8%.J.\X2V@$(AG]!0(!I$%"0$?8$G0*D"
`
end
From owner-mpi-ptop@CS.UTK.EDU  Mon Dec  7 15:09:32 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA05769; Mon, 7 Dec 92 15:09:32 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA21151; Mon, 7 Dec 92 14:43:08 -0500
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA21147; Mon, 7 Dec 92 14:43:05 -0500
Received: from b125 (b125.super.org) by super.super.org (4.1/SMI-4.1)
	id AA12334; Mon, 7 Dec 92 14:43:03 EST
Received: by b125 (4.1/SMI-4.1)
	id AA03830; Mon, 7 Dec 92 14:43:02 EST
Date: Mon, 7 Dec 92 14:43:02 EST
From: lederman@b125.super.org (Steve Lederman)
Message-Id: <9212071943.AA03830@b125>
To: mpi-ptop@cs.utk.edu
Subject: thoghts on Rolf proposal

I am sorry to have started up this discussion and then not followed up
quickly but I have been fighting a cold since late last week.  (I
think I may actually be winning :-)

I have read Rolf's Virtual Topologies proposal and think it is a good
place to start our discussions.  Before I go into the details, I
thought I would bring up a few "global" issues that came to my mind
during my reading:

1) I think this subgroup is likely to get some resistance to inclusion of
topologies into MPI1.  I think there are some good points made for their
inclusion but anything to strengthen that position would be good.

2) The document has two classes of topologies: general graphs and tori
(including meshes and rings).  My first question is how useful are the
general graphs in practicality.  I must show my ignorance on this and
say I have never used such a capability.  It appears that it could be
very useful but it would also appear that it could significantly
increase the complexity of implementing the package.  Can anyone give
some information here?  The second question regards what topologies
should be given special treatment.  Tori are clearly important.  What
about hypercubes (Intel i860, NCUBE), trees (CM5) and even less common
ones like a ring of rings on the KSR.  I don't think (though I don't
have the proof) that all these structures can, in general, be embedded
contention free in a torus.  And even if they could, if they are
common enough, they would be a nice convenience.  The general question
is what special topologies should this standard support and what is
the basis for the decision.  More is nice but also more complex.

3) An argument is made for including topologies at the start since the
onion-skin model does not hold because of the calls needed.  I think
this group should define what information and calls are needed in MPI1
to support the type of topology system being proposed.  I think this
will help define the complexity of the system.  Also, even if the full
topology system is not adopted for MPI1, I think a good case can be
made for including the necessary calls as is being done for collective
communications. 

4) A small point: I have found all the references except the two to
PARMACS.  Are these available electronically?

These are just some starting thoughts.  What do you all think?

Steve
From owner-mpi-ptop@CS.UTK.EDU  Tue Dec  8 15:42:15 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA27195; Tue, 8 Dec 92 15:42:15 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA23925; Tue, 8 Dec 92 15:38:55 -0500
Received: from sampson.ccsf.caltech.edu by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA23921; Tue, 8 Dec 92 15:38:53 -0500
Received: from elephant by sampson.ccsf.caltech.edu with SMTP id AA27482
  (5.65c/IDA-1.4.4 for mpi-ptop@cs.utk.edu); Tue, 8 Dec 1992 12:38:41 -0800
Received: from lion.parasoft by elephant (4.1/SMI-4.1)
	id AA16279; Tue, 8 Dec 92 12:38:12 PST
Received: by lion.parasoft (4.1/SMI-4.1)
	id AA00574; Tue, 8 Dec 92 12:38:16 PST
Date: Tue, 8 Dec 92 12:38:16 PST
From: jwf@lion.Parasoft.COM (Jon Flower)
Message-Id: <9212082038.AA00574@lion.parasoft>
To: mpi-ptop@cs.utk.edu
Subject: Thoughts.....


Just a few random thoughts inspired by Steve Lederman's mail...

I agree that a general version of a "graph" topology
might pose too high constraints on an MPI1 implementation. HOWEVER,
this appears to be a problem that research groups have spent
and are spending quite a lot of time on. Maybe we could get
them to volunteer to contribute some code......????

I have also never used a general graph in my code, but quite a
few Express users have asked us for n-ary trees. I think this
would suit both the CM5 and KSR structures quite reasonably.

I believe that a hypercube is a torus with only two nodes
in each dimension, so it IS a subset of the tori proposed
by Rolf.

I would like to see something to deal with the periodicity
(or otherwise) of boundary conditions. In particular I
think you want to distinguih between a mesh and a periodic
two dimensional grid. Many applications need to distinguish
these cases. I would suggest that the function that returns
a processor number be allowed to return a "magic" processor
number that means "there's noone there". If at all possible,
however, I would like this to be a different number from
the error condition because I like to see us able to pass
it to the MPI1 communication primitives and have them
know how to deal with it. If this is possible a lot of
messy "if(this), else(that)" logic can be left out of
user code. 

	Jon Flower
From owner-mpi-ptop@CS.UTK.EDU  Wed Dec  9 08:39:32 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA10629; Wed, 9 Dec 92 08:39:32 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA10654; Wed, 9 Dec 92 08:30:57 -0500
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA10650; Wed, 9 Dec 92 08:30:53 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA28376
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 9 Dec 1992 14:30:25 +0100
Received: by f1neuman.gmd.de id AA15353; Wed, 9 Dec 1992 14:30:01 +0100
Date: Wed, 9 Dec 1992 14:30:01 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9212091330.AA15353@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Thoughts on Thoughts...
Cc: gmap10@f1neuman.gmd.de



I would like to comment on the notes of Steve Lederman and Jon Flower.

1. There was the question of what the graph mapping is useful for.
   I have two answers to this:

   First, in the PARMACS project we had requests from users (mainly in
   the CFD field) who had very complicated geometrical domains on which
   they solve their partial differential equations. The parallelization
   of such (large) codes usually leads to so-called block-structured
   domains, in which each block is logically rectangular, but the
   blocks may be connected in any way. This cannot be embedded into
   grid or torus structures. On the other hand, the communication is
   mainly local (between neighboring blocks) also in this case, so a
   good mapping of the process graph on the hardware helps a lot in
   minimizing the overall communication.
  
   We have implemented the graph mapping on a number of architectures.
   I did it myself for hypercubes, and the result is near-optimal in
   most cases. I agree with Jon that there is a lot of theoretical
   material on mapping strategies. But even if at the moment it seems
   to be too difficult for some weird architecture, it is still an
   advantage if the user code contains the logical topology information.
   If a good mapping cannot be constructed, an implementation may opt
   to use just random mapping instead. After all, that is what would
   happen if the user did not specify a topology.

   Second, there are many different topologies that users might come
   up with, and you cannot have special functions for all of them.
   The choice I made in my proposal was to treat the case of n-dim
   tori separately, but to subsume all the rest in the general graph
   structure. This makes it possible to specify any topology, and it
   does not impose all the overhead of the graph definition in the
   special case of simple tori.

   I would recommend that if anybody finds it useful to have special
   functions for other topologies, that he then make a proposal
   how this should look like, and how it could be integrated into
   MPI.

2. Jon raised the issue of handling periodicity in a grid/torus
   topology. I think this is a good idea. The MPI_TORUS function
   should in this case be renamed MPI_GRID, and an additional
   argument (vector) could be used to specify periodicity. Do other
   people agree? Any proposal for concrete syntax? 
   
Rolf
From owner-mpi-ptop@CS.UTK.EDU  Wed Dec  9 14:10:01 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA18505; Wed, 9 Dec 92 14:10:01 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA17251; Wed, 9 Dec 92 13:49:23 -0500
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA17247; Wed, 9 Dec 92 13:49:18 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA27235; Wed, 9 Dec 92 18:49:06 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA01554; Wed, 9 Dec 92 11:48:10 MST
Date: Wed, 9 Dec 92 11:48:10 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9212091848.AA01554@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: ...and yet more thoughts...


I would like to comment on Rolf's comments and generally toss in my two cents 
worth...  

1.  I agree that grids and tori should be handled differently.  As a user, 
    I would like to see some sort of error message (or at least some condition 
    I can detect and print my own message) any time I try to communicate with 
    a non-existent logical process.  Any time an MPI routine can inform me 
    that I'm doing something stupid, I'll avoid hours of debugging.  


2.  It is possible that a user may want periodicity in some dimensions and 
    not in others.  An example might be a global weather model.  Often the 
    polar regions are excluded to avoid singularity.  This type of model is 
    periodic in the east-west direction and non-periodic in the north-south 
    and vertical directions.  Maybe it would be best to have a single 
    general-purpose Cartesian mapping routine and specify periodicity 
    in each dimension instead of having two functions (MPI_TORUS and 
    MPI_GRID).  Here's a shot at it:  

NAME
    MPI_CART    Arrange the processes of a process group in a Cartesian grid 
                structure with n dimensions.  

SYNOPSIS
    integer function MPI_CART (gid, ndim, dims, boundaries)
    integer gid
    integer ndim
    integer dims(*)
    integer boundaries(*)

INPUT ARGUMENTS
    gid         the ID number of the process group to be structured.
    ndim        the number of dimensions of the grid.
    dims        the number of process per coordinate direction.
    boundaries  the boundary characteristics in each coordinate direction.

DESCRIPTION
    The processes of the group with ID number gid are arranged in a grid 
    structure.  By assigning neighboring positions in the logical process grid 
    to neighboring processors in the hardware the system can optimize the 
    locality of inter-process communications.  The number of dimensions is 
    specified by ndim.  The number of logical processes in each coordinate 
    direction is specified by array dims.  Array boundaries specifies the 
    periodicity in each coordinate dimension.  If boundaries(i) is set to 
    MPI_PER then dimension i is treated as periodic.  If boundaries(i) is set 
    to MPI_NPER then dimension i is treated as non-periodic.  If all 
    bounaries(i) are set to MPI_PER, then the topology is a torus.  

RETURN VALUE
    If the calling process is assigned a position in the grid, MPI_CART 
    returns the total number of processes in the grid.  If the calling process 
    is not in the grid, the return value is set to 0.  A value of -1 is 
    returned if an error occurs.  

I'm not sure that the constants MPI_PER and MPI_NPER (or MPI_CART) have the 
best names.  Any ideas?  


3.  In Rolf's parallel Poisson solver example (p. 5), array dims(*) is set up 
    explicitly.  It would be nice to have an automatic way of distributing 
    processes among dimensions so recompilation would not be required to run 
    on different numbers of processors.  An example of this kind of utility is 
    Parasoft's exgridsplit() routine (KXGDSP()).  I'd like to propose a 
    similar routine for MPI-- basically exgridsplit() with a bit more 
    flexibility.  This routine should be fairly easy to port since there is 
    no machine-dependent stuff inside.  Here's a proposal:  

NAME
    MPI_MAKDIM  Divide the processes of a process group among n dimensions of 
                a Cartesian grid.  

SYNOPSIS
    integer function MPI_MAKDIM (gid, ndim, dims)
    integer gid
    integer ndim
    integer dims(*)

INPUT ARGUMENTS
    gid         the ID number of the process group to be structured.
    ndim        the number of dimensions of the grid.
    dims        the number of process desired per coordinate direction.

OUTPUT ARGUMENTS
    dims        the number of process per coordinate direction.

DESCRIPTION
    The processes of the group with ID number gid are divided as evenly as 
    possible among ndim dimensions, subject to the constraint that all 
    processes in the group are used.  The caller may further constrain the 
    operation of this routine by specifying elements of array dims.  If 
    dims(i) is set to a positive number, the routine will fix the number of 
    process in coordinate direction i to dims(i).  Processes will then be 
    distributed among dimensions where dims(i) is set to 0, subject to the 
    above constraints.  Note that an error will occur if dims(i) is positive 
    and does not evenly divide the number of processes in the group.  Negative 
    input values of dims(i) will also cause an error.  All elements of dims(*) 
    must be set to 0 for completely automatic process distribution.  
    When the function returns, dims(i) will be set to the number of processes 
    in coordinate direction i.  For dims(i) not set by the user, dims(i) will 
    be ordered (MAXIMUM, ..., MINIMUM).  Array dim(*) is suitable for use as 
    input to routine MPI_CART().  

RETURN VALUE
    If the routine completes without error, the return value is set to 0.  A 
    value of -1 is returned if an error occurs.  



EXAMPLES

        integer ndim
        parameter (ndim=3)
        integer gid, dims(ndim), ret, dummy, boundaries(ndim)
C    Set process grid size
        do 10 i=1,ndim
            dims(i) = 0
10          continue
        gid = ALL
        ret = MPI_MAKDIM(gid, ndim, dims)
C    Should really do error control here...
        if (ret .ne. 0) stop
C    Set up Cartesian process grid for weather model example above.  
C    Dimensions 1, 2, and 3 are East-West, North-South, and vertical.  
        boundaries(1) = MPI_PER
        boundaries(2) = MPI_NPER
        boundaries(3) = MPI_NPER
        ret = MPI_CART(gid, ndim, dims, boundaries)
C    (etc.)


Suppose numprocs is the number of processes in group gid.  Here are some 
examples of how MPI_MAKDIM() would behave in the above example:  

numprocs = 27
dims(1) = 3
dims(2) = 3
dims(3) = 3

numprocs = 33
dims(1) = 11
dims(2) = 3
dims(3) = 1

numprocs = 512
dims(1) = 8
dims(2) = 8
dims(3) = 8

numprocs = 1024
dims(1) = 16
dims(2) = 8
dims(3) = 8

If dims(*) were set as follows before calling MPI_MAKDIM():  

        dims(1) = 0
        dims(2) = 0
C    Restrict number of processes in "vertical" dimension to 3
        dims(3) = 3

The same values of numprocs would produce:  

numprocs = 27
dims(1) = 3
dims(2) = 3
dims(3) = 3

numprocs = 33
dims(1) = 11
dims(2) = 1
dims(3) = 3

numprocs = 512
ERROR (512 not evenly divisible by dims(3))

numprocs = 1024
ERROR (512 not evenly divisible by dims(3))

Any comments?  Is the extra flexibility of allowing user-specified constraints 
on dims(*) worth including?  Is MPI_MAKDIM worth having at all?  


    Tom Henderson

From owner-mpi-ptop@CS.UTK.EDU  Wed Dec  9 15:39:49 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA20328; Wed, 9 Dec 92 15:39:49 -0500
Received:  by CS.UTK.EDU (5.61++/2.8s-UTK)
	id AA20006; Wed, 9 Dec 92 15:32:23 -0500
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA20000; Wed, 9 Dec 92 15:32:19 -0500
Received: from b125 (b125.super.org) by super.super.org (4.1/SMI-4.1)
	id AA07951; Wed, 9 Dec 92 15:32:17 EST
Received: by b125 (4.1/SMI-4.1)
	id AA04444; Wed, 9 Dec 92 15:32:16 EST
Date: Wed, 9 Dec 92 15:32:16 EST
From: lederman@b125.super.org (Steve Lederman)
Message-Id: <9212092032.AA04444@b125>
To: mpi-ptop@cs.utk.edu
Subject: additional thoughts

A few thoughts:

I have thought about the definition of the torus given by Rolf and I
now agree that a hypercube can be embedded into it.  I was thinking of
a torus in the less general and more geometric sense.  Given the fact
that you can embed regular graphs into hypercubes this seems like a
general enough topology.  Some of the latest discussion seems centered
on whether or not it is "too general."  As Rolf points out, a grid is
a subset of a torus where you ignore the extra link.  If you had all
the hypercube connections, then this would not be a major issue.
However, on many real systems you cannot embed the general torus or
hypercube so that each logical link gets a contention free physical
link.  In this case the algorithm for placing the logical processes on
the physical nodes needs to decide which links will get one hop
contention free physical links and which will get physical links that
would require multiple hops and potential contention.  Thus, being
able to specify important topologies that are simplier than the tori
would allow (but not require) the mapping algorithm not to worry about
the links that will not be used.  Given this idea, I think that grids
are a useful concept in addition to tori since they are used with some
frequency.  Do people agree with this concept?  Are there other
geometries that should be given special recognition?

I still have some reservations about general graphs because they may
scare some people from the complexity point of view.  However, given
Rolf's argument that a random mapping can always be used then I think
it is good to include this functionality.  It allows for any easy way
out for those vendors that wish to do that and still allows vendors to
write more intelligent mappers if they can.  It also allows for future
research to come up with better heuristics that could be incorporated.
Along this line of thinking, would it be useful to include weights in
MPI_GRAPH?  They can always be ignored but might be useful for some
mapping algorithms and a new algorithm might be able to effectively
use them.  A value of zero would be given the default weight of one.
The negative I see to this is that it takes up storage and adds some
complexity to the user.  I think it might be worth it if others feel
that it is a feature that users would like and might be used in some
mapping algorithms.  What do you think?

I think it is worth while to support periodic boundary conditions.

I don't have a strong opinion yet about the MPI_MAKDIM routine.  It
seems simple and can be provided to all vendors for inclusion so my
inclination is to include it if enough users feel it would help.

Steve
From owner-mpi-ptop@CS.UTK.EDU  Mon Dec 21 03:27:57 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA07780; Mon, 21 Dec 92 03:27:57 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA21765; Mon, 21 Dec 92 03:27:35 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 21 Dec 1992 08:27:34 GMT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA21757; Mon, 21 Dec 92 03:27:30 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA11139
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 21 Dec 1992 09:26:53 +0100
Received: by f1neuman.gmd.de id AA11153; Mon, 21 Dec 1992 09:26:23 +0100
Date: Mon, 21 Dec 1992 09:26:23 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9212210826.AA11153@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: draft meeting agenda
Cc: gmap10@f1neuman.gmd.de


Based on the email I saw so far on MPI_PTOP, I gathered the following
points for discussion at our subcommittee meeting in Dallas. I tried to
order the material in some logical way, but for the agenda of our 
meeting we can of course rearrange the points as you like.


 1. Do we want to add functions for grids as opposed to tori?

 2. How to handle periodicity information? Is the specification of
    periodicity per coordinate direction a good idea? (suggestions for
    syntax?) Is Tom's proposal for a function MPI_CART okay with
    everybody?

 3. What about including functions for handling general graphs?

    - is the inclusion of a more general topology than tori or grids
      a good idea?

    - is the difficulty of implementation a problem, or does it help
      to allow a random mapping as a last resort?

    - is the proposed functionality sufficient? Does anybody feel we
      should include more user-supplied info (computational weights of
      nodes, volume of data traffic along edges)?

 4. Should we introduce special functions for hypercubes? As Jon pointed
    out, they could be expressed as tori. Is this sufficient?

 5. What about trees?

 6. What about more esoteric topologies, like rings of rings?
    Are there any other structures people would like to see included?

 7. What about Tom's function MPI_MAKDIM which automatically distributes
    the processes along the coordinate directions?

 8. Should the pid inquiry functions return some magic number, if there
    is not such a process (as Jon suggested)?

 9. What can we do to convince the general MPI committee that virtual
    topologies are to be included in the standard?

10. Do we propose to include the PTOP functions into MPI-1? If not, how
    can they be based on MPI-1?


Please check whether all the points you would like to discuss at our
meeting are somehow covered by this list. If not, send a note. I will
send out an updated list on January 4th.

I wish everybody on the committee a Merry Christmas
and a Happy New Year!

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Thu Dec 31 22:14:03 1992
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA14662; Thu, 31 Dec 92 22:14:03 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA12437; Thu, 31 Dec 92 22:13:48 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 01 Jan 1993 03:13:47 GMT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from pnlg.pnl.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA12429; Thu, 31 Dec 92 22:13:45 -0500
Received: from carbon.pnl.gov (130.20.65.121) by pnlg.pnl.gov; Thu, 31 Dec 92
 19:09 PST
Received: from fermi.pnl.gov by carbon.pnl.gov (4.1/SMI-4.1) id AA21172; Thu,
 31 Dec 92 19:08:30 PST
Received: by fermi.pnl.gov (4.1/SMI-4.1) id AA11537; Thu, 31 Dec 92 19:08:29 PST
Date: Thu, 31 Dec 92 19:08:29 PST
From: d3g681@fermi.pnl.gov
To: littlefield@fermi.pnl.gov, mpi-collcomm@cs.utk.edu, mpi-ptop@cs.utk.edu
Message-Id: <9301010308.AA11537@fermi.pnl.gov>
X-Envelope-To: mpi-ptop@cs.utk.edu, mpi-collcomm@cs.utk.edu

Posted to mpi-collcomm and mpi-ptop.

I have just taken the archived discussion from netlib@ornl and not
found anything more recent than december 15 (collcomm) and 21 (ptop).
Since I asked for my name to be on the mailing lists and have seen
nothing I assume that things have been quiet since then.

Al Geist's proposal (Dec. 5) for collective communication and the
reasoning behind it seems to provide a resonable starting point for
the discussion of interface and functionality.  I have only a few
minor comments in this regard, but given that the efficiency of
collective communications is critically sensitive to hardware topology
it *must* be essential to more closely integrate the definition of
process groups with topology.  I restrict my comments here to
this subject.

For example, on the Touchstone Delta efficient sub-group global-ops
would suggest that process groups map as best possible to square
sub-meshes, on the iPSC as sub-cubes, on the KSR as sub-rings.
Currently, if one's interest is in performing efficient collective
communication in subgroups, there is no way of performing this mapping
in a portable way.  In this instance one might want something that
functions along these lines

  Create NG process groups with P(0), P(1), ..., P(NG-1) processes in each
  group and assign each process to one of these groups so that collective
  communication within each (and perhaps also between all) subgroup is
  optimized.

Such a mapping might also be readily accomodated as a sub-partitioning
of an existing process group, with the default being ALL.  I could
envisage writing, for instance, a fast-multipole integration using this
functionality.

Comments?

Robert J. Harrison

Mail Stop K1-90                             tel: 509-375-2037
Battelle Pacific Northwest Laboratory       fax: 509-375-6631
P.O. Box 999, Richland WA 99352          E-mail: rj_harrison@pnl.gov





From owner-mpi-ptop@CS.UTK.EDU  Fri Jan  1 11:53:58 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA16856; Fri, 1 Jan 93 11:53:58 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA13825; Fri, 1 Jan 93 11:53:48 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 01 Jan 1993 16:53:47 GMT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from msr.EPM.ORNL.GOV by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA13817; Fri, 1 Jan 93 11:53:46 -0500
Received: by msr.EPM.ORNL.GOV (5.61/1.34)
	id AA04566; Fri, 1 Jan 93 11:53:35 -0500
Date: Fri, 1 Jan 93 11:53:35 -0500
From: geist@msr.EPM.ORNL.GOV (Al Geist)
Message-Id: <9301011653.AA04566@msr.EPM.ORNL.GOV>
To: d3g681@fermi.pnl.gov, littlefield@fermi.pnl.gov, mpi-collcomm@cs.utk.edu,
        mpi-ptop@cs.utk.edu
Subject: Re: groups and topology.


>I have only a few
>minor comments in this regard, but given that the efficiency of
>collective communications is critically sensitive to hardware topology
>it *must* be essential to more closely integrate the definition of
>process groups with topology.

>Currently, if one's interest is in performing efficient collective
>communication in subgroups, there is no way of performing this mapping
>in a portable way.

It is critical that MPI be portable even if efficiency suffers.
Portability is primary reason for having a standard.

Efficiency is important and tightly coupled to the implementation
on a given vendor's machine. My feeling is that our MPI work
should specify the functionality at the user level
and not dictate how MPI is implemented underneath.

Mapping is the key word in integrating topology and groups,
and mapping is not defined (so far) in MPI. It is related to
the spawning and placement of tasks. I can envision some implementations
allowing tasks to migrate to improve load balance and fault tolerance.
This greatly compounds the mapping problem, but I don't think MPI
should exclude such implementations.
The hope would be that vendors would supply MPI implementations
that map process number to node number in a way that their
collective routines would be efficient with default ALL group
AND that the vendor's mapping would be documented so that
a user could specify subgroups that could exploit this same efficiency.

Al Geist
From owner-mpi-ptop@CS.UTK.EDU  Mon Jan  4 06:22:14 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA06430; Mon, 4 Jan 93 06:22:14 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA03279; Mon, 4 Jan 93 06:21:55 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 04 Jan 1993 11:21:50 GMT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA03271; Mon, 4 Jan 93 06:21:47 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA17137
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 4 Jan 1993 12:21:14 +0100
Received: by f1neuman.gmd.de id AA14884; Mon, 4 Jan 1993 12:20:29 +0100
Date: Mon, 4 Jan 1993 12:20:29 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9301041120.AA14884@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Agenda for subcommittee meeting
Cc: gmap10@f1neuman.gmd.de


Dear All,

in my message of Dec. 21st I asked you for comments on the agenda
I proposed for our working group meeting in Dallas. Since I did not
get any response, I guess that you don't disagree too much. I am looking
forward too seeing you all in Dallas.

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Tue Jan 19 06:28:43 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA01032; Tue, 19 Jan 93 06:28:43 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA08439; Tue, 19 Jan 93 06:28:14 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 19 Jan 1993 06:28:13 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA08431; Tue, 19 Jan 93 06:28:08 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA20278
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Tue, 19 Jan 1993 12:27:30 +0100
Received: by f1neuman.gmd.de id AA13250; Tue, 19 Jan 1993 12:26:35 +0100
Date: Tue, 19 Jan 1993 12:26:35 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9301191126.AA13250@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: next activities
Cc: gmap10@f1neuman.gmd.de


Dear All,

this time it's my turn to fight against a bad cold, but I think
I'll make it. We should plan the work our group has to do before the
next Dallas meeting. At the last meeting some points were brought
up in discussions, which we should invest some thoughts into:

1. If more than one topology is assigned to a set of processes (i.e.,
   there are two groups with identical membership, and a topology is
   assigned to both groups), then it might be useful to do the placement
   of processes (mapping) only according to one topology, and then state
   how the logical process coordinates of the second topology should
   correspond to the logical coordinates of the first one. 

   This was the idea of Marc Snir, whereas I favoured the following 
   point of view: for both topologies the assignment of processes
   to positions within the topology should be based on that topology
   alone. As a consequence the mapping can be optimized for both
   topologies. On the other hand, the roles a process plays in both
   topologies are not coordinated.
   
   A third way could be to specify both topologies together, including
   their alignment between each other. It would then be the (nontrivial)
   task of the system to assign the processes in a clever way. Also,
   we would have to think about how the specification in this case
   could look like.

   Any ideas?

2. As it stands now, processes in a group get a number 0 - n-1 following
   an arbitrary scheme. Once a topology is in place, it would be a good
   idea to base the numbering on the topology (e.g. run through a grid
   row/column - wise). I see two alternatives how this can be done:
   a) The numbering is defined only after the topology definition.
      This means that there is no group rank without a topology, which
      contradicts our goal to have a topology as an optional attribute
      to a group.
   b) The group rank of a process changes with the topology definition.
      This might cause some confusion among applications programmers.
      For example, global gather operations before and after the
      topology definition would lead to different ordering of data in
      the buffer. On the other hand, there seems to be no conflict with
      other MPI features.
   What do you think?

3. Should there be any special topology definition / look up functions
   for trees? How should they look like? Since Jon brought this up
   at our meeting, I'm most confident to get some input from him in
   this matter. Does anybody have brilliant suggestions?

4. Bill Gropp claimed that topology mapping could be done in a portable
   way if there are some inquiry functions about the hardware topology.
   Are we able to define a set of such inquiry functions which meet
   the following requirements:
   a) they must provide all information necessary for a portable
      mapping tool for arbitrary application topologies.
   b) they must be applicable to any weird hardware interconnect
      topology.
   Frankly, I have difficulties with this, but perhaps somebody has
   a good idea.

5. - n. Did I forget anything?

I will work the results of the last meeting into the document on
virtual topologies until end of next week and send it out to everybody.

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Tue Jan 19 13:53:39 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA22518; Tue, 19 Jan 93 13:53:39 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA27886; Tue, 19 Jan 93 13:53:14 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 19 Jan 1993 13:53:13 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA27878; Tue, 19 Jan 93 13:53:11 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA26554; Tue, 19 Jan 93 18:53:07 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA19368; Tue, 19 Jan 93 11:52:05 MST
Date: Tue, 19 Jan 93 11:52:05 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9301191852.AA19368@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: Re: next activities



> 1. If more than one topology is assigned to a set of processes (i.e.,
>    there are two groups with identical membership, and a topology is
>    assigned to both groups), then it might be useful to do the placement
>    of processes (mapping) only according to one topology, and then state
>    how the logical process coordinates of the second topology should
>    correspond to the logical coordinates of the first one. 
> 
>    This was the idea of Marc Snir, whereas I favoured the following 
>    point of view: for both topologies the assignment of processes
>    to positions within the topology should be based on that topology
>    alone. As a consequence the mapping can be optimized for both
>    topologies. On the other hand, the roles a process plays in both
>    topologies are not coordinated.
>    
>    A third way could be to specify both topologies together, including
>    their alignment between each other. It would then be the (nontrivial)
>    task of the system to assign the processes in a clever way. Also,
>    we would have to think about how the specification in this case
>    could look like.
> 
>    Any ideas?

I'm kind of leaning towards the second option, though I might be swayed if I 
could see an example of code that could take advantage of Marc's idea.  Any 
good examples out there?  

At the end of the last meeting, a suggestion was made that group creation and 
topology creation be married.  A group would always have a topology associated 
with it at creation.  A default topology of "linear" or "ring" might be 
supported.  If this idea is adopted, then it seems to me that each group would 
have one and only one topology.  There is no reason that multiple groups could 
not have the same membership.  Each of these groups could have different 
topologies.  I think this ends up being the second idea.  

> 2. As it stands now, processes in a group get a number 0 - n-1 following
>    an arbitrary scheme. Once a topology is in place, it would be a good
>    idea to base the numbering on the topology (e.g. run through a grid
>    row/column - wise). I see two alternatives how this can be done:
>    a) The numbering is defined only after the topology definition.
>       This means that there is no group rank without a topology, which
>       contradicts our goal to have a topology as an optional attribute
>       to a group.
>    b) The group rank of a process changes with the topology definition.
>       This might cause some confusion among applications programmers.
>       For example, global gather operations before and after the
>       topology definition would lead to different ordering of data in
>       the buffer. On the other hand, there seems to be no conflict with
>       other MPI features.
>    What do you think?

I would prefer to see topology inquiry routines that return the "pid" of a 
process specified by logical coordinates.  Inverse routines would also have 
to be provided.  I think that this is safer than either "a" or "b".  

If topology and group creation are married, then option "a" is automatic.  
(Actually, this is a good argument for combining group and topology.)  

I don't have any brilliant (or even reasonably sensible) ideas about items 
3 or 4 yet.  

> ...
> 
> Rolf
> 

Hope you get over your cold soon!

Tom Henderson
hender@fsl.noaa.gov

From owner-mpi-ptop@CS.UTK.EDU  Wed Jan 20 05:13:45 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA11399; Wed, 20 Jan 93 05:13:45 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA02944; Wed, 20 Jan 93 05:13:23 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 20 Jan 1993 05:13:22 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA02935; Wed, 20 Jan 93 05:13:17 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA16345
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 20 Jan 1993 11:12:40 +0100
Received: by f1neuman.gmd.de id AA16629; Wed, 20 Jan 1993 11:11:44 +0100
Date: Wed, 20 Jan 1993 11:11:44 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9301201011.AA16629@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: topologies and groups
Cc: gmap10@f1neuman.gmd.de


I'm not sure whether we really want to have a default topology. I see
some problems arising from that.

1. In some applications it might be completely unimportant how the
   processes are mapped. A default topology then adds an unnecessary
   overhead in group creation. An arbitrary numbering would be much
   better in this case.

2. MPI functions for group creation and topology assignment cannot be
   separated. Otherwise the system does not know whether it should
   apply the default topology (another topology could be defined later
   by the user). I think that especially those people who are not
   completely convinced of the value of the topology stuff would not
   like to see those two concepts integrated into the same functions.

I favour the following strategy:

A group is created without topology (how this is done is a separate
issue which we have to discuss with the CollComm people). An arbitrary
numbering is chosen by the system. Collective communications at this
point follows the arbitrary numbering. 

A topology definition call is a synchronization point for all processes
of the group. The numbering of processes is changed according to the
topology. Consistency of numbering is guaranteed because of the 
synchronization. If applications people want to avoid the different
numbering schemes to be used at different phases of their application,
they just have to apply the topology before they do any collective
communication. Any opinions?

There will be some functions which combine the creation of groups
and topologies, but they can be optional. An example for this is the
subgroup creation along coordinate lines in a cartesian topology.
We have to talk to the CollComm people about those functions. Does
anybody have a good idea for another topology based process group
creation function?

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Wed Jan 20 09:56:37 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA10131; Wed, 20 Jan 93 09:56:37 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA19145; Wed, 20 Jan 93 09:55:55 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 20 Jan 1993 09:55:54 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA19137; Wed, 20 Jan 93 09:55:52 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA28601; Wed, 20 Jan 93 14:55:47 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA21143; Wed, 20 Jan 93 07:54:46 MST
Date: Wed, 20 Jan 93 07:54:46 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9301201454.AA21143@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: Re:  topologies and groups


> ...
> 2. MPI functions for group creation and topology assignment cannot be
>    separated. Otherwise the system does not know whether it should
>    apply the default topology (another topology could be defined later
>    by the user). I think that especially those people who are not
>    completely convinced of the value of the topology stuff would not
>    like to see those two concepts integrated into the same functions.
> ...

I'll buy the second point.  People who don't need topologies (or think they 
don't) shouldn't be forced to learn about them.  (Just like people who don't 
ever do collective communication should never have to learn about groups...)  

> ...
> A topology definition call is a synchronization point for all processes
> of the group. The numbering of processes is changed according to the
> topology. Consistency of numbering is guaranteed because of the 
> synchronization. If applications people want to avoid the different
> numbering schemes to be used at different phases of their application,
> they just have to apply the topology before they do any collective
> communication. Any opinions?
> ...
> 
> Rolf
> 

I'm still uneasy about topology creation routines changing pid's.  It seems to 
me that this would be a likely place for users to make errors.  The problem is 
that I can imagine situations where unsafe code might work on the machine it 
was developed on (due to "good" luck) and fail when ported to another 
machine (where the pid renumbering works differently).  I know it is not 
possible to make everything idiot-proof but we may hear this objection when 
the idea is proposed to the whole committee.  

Tom


From owner-mpi-ptop@CS.UTK.EDU  Tue Jan 26 06:23:47 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA27461; Tue, 26 Jan 93 06:23:47 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA26404; Tue, 26 Jan 93 06:23:22 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 26 Jan 1993 06:23:20 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA26396; Tue, 26 Jan 93 06:23:01 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA17536
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Tue, 26 Jan 1993 12:22:13 +0100
Received: by f1neuman.gmd.de id AA13867; Tue, 26 Jan 1993 12:21:18 +0100
Date: Tue, 26 Jan 1993 12:21:18 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9301261121.AA13867@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Updated working document
Cc: gmap10@f1neuman.gmd.de


As I promised last week, I have updated the document on process
topologies in MPI. With this mail I send you the PostScript file
which I compressed and then uuencoded. Any corrections/additions
are welcome.

Rolf
------------------------ Cut here --------------------------------------
begin 664 PTOP.ps.Z
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
A"T8"^[ZVP$`A!BA/:`LD%$``1,)\`M$@H;`YZ`L\`4`5
`
end
From owner-mpi-ptop@CS.UTK.EDU  Wed Jan 27 05:38:43 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA09209; Wed, 27 Jan 93 05:38:43 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA25168; Wed, 27 Jan 93 05:38:24 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 27 Jan 1993 05:38:23 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA25160; Wed, 27 Jan 93 05:38:18 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA16655
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 27 Jan 1993 11:37:24 +0100
Received: by f1neuman.gmd.de id AA16117; Wed, 27 Jan 1993 11:36:31 +0100
Date: Wed, 27 Jan 1993 11:36:31 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9301271036.AA16117@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: working document
Cc: gmap10@f1neuman.gmd.de


In an email which he sent to me directly, Tom Henderson made some
comments on our working document on process topologies. He wrote:

>  In section 4 (Overview...), all routines except MPI_INQGR and
>  MPI_MAKDIM are mentioned.  Is this intentional?  (I'm not objecting,
>  just checking to see if this is what you intended.)  

The omission of MPI_INQGR and MPI_MAKDIM in the overview section was
not intentional, but I didn't try to include all single functions in the
chapter, either. What I had in mind was a more general overview of the
functionality. Since it now turnes out that only two routines are not
referred to explicitely, I think we should add them for the sake of
completeness. Here is my proposal for an addition at the end of the
first paragraph:
-------------------
The function MPI_INQMAP is provided for inquiring about the topology
of a process group, whereas MPI_INQCART and MPI_INQGR return the
size of the process structure and the position of the calling process
in a cartesian or graph topology, respectively.

In a portable program the number of available processors usually is not
known at compile time. In the case of a cartesian topology the function
MPI_MAKDIM helps in setting the numbers of processes per coodinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user.
-------------------
Okay?

Tom also found the following mis-spelling:

>  Routine MPI_INQCART is spelled MPI_INQCRT in section 4.  Which is the
>  correct spelling?  

I do not know what the correct spelling is, since the names I used are
only first suggestions, and we still have to discuss them. Of course
they should be consistent, though, so I changed everything to MPI_CART
for now.

Finally, Tom made the following suggestion:

> Would it be a good idea to begin the subcommittee session with a
> combined meeting of the Process Topology and Collective Communications
> subcommittees? Maybe we could all decide exactly what a "group" is.

I think this is a good idea. At the Dallas meeting we already decided
that the two subcommittees should cooperate in the handling of groups.

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Mon Feb  1 12:32:41 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA29157; Mon, 1 Feb 93 12:32:41 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA25164; Mon, 1 Feb 93 12:32:07 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 1 Feb 1993 12:32:06 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA25155; Mon, 1 Feb 93 12:32:02 -0500
Received: from b125 (b125.super.org) by super.super.org (4.1/SMI-4.1)
	id AA10551; Mon, 1 Feb 93 12:31:59 EST
Received: by b125 (4.1/SMI-4.1)
	id AA09570; Mon, 1 Feb 93 12:31:59 EST
Date: Mon, 1 Feb 93 12:31:59 EST
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9302011731.AA09570@b125>
To: mpi-ptop@cs.utk.edu
Subject: comments

Well, I've finally had a chance to read over all the topology
subcommittee mail and look over Rolf's latest draft of 1/26/93.  Some
of what follows is small details, but I thought I would send it to
everyone because you can just skip it over.  Also, the volume of mail
isn't yet overloading my disk space :-).

The question has been discussed about how to deal with two groups with
the same membership but different topologies.  A few thoughts.  I
think a useful aspect of Marc's proposal is the relating of processes
between the groups.  I see no conflict here with Rolf's proposal to
optimally map each group.  The thing I don't yet see how to do this
with the proposed functions.  For example, you can use MPI_CART to
define a 2D grid of a group and then use it again on a different group
with the same members to define a 3D torus.  Then, MPI_INQPID can be
used to get the PID of the logical (x,y) coordinate for the 2D grid or
(x,y,z) for the 3D torus.  But suppose you need to talk between these
two topologies.  For example, if you wanted to take your 3D torus
which has a 3D tensor and project it onto the 2D grid so the indices
aligned.  One alternative is that you have to use MPI_PARTC to create
the 2D grid from the 3D torus.  This then raises the issue of how they
are related.  I don't see anything in the standard that says how this
is done.  Will the group ordering stay the same?  For example, if a
node has logical process (3,3) in a 2D grid and you MPI_PARTC it into
rows and columns, will the third member of each group still have what
was logical process (3,3).  Am I making sense?  A second alternative
is to figure out the mapping between topologies.  The way I would do
that with the current definition would be to get the PID for one
topology and search all the PIDs in the other to figure out which was
the same.  Is this the easiest way?  If it is, part of what Marc was
suggesting may have been an easier way to get at this.  I think it
would be useful to allow the user a way to relate the different
topologies.  This also relates to the question of doing a collective
communication before and after a topology definition.  If the user
could determine which was the "first" node that received the result of
a summation before and after the topology s/he could relate the two
results.


I have worried some about the definition of trees.  I have talked to a
couple of people here about this issue.  I pass along several points
that were raised.  Trees are more complicated than tori.  If you
restrict yourself to balanced binary trees with 2^n members, then
things are easier, but there are applications (probably the majority)
that want more general features.  A simple example of the problem is
that if the tree is not balanced. Determining if an logical
address in the tree actually exists requires in depth knowledge of the
tree and not just a couple of values as in a torus.  There are also
applications where the parent has more than 2 children.  Another
attribute of algorithms that use trees is that they often change the
number of members and the depth.  They often add children (leaves) and
after doing this enough need to re-balance the tree because some some
nodes will have too much work.  This raises the issue of the cost of
adding members to a tree whereas a torus generally has a fixed size
for the execution of the code (or does not change frequently).  There
are published algorithms for embedding a tree in another graph (such
as linear, etc.) and they are much better than random.  What does all
this mean?  Trees are used, can be mapped intelligently but are more
difficult than tori.  I think they have merit but I do not have the
expertise to propose a standard.  Does anyone else think they do?  If
not, I would propose we either solicit help to do this or let it go to
be dealt with as a potential add on feature later.


As a general comment, I think the error return codes for the routines
could be more informative.  For example, MPI_CART could return:

-1: Sum(dim(i)) > # proc in group
-2: period specification illegal
-99: other error

Do people think that multiple error codes that specify the type of
error more specifically are useful?  I am will to take a first shot at
the other routines if we agree to this idea.


Now some details about the draft:

p. 2, par. 6: 
There is no need for opening a channel explicitly.  
I would change this to: 
There is no requirement for opening a channel explicitly.
(I would do this because channels might become part of the standard.)

p. 3, top:
On the other hand, a more precise specification....
I would change this to:
Additionally, a more precise specification....
The sentence before implies weights are unnecessary in practice and
this sentence implies they add complexity.  The "On the other hand"
implies to me they are opposites but I think they imply the same
thing: don't have weights.

p. 3, first complete paragraph:
I would something like:
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph. 

p. 5, top:
Add something like:
For example, the exchange subroutine might contain
MPI_SEND(...,neigh_pid(1),...) to send to (i-1,j).
(We can be more precise when MPI_SEND is finished).

p. 6, fig. 1:
I think it would be good style to check for error return codes on all
of the MPI calls.  Also, it might be slightly clearer to replace the
value 4 with a parameter.

p. 9, MPI_CART: I would make the hypercube discussion more explicit.
change:
 Note that a hypercube is a torus with 2 processes per
coordinate direction 
to 
Note that a n-dimension hypercube is a torus with 2 processes per
coordinate direction and MPI_PER.  Thus, ndim=n, dims(1:n)=2 and
period(1:n)=MPI_PER.


p. 13: MPI_INQMAP
In spirit with the rest of the document and MPI, the routine should
return "symbolic" values instead of specific integers.  Thus,

MPI_NOMAP: no mapping
MPI_CARTMAP: cartesian map
MPI_GRAPHMAP: graph mapping
MPI_ERRORMAP: error occurred

These, of course, would actually be integer values that are defined by
the system.

p. 15, MPI_INQGR
The value returned is from 1 to nodes.  It seems that lots of other
places in MPI it is zero up numbering.  Should we switch to 0 to
nodes-1?


Wow...What a lot to say.  I probably owe everyone a beer in Dallas who
actually read all the way to here :-)

Steve
From owner-mpi-ptop@CS.UTK.EDU  Mon Feb  1 13:26:29 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA29899; Mon, 1 Feb 93 13:26:29 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA28026; Mon, 1 Feb 93 13:26:10 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 1 Feb 1993 13:26:09 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA28018; Mon, 1 Feb 93 13:26:07 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA25619; Mon, 1 Feb 93 18:26:04 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA00489; Mon, 1 Feb 93 11:24:59 MST
Date: Mon, 1 Feb 93 11:24:59 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9302011824.AA00489@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: comments on Steve's comments


Here's my two-cents worth of comments on Steve's (probably at least 35 cents 
worth of) comments...    

> I think they have merit but I do not have the
> expertise to propose a standard.  Does anyone else think they do?  If
> not, I would propose we either solicit help to do this or let it go to
> be dealt with as a potential add on feature later.

I agree.  I certainly don't have this expertise.  

> As a general comment, I think the error return codes for the routines
> could be more informative.  For example, MPI_CART could return:
> 
> -1: Sum(dim(i)) > # proc in group
> -2: period specification illegal
> -99: other error
> 
> Do people think that multiple error codes that specify the type of
> error more specifically are useful?  I am will to take a first shot at
> the other routines if we agree to this idea.

Yes!  The more detailed error codes are, the better chance I'll have at 
finding my stupid errors.  Also, error codes should be symbolic (as Steve 
mentions later).  

> 
> Wow...What a lot to say.  I probably owe everyone a beer in Dallas who
> actually read all the way to here :-)
> 
> Steve
> 

Yup, I read it all!  Are you serious about this beer thing?  :)

Tom

From owner-mpi-ptop@CS.UTK.EDU  Tue Feb  2 10:20:12 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA20600; Tue, 2 Feb 93 10:20:12 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA21021; Tue, 2 Feb 93 10:19:46 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 2 Feb 1993 10:19:45 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA21013; Tue, 2 Feb 93 10:19:37 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA01293
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Tue, 2 Feb 1993 16:18:14 +0100
Received: by f1neuman.gmd.de id AA11127; Tue, 2 Feb 1993 16:17:54 +0100
Date: Tue, 2 Feb 1993 16:17:54 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9302021517.AA11127@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Re: comments
Cc: gmap10@f1neuman.gmd.de



It seems the discussion in our working group got some new impetus
thanks to Steve's mail. I would like to add my comments, but since
the Dollar rate isn't bad these days, they are probably less than
one cent worth.

I start with the easiest topics, and then proceed to the more difficult
ones.

1. I appreciate the corrections to the text. I will work them into
   the working document. Almost the only problem I have is the
   suggestion to check the error codes in the example in figure 1.
   I agree that it would improve the style, but I did it this way
   because everything should fit onto one page. I'll think about it.

2. I wondered why nobody complained about the (1,...,nodes) numbering
   in my graph proposal earlier. We had lots of discussions about this
   in the context of PARMACS. The problem is that a zero up numbering
   for a Fortran programmer is at least as ugly as the 1 up numbering
   is for a C programmer. If we want to keep compatibility of the
   Fortran and C versions of MPI on a subroutine basis, we cannot
   please everybody. In PARMACS we ended up with thinking that the
   C programmers tend to be more flexible, so they can take the burdon.
   Any suggestions?

3. I agree that more specific error information is required. However,
   this is a more fundamental question for MPI and does not only relate
   to process topologies. A list of possible user errors (inconsistent
   parameters) would certainly be useful, so any suggestions are
   welcome.

4. I have the same problems with trees as Steve has. I know that they
   are used, and that mapping them is fairly well understood. I just
   don't know in which form they would be best suited for the
   applications people. Trees of the most general form are probably
   best covered by the graph functions, anyway (e.g., varying numbers of
   children, to be specified on a node-to-node basis). We need much
   more information from applications people before we can
   s t a n d a r d i z e   this stuff. Perhaps we should leave this
   as an open issue for a future MPI-2, and just mark it as such in
   the document.

5. I now come to the most difficult point: the alignment of topologies.
   I first would like to comment on Steve's examples. If a group is
   assigned a 3D grid topology which is overlaid by a 2D grid, then the
   latter is not necessarily a projection of the former. This is
   because the 2D grid can have as many nodes as the whole 3D one,
   and not as many as a face of it. Let's take an example: the group
   has 64 processes, the 3D grid is of size (4,4,4), and the 2D grid
   could be of size(4,16). Of course one could set the size of the 2D
   grid also to (4,4) which would mean most processes are not
   represented.
     Such a projection could then be constructed by using MPI_PARTC. 
   Steve's example contains a misunderstanding here: if a 2D grid (4,4)
   is split into columns (4), then only the third column contains
   the process which is (3,3) in the 2D structure. The third elements
   in the other subgroups are (3,1), (3,2), and (3,4).
     We have to be very precise in what we mean with topology
   alignment. If we just want to be able to communicate
   between the two topologies, then MPI_INQPID is sufficient. Any
   process in the 2D grid can look up the pids of processes in the
   3D grid by specifying its group id and the 3D process coordinates.
   As I understood Marc, however, he wanted much more than that:
   he wants to be able to specify that the process (3,2) in the 2D
   grid is the same as (4,2,3) in the 3D grid. In this situation you
   can only do the mapping optimally for one topology, and construct
   the other one as a kind of indirection into the first one. The
   alternative would be to specify both topologies and their alignment
   at once, and try to optimize the mapping under all these constraints.
   Do others think that this is what Marc had in mind?

6. I just want to say that I read all of Steve's message very
   carefully. If the word spreads about this beer thing, I guess
   this one will become the message read by most people in the whole
   MPI effort.

Cheers,
 Rolf
From owner-mpi-ptop@CS.UTK.EDU  Tue Feb  2 13:58:35 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA25972; Tue, 2 Feb 93 13:58:35 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA02369; Tue, 2 Feb 93 13:58:11 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 2 Feb 1993 13:58:11 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA02361; Tue, 2 Feb 93 13:58:09 -0500
Received: from b125 (b125.super.org) by super.super.org (4.1/SMI-4.1)
	id AA01734; Tue, 2 Feb 93 13:58:08 EST
Received: by b125 (4.1/SMI-4.1)
	id AA09873; Tue, 2 Feb 93 13:58:07 EST
Date: Tue, 2 Feb 93 13:58:07 EST
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9302021858.AA09873@b125>
To: mpi-ptop@cs.utk.edu
In-Reply-To: Rolf.Hempel@gmd.de's message of Tue, 2 Feb 1993 16:17:54 +0100 <9302021517.AA11127@f1neuman.gmd.de>
Subject: comments

Well, while we are on a roll....

A few thoughts on Rolf's message:

1. Ah, practical details, ugh!  Even a simple note that checks and
comments were limited for space would seem fine to me.

2. I think we should ask the full committee what MPI is going to do
about numbering so everyone is consistent.  After we settle this one
we can go on to religon :-)

3. I'll think some more about what error code I would want to see.

4. Leaving trees for MPI-2 is ok. Would we dare risk posting to
comp.parallel (or other appropriate newsgroup) and ask for help?  I am
willing to send out such a message to state MPI topology goal and say
we would like ideas/help from others.  We risk opening the flood gates,
but I suspect we will not get much response.  What do you think?

5. I'm sorry my note was somewhat confusing.  I agree with Rolf that
only the third row/column contains (3,3).  What I was wondering is whether
we are going to require that the third PID in the row/column is on the
same processor that had PID for (3,3).  I brought up this one since I
thought (at least at first) that it was a simplier case of different
topologies being alligned.  I agree that this is a difficult and
potentially confusing topic.  My guess is that Marc at least wanted a
mapping between the topologies though one of the topologies may a poor
layout because the other has a good one.  This also raises the issue
of whether a group can have two topologies.  We had better hash
though this one in more details.  I'm open to any ideas?

6. So far only two people have said they acually read this.  Thus, you
may yet get that free beer, but many more and my vacation fund is
gone :-)

Steve
From owner-mpi-ptop@CS.UTK.EDU  Fri Feb  5 15:59:44 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA12320; Fri, 5 Feb 93 15:59:44 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA27071; Fri, 5 Feb 93 15:58:58 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 5 Feb 1993 15:58:55 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA27061; Fri, 5 Feb 93 15:58:52 -0500
Received: from b125 (b125.super.org) by super (4.1/SMI-4.1)
	id AA07077; Fri, 5 Feb 93 15:58:49 EST
Received: by b125 (4.1/SMI-4.1)
	id AA10426; Fri, 5 Feb 93 15:58:48 EST
Date: Fri, 5 Feb 93 15:58:48 EST
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9302052058.AA10426@b125>
To: mpi-ptop@cs.utk.edu

Since I have heard no objections (and one private mail support) about
posting to the net, I propose the below posting.  I had mixed feelings
about whether to have people send their responses to me or to the
whole committee.  I said to me for now so that the real junk would not
bother everyone.  I'm open to suggestion about this and anything else
in the posting.  I will post this message Tuesday morning unless I
hear that people think it is a problem.  You can also tell me you
think it is ok if you want to help my ego :-).

Steve
**********************************************************************
to: comp.parallel
subject: topologies and MPI
----------------------------------------------------------------------
The Message Passing Interface (MPI) working group is trying to create
a standard for message passing.  In other postings to various
newsgroups, people have been invited to become involved and the
proceeding of the meetings have been posted.  The process topology
subcommittee is attempting to define the part of the standard
concerning how a user can specify the topology of her/his algorithm.
Each vendor would then deal with trying to intelligently map the
algorithm topology onto their hardware.  So far general tori (of which
hypercubes are a subset) and general graphs have been tentatively
defined.  The question the subcommittee is trying to answer is: are
there other topologies that should be treated?  One area that has been
raised is trees.  However, there are a number of issue that have been
discussed.  Are trees often used?  Are binary trees sufficient?  Do
applications that use trees vary the number of nodes frequently or
does the tree stay relatively stable?  Other issues?

We are seeking input on the utility of trees and what characteristics
users would like to see.  We would also welcome any suggestions people
have for other topologies and general comments.  Please send your
comments to me (lederman@super.org) and I will make sure they are
passed on to the rest of the committee.

If you are interested in seeing the previous discussions of this
subcommittee, send mail to netlib@ornl.gov and in the mail message
type:
send mpi-ptop from mpi

General information about MPI is avaiable through netlib under:
send mpi-comm from mpi

We thank everyone in the community for their help and support.

Steven Huss-Lederman
lederman@super.org
From owner-mpi-ptop@CS.UTK.EDU  Wed Feb 10 06:46:03 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA12556; Wed, 10 Feb 93 06:46:03 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA28434; Wed, 10 Feb 93 06:45:31 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 10 Feb 1993 06:45:28 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA28373; Wed, 10 Feb 93 06:45:10 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA21176
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 10 Feb 1993 12:43:29 +0100
Received: by f1neuman.gmd.de id AA14624; Wed, 10 Feb 1993 12:43:01 +0100
Date: Wed, 10 Feb 1993 12:43:01 +0100
From: Rolf.Hempel@gmd.de
Message-Id: <9302101143.AA14624@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Trees and MPI document
Cc: gmap10@f1neuman.gmd.de


I'm sorry that I didn't contribute to our discussions for a while,
but I was travelling for some other project. Well, first of all many
thanks to Steve for taking the risk to be bombarded by all that mail
from comp.parallel. Did you get any feedback yet?

It is still unclear to me what we do with the alignment of different
topologies. I would not like to see more than one topology assigned to
the same group. This would not help in defining the alignment, and it
would make things less organized. (I think the 1:1 relation between
topologies and groups is a good feature) I suggest we discuss this
point at the next Dallas meeting.

With this note I send you the latest version of our working document
on process topologies in MPI. As before, this is an uuencoded
compressed PostScript file. I also sent it as a first version of our
contribution to the global MPI document to Steve Otto.

Rolf
------------ uuencoded, compressed PostScript below --------------------
begin 664 ptop.ps.Z
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
6`)X&9@6K`EHAJ\`6<"N4"/8"3P"(!SX[
`
end

From owner-mpi-ptop@CS.UTK.EDU  Fri Feb 12 10:09:41 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA09820; Fri, 12 Feb 93 10:09:41 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA12070; Fri, 12 Feb 93 10:08:59 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 12 Feb 1993 10:08:58 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA12062; Fri, 12 Feb 93 10:08:52 -0500
Received: from b125 (b125.super.org) by super (4.1/SMI-4.1)
	id AA19655; Fri, 12 Feb 93 10:08:50 EST
Received: by b125 (4.1/SMI-4.1)
	id AA11977; Fri, 12 Feb 93 10:08:49 EST
Date: Fri, 12 Feb 93 10:08:49 EST
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9302121508.AA11977@b125>
To: mpi-ptop@cs.utk.edu
Subject: Net responses so far (2)

Well, I haven't been bowled over with responses.  Here are the two so
far.  If more come I'll forward them.  See you all soon in Dallas.

Steve
----------------------------------------------------------------------
Return-Path: <johnn@eiffel.LCS.MIT.EDU>
Date: Wed, 10 Feb 93 18:09:12 -0500
From: johnn@eiffel.LCS.MIT.EDU (John Nguyen)
To: lederman@super.org
Subject: topologies


Some of us here at the Computer Architecture Group at MIT have been
working on topologies that span 3 dimensions, but have lower number of
neighbors than the 6-neighbor cartesian mesh.  Our most notable result
so far is one based on the 4-neighbor diamond (or tetrahedral)
lattice.  I can send you a draft of a working paper if you're
interested.

John Nguyen
johnn@lcs.mit.edu

----------------------------------------------------------------------
Return-Path: <suhler%xanthus.usc.edu@usc.edu>
From: suhler%xanthus.usc.edu@usc.edu (Paul A. Suhler)
Subject: Tree Structures
To: lederman@super.org
Date: Wed, 10 Feb 93 13:29:35 PST
X-Mailer: ELM [version 2.3 PL5]

You might want to look into the X-Tree work by Despain, Patterson,
and Sequin at UC Berkeley in the late 70s.  The initial paper was in
the 1978 Intl. Symposium on Computer Architecture, pg. 144+.

Despain and I published some traffic studies in the 1979 Summer
Computer Simulation Conference.  I graduated in '78 and lost track of
the work after that.  I know that no complete system was ever built.

Good luck,

Paul Suhler

----------------------------------------------------------------------
From owner-mpi-ptop@CS.UTK.EDU  Tue Feb 16 08:48:29 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA18685; Tue, 16 Feb 93 08:48:29 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA20450; Tue, 16 Feb 93 08:48:02 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 16 Feb 1993 08:48:00 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA20436; Tue, 16 Feb 93 08:47:58 -0500
Received: from b125 (b125.super.org) by super.super.org (4.1/SMI-4.1)
	id AA21547; Tue, 16 Feb 93 08:47:55 EST
Received: by b125 (4.1/SMI-4.1)
	id AA12885; Tue, 16 Feb 93 08:47:55 EST
Date: Tue, 16 Feb 93 08:47:55 EST
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9302161347.AA12885@b125>
To: mpi-ptop@cs.utk.edu
Subject: 2 more net responses

Return-Path: <@kakwa.ucs.ualberta.ca:myrias.ab.ca!bhl@myrias>
Date: 	Fri, 12 Feb 1993 16:11:37 -0700
From: bhl@myrias.ab.ca (Brian Lake)
To: lederman@super.org
Subject: mpp topology request

Steven,
 I haven't read the info about mpi that you suggested, but I thought
I'd give you some comments in case I forget to later. If this response
is way off, please accept my apologies.

At Myrias, we describe interconnect in a fairly simple fashion,
and it revolves around a hierarchy of different fanouts. Our last
generation of hardware had 4 processors on a board with their own
interconnect. 16 boards would get collected in a box (cage). The cages
were interconnected with user switchable cables, so one could
connect say 8 cages into two clusters of 4, or whatever. 

It is important that our OS understand the interconnect topology, so
we can optimize the usage of the network and do caching at the right
levels, etc.

A regular interconnect like this is quite easy for a computer to deal
with, and the 'cost' of communications between two nodes is a function
of the depth of the tree you traverse. 

Let me know if you wish to hear more.
Brian
-----
Brian Lake
Myrias Computer Technologies Inc.
8522 Davies Road, Edmonton, Alberta, Canada.  T6E 4Y5
Tel 403-463-1337 Fax 403-465-0130 Email bhl@myrias.ab.ca





Return-Path: <dhd@exnet.co.uk>
Date: Sat, 13 Feb 1993 13:09:36 GMT
From: Damon <d@exnet.co.uk>
To: b125!lederman@super.super.org
Subject: Re: topologies and MPI
Newsgroups: comp.parallel
In-Reply-To: <1993Feb10.123714.24760@hubcap.clemson.edu>
Organization: ExNet Systems Ltd Public Access News, London, UK
Cc: pgram@exnet.co.uk

In article <1993Feb10.123714.24760@hubcap.clemson.edu> you write:
>The Message Passing Interface (MPI) working group is trying to create
>a standard for message passing.  In other postings to various
>newsgroups, people have been invited to become involved and the

Would you like to write a letter to the Editor or Parallelogram (me!)
about this?  I think that a lot of the potential paticipants in this
effort do not read USENET, or at least not much.  If you want to direct
a version of this to me I'll put it on our letters page.  If you can do
this in the next few days I'll get it in this month's issue, space
permitting.

I think you might just catch that slice of people who read more paper
than USENET.  B^>

Damon, Editor
PgramEd@exnet.co.uk

From owner-mpi-ptop@CS.UTK.EDU  Tue Mar  9 05:57:27 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA16057; Tue, 9 Mar 93 05:57:27 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA23618; Tue, 9 Mar 93 05:55:57 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 9 Mar 1993 05:55:56 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA23610; Tue, 9 Mar 93 05:55:53 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA22780
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Tue, 9 Mar 1993 11:54:23 +0100
Received: by f1neuman.gmd.de id AA17533; Tue, 9 Mar 1993 11:55:45 GMT
Date: Tue, 9 Mar 1993 11:55:45 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303091155.AA17533@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: forwarded mail from Lyndon Clarke
Cc: gmap10@f1neuman.gmd.de


Dear PTOP Subcommittee members,

I found a mail from Lyndon Clarke in my mailbox. Since he is not a
member of our subcommittee, he asked me to forward it to you.

Best Regards,
 Rolf
----------------------------- forwarded mail ---------------------------

Dear process topology subcommittee members

It seems to me that from a practical point of view process topologies
can only provide support for a small number of special topologies.  The
subcommittee is currently planning one special topology, cartesian
structures.  This is a good choice, because lots of programs can make
use of it, and lots of programmers can undserstand it also. 

I also seems to me that process topologies should provide some general
purpose capability, so that the user with some other topology can hope
to get some help from MPI.  The subcommittee is currently planning a
general purpose topology, graph structures.  These are specified by
neighbour lists.  This is also a good choice, and I can immediately
think of a few topologies which this might get used for. 

The problem I have is that there appears to be a striking inconsistency,
in the working document.  I shall explain.  Please send you comments to
me personally as well, as I am not in this subcommittee.  I am
lyndon@epcc.edinburgh.ac.uk for email purposes. 

Now I try to explain.  In the first place as discussed at the meeting
the capability of process topologies in MPI is that it can map the
coordinate space of a topology into an existing set of processes which
are already placed on processors.  The intention is that the system is
made able to implelment mapping optimisations, if this should be
possible, from which the user will benefit. 

In the general GRAPH structure the user constructs a neighbour list. 
One can immediately imagine that this is constructed by a rule - such as
a butterfly topology.  Then is it apparent that the user has defined
computable (I did type arithmetic first time!) relations between indices
in the index space of the topology.  For example, the third neighbour of
process 9 is process 13 in a hypercube, which is calculated as 9 ^ (3 -
1).  The point is that the used defines the relations which exist within
the index space.  The system maps the index space onto processes.  Given
the index of a process, there is a well defined way of determining the
indices of neighbour processes.  The user then find from the system it's
position in the index space, and immediately knows the indices of its
neighbours. 

In the case of special topologies which are expressible by the user to
MPI in a more compact form, consistency with general topologies requires
that MPI *defines* the neighbour relations between indices within the
index space and positions of indices within the topology.  For example,
in a 2D (M,N) grid the process topology section of MPI should define
that the coordinate of index I within the grid is given by (and I'm
using C style indexes starting at zero here to make the expression
simpler) (I%M, I/M) (or it may be the other way around :-).  In the
description of the CARTesian topology this is not defined.  I expect
that you mean it to be, perhaps you thought it was obviously the case. 

Please note that I do not mean to say that the user *must* explicitly
calculate neighbours in this way, and of course there is much sense in
providing (special topology specific?) procedures or macros which do the
calculations.  I am just saying that for consistency MPI *should* define
the neighbour relations within the index space.  For example, in a
cartesion structure to calculate the neighbour of a process at a given
displcament (dx,dy,dz) is a calculation which is easily defined but if
the user spreads it over her code and makes just one typo or error in
cut-and-paste style programming (typical of some fortran programmers I
know) then s/he will have difficulty, so for his/her convenience the
process topology section of MPI provides a routine to do the
calculation. 

Please, if you agree with this, or disagree, then I am most interested
to hear your opinion, so CC: you email to lyndon@epcc.edinburgh.ac.uk

Best Wishes
Lyndon

-----------------------------------------------------------------------

         /--------------------------------------------------------\
    e||) | Lyndon J Clarke    Edinburgh Parallel Computing Centre | e||) 
    c||c | Tel: 031 650 5021  Email: lyndon@epcc.edinburgh.ac.uk  | c||c 
         \--------------------------------------------------------/
From owner-mpi-ptop@CS.UTK.EDU  Tue Mar  9 09:23:00 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA05803; Tue, 9 Mar 93 09:23:00 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA06876; Tue, 9 Mar 93 09:22:24 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 9 Mar 1993 09:22:22 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from sampson.ccsf.caltech.edu by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA06868; Tue, 9 Mar 93 09:22:20 -0500
Received: from elephant by sampson.ccsf.caltech.edu with SMTP id AA26746
  (5.65c/IDA-1.4.4 for mpi-ptop@cs.utk.edu); Tue, 9 Mar 1993 06:21:46 -0800
Received: from lion.parasoft by elephant (4.1/SMI-4.1)
	id AA10427; Tue, 9 Mar 93 06:14:31 PST
Received: by lion.parasoft (4.1/SMI-4.1)
	id AA21439; Tue, 9 Mar 93 06:14:36 PST
Date: Tue, 9 Mar 93 06:14:36 PST
From: jwf@lion.Parasoft.COM (Jon Flower)
Message-Id: <9303091414.AA21439@lion.parasoft>
To: lyndon@epcc.edinburgh.ac.uk, mpi-ptop@cs.utk.edu
Subject: Topologies & neighbors.


I've now read Lyndon's mail twice and although it's very early in
the morning here I find that I can't really understand the dificulty.

My impression is that the MPI topology computations "don't" specify
the neighbor computations in any way but provide functions that
return to the user the (opaque) processor identifiers used for
neighboring nodes........ for the cartesian case.

Ah.... maybe I see??? Is Lyndon's argument that this is different
in the graph case, cos I suppose it is. In that case the user gives
the ranking in their arbitrarily numbered tree ... but then what do
they use for opaque id's? I guess the tree enquiry function can
still return opaque id's for the nodes but is it obvious that
relationships like parent and child(ren) don't get lost on the
translation..... I suppose you could arrange that they don't.

Hmm. Still not sure I understand. However, my feeling as we head
down the slippery track towards opaque id's is that the topology
stuff becomes clearer becauses to get anywhere at all with opaque
beasts you're going to need someone to tell you what they are for
the processors who you wish to communicate with .... and the only
thing you're realistically going to know about your target is its
rank in some real or imagined group. Then you ask the topology 
call to tell you who that node is.

If I've missed the point entirely, Lyndon, I apologise and please
try to clarify for me!!

	Jon
From owner-mpi-ptop@CS.UTK.EDU  Tue Mar  9 09:39:15 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA06237; Tue, 9 Mar 93 09:39:15 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA07677; Tue, 9 Mar 93 09:38:39 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 9 Mar 1993 09:38:38 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA07669; Tue, 9 Mar 93 09:38:35 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA12565
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Tue, 9 Mar 1993 15:37:06 +0100
Received: by f1neuman.gmd.de id AA16778; Tue, 9 Mar 1993 15:38:29 GMT
Date: Tue, 9 Mar 1993 15:38:29 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303091538.AA16778@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Lyndon's proposal
Cc: gmap10@f1neuman.gmd.de, lyndon@epcc.edinburgh.ac.uk


earlier today I forwarded you a note from Lyndon Clarke in which he
discusses an inconsistency in the treatment of simple geometries
like grids as compared to the more general graph structure.

I assume that Lyndon does not have problems with the general graph
definitions. There you have an enumeration which he calls the
index space. The user can do arithmetic on the indices if he likes.
In my view this enumeration of all processes in the graph is simply
there because there is no other obvious naming of positions in the
graph.

I do not see, however, why the user wants to have a similar indexing
in the cases for which we supply the special functions (rings, grids,
tori). There the most natural way of indexing is the multidimensional
coodinates, for example (i,j,k) in a three-dimensional grid. What does
the user gain if he knows that this process is number ((k*ny+j)*nx+i)
in a linear ordering? All the lookup-functions which are provided
together with grids/tori don't use linear ordering, but they refer to
the grid coordinates. For example, if a process is (i,j,k), then
his upper x-neighbor is (i+1,j,k).

I would tend to see more room for additions in the general graph
case. One reasonable addition seems to me a lookup function which
returns the index list of neighbors of the calling process. Such a
thing would be useful for library writers who work on graph
structures which have been set up by the user before calling the
library.

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Wed Mar 10 07:51:58 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA28067; Wed, 10 Mar 93 07:51:58 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA10346; Wed, 10 Mar 93 07:51:14 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 10 Mar 1993 07:51:13 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA10311; Wed, 10 Mar 93 07:50:48 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA08118
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 10 Mar 1993 08:36:34 +0100
Received: by f1neuman.gmd.de id AA15791; Wed, 10 Mar 1993 08:37:57 GMT
Date: Wed, 10 Mar 1993 08:37:57 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303100837.AA15791@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: mail from Lyndon Clarke
Cc: gmap10@f1neuman.gmd.de


With this note I send you another mail from Lyndon Clarke which
I received yesterday evening. I really think he should join our
mailing list.

Rolf
------------------------- included message below -----------------------
From root Tue Mar  9 16:32:00 1993
Received: by f1neuman.gmd.de id AA12221; Tue, 9 Mar 1993 16:31:57 GMT
Received: from sun2.nsfnet-relay.ac.uk by gmdzi.gmd.de with SMTP id AA15110
  (5.65c/IDA-1.4.4 for <rolf.hempel@gmd.de>); Tue, 9 Mar 1993 16:29:56 +0100
Via: uk.ac.edinburgh.castle; Tue, 9 Mar 1993 15:17:08 +0000
Received: from epcc.ed.ac.uk by castle.ed.ac.uk id aa12023; 9 Mar 93 15:16 WET
Received: from subnode.epcc.ed.ac.uk (onyx.epcc.ed.ac.uk) by epcc.ed.ac.uk;
          Tue, 9 Mar 93 15:16:20 GMT
Date: Tue, 9 Mar 93 15:16:18 GMT
Message-Id: <2102.9303091516@subnode.epcc.ed.ac.uk>
From: L J Clarke <lyndon@epcc.edinburgh.ac.uk>
Subject: Re: Topologies & neighbors.
To: Jon Flower <jwf@lion.parasoft.com>, rolf.hempel@gmd.de
In-Reply-To: Jon Flower's message of Tue, 9 Mar 93 06:14:36 PST
Reply-To: lyndon@epcc.edinburgh.ac.uk
Status: RO

Hi John, Rolf

Perhaps there is a little more subtlety to this point than I had at
first supposed.  So I shall have to go slowly (I thought I had). 

----------------------------------------------------------------------

Hi there

This a reply to John's and Rolf's replies. My thanks to Rolf for
fowarding it to the subcommittee mail list.

The first point is that perhaps I should join this subcommittee.  Please
can either of you - suggest Rolf - forward this to the subcommittee on
my behalf again. 

The second point is that I think it is unwise for process topologies to
talk of returning a opaque task (or process) identifier from the enquiry
functions, as this presupposes the decision of the point-to-point
subcommittee which is clearly not yet made.  I seems more prudent for
the process topologies to say that those procedures which return task
(or process) identification to the user will return them "in the form
appropraie for use in the point-to-point communication routines".  The
process topologies committee can globally substitute the actual form
when the point-to-point committee have made a firm and binding decision. 
[Personally, I strongly suspect that point-to-point will yet make that
decision in favour of rank within group, rather than opaque identifier.]

The third point is that I think it most prudent that process topologies
include a general graph mapping facility, as indeed you are sensibly
doing. The specification in terms of an adjacency list make sense.

The fourth point is that it seems to me that there are one or more
special topologies for which there is a well understood pattern of usage
and there is advantage in process topologies dealing with these in
addition to the general graph.  One such topology is the cartesian
structures which you are including into process topologies, which I
applaude. 

The fifth point is that from the point of view of formal specification I
believe there is advantage in being able to describe the special
topologies in terms of the general graph structure.  [Of course, in an
implementation we would expect that simpler and better mapping
algorithms known for cartesian structures would be used, but that is not
the point here and is irrelevant to this point.]

The sixth point is that we should expect the general graph to be used
for structures other than trees! (For example: Butterfly,
shuffle-exchange, de Brujn ...)

The seventh point is that the general graph being specified by the user
in terms of process ranks within the group of processes which are
vertices in the graph, seems to presuppose that the user can compute the
ranks of neighbours of a process given its rank.  This seems an entirely
reasonable presupposition.  [The "rank within group" is a convenient
abstract labelling of processes.  One could have chosen textual names,
but the rank allows computations.]

The eigth point is that in the cases of special topologies for which MPI
provides special creation procedures it is reasonable for MPI to
provide, and convenient for the user to use, procedures which will
return the neighbour identifier "in the form appropraie for use in the
point-to-point communication routines".

The ninth point is that consistency between the definition of process
structures in the general graph case and in the cases of special
topologies, and morevoer the ability to formally define the special
topologies in terms of the general graph, suggests that the process
topologies section of MPI should define the computation which given the
rank of the process returns its neighbours.  [Of course, we would expect
the user to observe good programming practice and make use of the
procedures provided for such computations, but that is not the point
here and is irrelevant to this point.]

I hope this is clearer than before.

Best Wishes
Lyndon

----------------------------------------------------------------------


         /--------------------------------------------------------\
    e||) | Lyndon J Clarke    Edinburgh Parallel Computing Centre | e||) 
    c||c | Tel: 031 650 5021  Email: lyndon@epcc.edinburgh.ac.uk  | c||c 
         \--------------------------------------------------------/
From owner-mpi-ptop@CS.UTK.EDU  Wed Mar 10 08:12:06 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA28499; Wed, 10 Mar 93 08:12:06 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA10954; Wed, 10 Mar 93 08:10:15 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 10 Mar 1993 08:10:14 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA10941; Wed, 10 Mar 93 08:10:12 -0500
Received: from b125.super.org by super.super.org (4.1/SMI-4.1)
	id AA20459; Wed, 10 Mar 93 08:10:10 EST
Received: by b125.super.org (4.1/SMI-4.1)
	id AA01738; Wed, 10 Mar 93 08:10:08 EST
Date: Wed, 10 Mar 93 08:10:08 EST
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9303101310.AA01738@b125.super.org>
To: mpi-ptop@cs.utk.edu

Well, once again I have not posted for several weeks after the MPI
meeting.  Let's have a vote: Should we:

1) Do research
2) Do MPI standard
3) Do administrivia
4) Postpone the vote

:-)

Seriously, I have several items from the last meeting that we should
probably decide:

-1-
    Should we allow the user to specify a random mapping when a
topology is set up?  The main argument for this is that you may want a
topology for your algorithm but the communications patterns are not
those that the standard MPI placement algorithm minimizes for.  As an
example, MPI would now implicitly optimize for communicating with your
+/-1 neighbor in each direction of a mesh.  However, your
communication pattern might be for +/-2 in each direction.  On some
machines, the optimization for +/-1 might make the +/-2 communications
worse then if a random mapping was used.
    The one argument I see against this is that MPI may not directly
support these other communications patterns so why should the user
specify a topology.  I don't think this is a strong argument since one
should still be able to specify the topology even if the mapping is
random.
    My current feeling is that the user should be able to specify a
random mapping for the topology of interest.  Thoughts?  Now: what do
we mean by random?

-2-
    When Marc Snir raised this issue the main point I believe he was
trying to make is that you are usually doing a permutation between
nodes when you are communicating and what you care about is minimizing
the time of that communication.  We have implicitly assumed that the
permutation is a shift of one node in the grid.  Is this what we want
to do?  I think allowing the user to specify the permutation would be
great but messy.  For example, the user may wish to minimize
contention when doing a transpose on a 2D mesh.  Any thoughts?

-3-
    I think we need to pin down how we are going to talk between
topologies.  As I now understand it, a topology is its own group.  So
to talk between nodes/processes in two groups requires talking between
two groups.  Is this correct?  I also seem to recall that we are not
going to try and optimize the relationship between two topologies.  Is
this also correct?  If so, does the user have to search the second
group to figure out what node/process to send information to (i.e.,
find the rank of the process of interest in the second group).  Is
that what we intend?  I think we should make it clear and decide if we
want to provide a routine to do this.

-4-
    The question was raised of what happens to extra nodes when a new
topology is created.  For example, if you have 10 nodes and create a
3x3 grid, then one node gets left out.  As I recall, it now simply
gets a different return code.  The question is should the node(s) go
into a second group so they could be manipulated in an easier fashion?

-5-
    The MPI group agreed to zero up numbering.  However, the question
was raised if the grids would be row or column major.  Another thorny
issue :-(  One is FORTRAN oriented the other C.  Some felt it should
depend on the language but this would be tough when they are mixed.  I
personally liked the suggestion that the opaque structure (that great
idea that is not carefully defined yet :-) hold a flag that tells
which choice was used and allow the user to specify at group creation.
What do others think?

Steve
From owner-mpi-ptop@CS.UTK.EDU  Wed Mar 10 09:38:10 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA01079; Wed, 10 Mar 93 09:38:10 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA15108; Wed, 10 Mar 93 09:37:30 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 10 Mar 1993 09:37:27 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA15078; Wed, 10 Mar 93 09:37:19 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA26003
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 10 Mar 1993 15:35:46 +0100
Received: by f1neuman.gmd.de id AA16743; Wed, 10 Mar 1993 15:37:09 GMT
Date: Wed, 10 Mar 1993 15:37:09 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303101537.AA16743@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: comment on Steve's note
Cc: gmap10@f1neuman.gmd.de


My feeling is that at the moment the whole MPI activity gets more and
more diffuse, and that it's about time to refocus on the short-term
goals of MPI-1. This will also influence the work in our subcommittee,
and we have to restrict ourselves on well-proven concepts.

I appreciate Steve's note since he gives a good summary of the points
which are open at the moment. I would like to comment on them shortly:

1. I'm not convinced that random ordering really helps much. If the
   optimization is done such that +1/-1 communications are most
   efficient, of course there is no guarantee that +2/-2 communication
   is nearly as good. However, I do not see any application where
   the topology is a grid, but the most common communication pattern
   is, say, with distance 2 hops. A more ralistic asumption seems to
   me that there is a mix of different distances, where the nearest
   neighbor communication plays some (perhaps not dominant) role.
   The multigrid example of Oliver McBryan at the Dallas meeting falls
   into that category. Do people expect that random mapping gives you
   any advantage in that case?
     If the majority thinks this is a useful feature, I suggest we
   add a parameter to the topology definition functions for selecting
   a "don't care" mapping. In this case I think it is no big deal which
   random number generator one uses.

2. This permutation kind of specifying communication could be a good
   idea for the Collective Communications subcommittee. However, not all
   communication going on in an application is of this type. Sometimes
   only some nodes in a grid send messages to their neighbors, or the
   communication is not well enough synchronized over the whole grid.
   In such cases collective communication functions are not applicable,
   or they would lead to unnecessary waiting times due to
   synchronization. So, the specification of a permutation function
   cannot replace the topology definition functions which just order
   the processes in a logical way for easy and efficient use of
   pt2pt functions.

3. The inter-group communication is very tricky, but this question 
   has to be dealt with in other subcommittees as well. Is it at all
   possible to communicate between processes which are not in the same
   group? Can group ids be sent in messages? I think that however this
   point will be resolved in the whole committe, the topology functions
   can deal with it. The lookup functions for process ids already now
   contain the group id as the selection criterion for the toplogy.
   The generalization would then be that one can use the lookup
   functions for groups of which the calling process is not a member.

4. Another related point which was raised at the last meeting is what
   happens if a group has 10 procs, but the (3,3) grid only uses 9 of
   them. In the current proposal a topology is assigned to an existing
   group. The alternative would be that a topology always creates two
   new groups, one which exactly comprises the processes of the
   grid/graph, and another group with the remaining procs. This second
   group could be empty, of course. Another call to a topology def
   function could then be used to apply a topology to the rest group.
   What do people think?

5. I don't have any strong feelings about the row/column major ordering
   of processes. Probably the best solution would be to add a selection
   parameter to the definition functions. I think this would be
   completely sufficient.

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Wed Mar 10 10:51:39 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA03065; Wed, 10 Mar 93 10:51:39 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA19284; Wed, 10 Mar 93 10:50:56 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 10 Mar 1993 10:50:55 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA19275; Wed, 10 Mar 93 10:50:53 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA26712; Wed, 10 Mar 93 15:50:49 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA07653; Wed, 10 Mar 93 08:49:35 MST
Date: Wed, 10 Mar 93 08:49:35 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9303101549.AA07653@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: Re: mail from Lyndon Clarke


> With this note I send you another mail from Lyndon Clarke which
> I received yesterday evening. I really think he should join our
> mailing list.
> 
> Rolf

I agree.  

Tom
From owner-mpi-ptop@CS.UTK.EDU  Fri Mar 12 07:30:35 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA18907; Fri, 12 Mar 93 07:30:35 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA28091; Fri, 12 Mar 93 07:29:52 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 12 Mar 1993 07:29:49 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA28083; Fri, 12 Mar 93 07:29:34 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA02607
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Fri, 12 Mar 1993 13:27:55 +0100
Received: by f1neuman.gmd.de id AA16470; Fri, 12 Mar 1993 13:29:19 GMT
Date: Fri, 12 Mar 1993 13:29:19 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303121329.AA16470@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: IBM paper
Cc: gmap10@f1neuman.gmd.de


Yesterday I got a paper from Howard Ho (IBM Almaden Center) about a
library for the management of grids on top of their EUI library. He
asked me to forward it to this subcommittee. In the following I send
you a copy of my reply to him followed by the PostScript file of his
text. I processed it with compress and uuencode.

Rolf
------------------------------------------------------------------------
From gmap10 Fri Mar 12 13:17:54 1993
Received: by f1neuman.gmd.de id AA16182; Fri, 12 Mar 1993 13:17:54 GMT
Date: Fri, 12 Mar 1993 13:17:54 GMT
From: gmap10
Message-Id: <9303121317.AA16182@f1neuman.gmd.de>
To: ho@almaden.ibm.com
Subject: process topologies
Cc: gmap10
Status: R


Dear Howard,

thanks for sending me your paper on "common group structures". I've
printed it without any difficulty, and today I will forward it to the
MPI subcommittee.

Here are a few comments to your paper which reflect my personal
impression and which are not meant to question the value of your work.

1. Your approach seems to me quite reasonable for the IBM parallel
   machine. Since the optimization of process/processor mapping does not
   gain you much on that system, you can do without it. This is
   different on other machines where a bad mapping may kill all the
   performance. Of course this makes it much easier to implement the CGS
   routines. In a standard, on the other hand, I would not recommend
   this approach because it is too much system dependent.

2. There are different routines for different spatial dimensions. I
   know the pros and cons since we did the same thing in early versions
   of PARMACS. In PARMACS we gave it up because there will always be
   someone who wants a higer dimensional version. If the interface is
   not dimension-specific, then you just extend the implementation.
   Otherwise you have to add a number of new routines.

   You have seen our proposal for the MPI handling of grids/tori.
   Since that is not dimension-specific, it is even possible to
   subsume hypercubes. After all, a hypercube is a grid with two
   processes per coordinate direction, as you correctly state in your
   paper, also.
   
3. In your proposal the creation of a topology assigns each process
   the group ids of its row and column groups. I'm not sure that this
   is sufficient for all applications. Sometimes a process wants to
   communicate with a process which is not a neighbor in one of the
   four cardinal directions. You gave an example for the nine-point
   stencil yourself, and already there it is a little tricky to get
   the ids of the corner-neighbors. Therefore, I prefer general
   look-up routines wich for arbitrary mesh coordinates return the
   identifier of the corresponding process. You can see an interface
   like this in the MPI proposal.

I would like to invite you to join our subcommittee. We certainly
need people with fresh ideas about process topologies.

Best regards,
 Rolf
------------------------------------------------------------------------
begin 664 ho_howard.ps.Z
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
'"`8#3P#Y!R_Q
`
end
From owner-mpi-ptop@CS.UTK.EDU  Tue Mar 16 04:55:14 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA14277; Tue, 16 Mar 93 04:55:14 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA15025; Tue, 16 Mar 93 04:54:46 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 16 Mar 1993 04:54:45 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA15006; Tue, 16 Mar 93 04:54:01 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA13913
  (5.65c/IDA-1.4.4); Tue, 16 Mar 1993 10:52:14 +0100
Received: by f1neuman.gmd.de id AA15815; Tue, 16 Mar 1993 10:53:37 GMT
Date: Tue, 16 Mar 1993 10:53:37 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303161053.AA15815@f1neuman.gmd.de>
To: mpi-collcomm@cs.utk.edu, mpi-ptop@cs.utk.edu
Subject: Al's COLLCOMM proposal
Cc: gmap10@f1neuman.gmd.de


I would like to comment on Al's Collective Communications draft which
he sent out a few days ago. First of all, I agree with Al in most
points, especially that we should not attempt to include everything
into MPI-1. Given the limited time available, it seems to me a good
idea to leave the level-1 routines and all dynamic stuff for MPI-2.

In section 2 Al says that "each group has a topology associated with
it". As far as I know this is still an open issue. Do we agree that
there is always a default topology (like a ring, to make the shift
operation meaningful in all cases, or fully connected)? Otherwise a
topology is an optional attribute which a group may or may not have.

Another question then is how this assignment is done. At the last
Dallas meeting we discussed two basic options:
1. A topology is defined after the creation of the group. The topology
   thus is an attribute which is assigned to the group, and which can
   be overwritten without creating a new group.
2. A topology definition always creates a new group (or even two of
   them, the second one being the collection of processes which are not
   used by the topology). The advantage of this choice is that the
   rank of a process within a group never changes. When a group with
   topology is created, the processes can be arranged in the optimal
   way from the very beginning.

Personally, I prefer the second option. One additional advantage is the
following: assume that the original group has 10 processes, and then
a (3,3) grid topology is defined. Does a global operation on this group
include all 10 processes? If the (3,3) grid formation creates a new
subgroup of 9 processes, the answer is clear.

The draft is not consistent in the relationship of groups and
topologies. In the Introduction it says "Giving or forming groups with
topological features is presented in section 4" which suggests option
2. above. On the other hand, under Group Functions it states that
"Existing groups including the ALL group can switch their associated
topology", which sounds like option 1. Do we all agree on choosing
option 2?

On page 2 the draft states that "The collective communication routines
are implemented in terms of the topology associated with a given group.
Although the function would be the same, a broadcast in a group with
a ring topology could be implemented differently from a broadcast in
a group with hypercube topology". I see a confusion of application
and machine topologies here. The optimal implementation of a broadcast
is guided by the machine topology, which could be a hypercube. Even
if the logical group topology is a mesh, the global operation would
follow the hypercube structure. However, this implementation detail
is completely invisible to the user and should not be part of the
standard. The only thing the user sees is the mesh topology and the
result of the broadcast.

The proposed MPI_SHIFT function could be made much more useful by
adding another argument. Here's my proposal:

 Info = MPI_SHIFT(inbuf,outbuf,nitems,type,tag,group,direction,steps)

The additional integer argument "direction" selects the coordinate
direction in the group topology, and "steps" is the number of steps
in that direction. In the case of cartesian structures the meaning is
immediately clear. One could apply the function also in the case of a
general graph. In this case "direction" would specify the neighbor
number. "steps" could either be ignored, or we could define a
transitive scheme of the kind "neighbor of neighbor of neighbor ...",
with the indirection depth being specified by "steps".

A hot topic for further discussions will be the "group names" proposed
by Al. I see his point, but I don't see how the user-supplied group
name solves the problem which arises if a new process wants to join
a group. Even if the user tells MPI the global name of the group,
global knowledge of all groups in the system is required to find the
other group members to talk to. I agree to most points of Rik
Littlefields comments. The only thing which does not convince me yet
is the explicite caching mechanism. If the information caching is
handled consistently between the group management and collective
communication routines (in order to avoid usage of stale group
information), I still hope that it could be done without showing up
at the user interface.

As a last point, I would like to forward the following note by
Tom Henderson:

> Rolf,
> 
> Would it be a good idea to merge the mpi-collcomm and mpi-ptop
> mailing lists? It seems like lots of stuff on that mailing list
> now is closely related to process topology. I suppose the
> mpi-collcomm stuff could just be forwarded to the mpi-ptop list.  
> 
> Tom

I agree. What do others think?

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Tue Mar 16 11:04:50 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA20347; Tue, 16 Mar 93 11:04:50 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA04802; Tue, 16 Mar 93 11:01:02 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 16 Mar 1993 11:01:01 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA04794; Tue, 16 Mar 93 11:00:59 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA09360; Tue, 16 Mar 93 16:00:54 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA16673; Tue, 16 Mar 93 08:59:39 MST
Date: Tue, 16 Mar 93 08:59:39 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9303161559.AA16673@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: Re: Al's COLLCOMM proposal

Rolf writes,

> Another question then is how this assignment is done. At the last
> Dallas meeting we discussed two basic options:
> 1. A topology is defined after the creation of the group. The topology
>    thus is an attribute which is assigned to the group, and which can
>    be overwritten without creating a new group.
> 2. A topology definition always creates a new group (or even two of
>    them, the second one being the collection of processes which are not
>    used by the topology). The advantage of this choice is that the
>    rank of a process within a group never changes. When a group with
>    topology is created, the processes can be arranged in the optimal
>    way from the very beginning.
> 
> Personally, I prefer the second option. One additional advantage is the
> following: assume that the original group has 10 processes, and then
> a (3,3) grid topology is defined. Does a global operation on this group
> include all 10 processes? If the (3,3) grid formation creates a new
> subgroup of 9 processes, the answer is clear.

I also favor option 2.  I think the draft should be modified as Rolf suggests 
(elsewhere in his message) to be consistent with option 2.  

> On page 2 the draft states that "The collective communication routines
> are implemented in terms of the topology associated with a given group.
> Although the function would be the same, a broadcast in a group with
> a ring topology could be implemented differently from a broadcast in
> a group with hypercube topology". I see a confusion of application
> and machine topologies here. The optimal implementation of a broadcast
> is guided by the machine topology, which could be a hypercube. Even
> if the logical group topology is a mesh, the global operation would
> follow the hypercube structure. However, this implementation detail
> is completely invisible to the user and should not be part of the
> standard. The only thing the user sees is the mesh topology and the
> result of the broadcast.

Agree.  The concepts of machine (physical) topology and logical topology 
should be clearly separated.  

> The proposed MPI_SHIFT function could be made much more useful by
> adding another argument. Here's my proposal:
> 
>  Info = MPI_SHIFT(inbuf,outbuf,nitems,type,tag,group,direction,steps)
> 
> The additional integer argument "direction" selects the coordinate
> direction in the group topology, and "steps" is the number of steps
> in that direction. In the case of cartesian structures the meaning is
> immediately clear. One could apply the function also in the case of a
> general graph. In this case "direction" would specify the neighbor
> number. "steps" could either be ignored, or we could define a
> transitive scheme of the kind "neighbor of neighbor of neighbor ...",
> with the indirection depth being specified by "steps".

I would not have a problem restricting MPI_SHIFT() to Cartesian topologies 
(ring, grid, torus, etc.).  If a user has defined a general graph, let the 
user define her own "shift".  

Tom

From owner-mpi-ptop@CS.UTK.EDU  Tue Mar 16 13:43:10 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA25615; Tue, 16 Mar 93 13:43:10 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA12835; Tue, 16 Mar 93 13:42:15 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 16 Mar 1993 13:42:13 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from pnlg.pnl.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA12826; Tue, 16 Mar 93 13:42:10 -0500
Received: from carbon.pnl.gov (130.20.188.38) by pnlg.pnl.gov; Tue, 16 Mar 93
 10:35 PST
Received: from sodium.pnl.gov by carbon.pnl.gov (4.1/SMI-4.1) id AA01248; Tue,
 16 Mar 93 10:33:37 PST
Received: by sodium.pnl.gov (4.1/SMI-4.0) id AA07439; Tue, 16 Mar 93 10:33:34
 PST
Date: Tue, 16 Mar 93 10:33:34 PST
From: rj_littlefield@pnlg.pnl.gov
Subject: Re:  Al's COLLCOMM proposal
To: Rolf.Hempel@gmd.de, mpi-collcomm@cs.utk.edu, mpi-ptop@cs.utk.edu
Cc: gmap10@f1neuman.gmd.de, rj_littlefield@pnlg.pnl.gov
Message-Id: <9303161833.AA07439@sodium.pnl.gov>
X-Envelope-To: mpi-ptop@cs.utk.edu, mpi-collcomm@cs.utk.edu

Rolf Hempel writes:

> I agree to most points of Rik
> Littlefields comments. The only thing which does not convince me yet
> is the explicite caching mechanism. If the information caching is
> handled consistently between the group management and collective
> communication routines (in order to avoid usage of stale group
> information), I still hope that it could be done without showing up
> at the user interface.

Just a point of clarification.  

I do NOT propose that cacheing be visible at the interface between
the application program and a collective communication routine that
it calls.  The example I provided was perhaps not explicit enough on
this point.  It said:

   efficient_global_op (grphandle, ...)
   struct group_descriptor_type *grphandle;
     <and so on>

I intended "..." to mean only the arguments that would be provided
to any collective communication routine, e.g., data buffer, number
of elements, and so on.  Nothing about cacheing there.

I think Rolf would agree that the standard collective communication
routines need an internal facility like this to coordinate with the
standard group management routines, if they are to achieve high
efficiency.  

My proposal is essentially to standardize and export that facility so
as to permit new collective communication routines to run as
efficiently as the built-ins.  In this vein, you may wish to think of
standardized cacheing as a feature to increase MPI's extensibility.

--Rik

----------------------------------------------------------------------
rj_littlefield@pnl.gov (alias 'd39135')   Rik Littlefield
Tel: 509-375-3927                         Pacific Northwest Lab, MS K1-87
Fax: 509-375-6631                         P.O.Box 999, Richland, WA  99352
From owner-mpi-ptop@CS.UTK.EDU  Wed Mar 17 15:33:52 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA24684; Wed, 17 Mar 93 15:33:52 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA08846; Wed, 17 Mar 93 15:33:15 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 17 Mar 1993 15:33:14 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from watson.ibm.com by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA08837; Wed, 17 Mar 93 15:33:12 -0500
Message-Id: <9303172033.AA08837@CS.UTK.EDU>
Received: from YKTVMV by watson.ibm.com (IBM VM SMTP V2R3) with BSMTP id 5657;
   Wed, 17 Mar 93 15:33:12 EST
Date: Wed, 17 Mar 93 15:33:12 EST
From: "Marc Snir" <snir@watson.ibm.com>
To: MPI-PTOP@CS.UTK.EDU

Some comments on how to support topologies -- on top on current collective
communications

The current proposal for collective communications and assumes that a group
does not carry topological information:  It is just an ordered set of
processes.

Assume that each graph has a canonical numbering, i.e., that a graph consists
of an ORDERED set of nodes + a set of (directed) edges.  I.e., the nodes
of a general graph are ordered according to the order in which they
are listed in an adjacency list, the nodes of a mesh are ordered in row
major order, etc.  Then a topology is an MPI group + a set of directed
edges + some additional structure, for regular graphs, like meshes.

The basic question to address is: should the MPI communication library
be aware of topological structures?

There are two choices: (i) a topology
is a basic MPI object, that can be used in various communication operations.
(ii) MPI communication functions have no understanding of topologies; thus, a
topology is represented by two objects: the first one is a group that MPI is
cognizant of, and the second one is a separate data structure that captures the
topological information.   Let me illustrate these two approaches by examples
(I apologize for not sticking to the official syntax)

1.  Mapping a topology so as to ease communication along edges (i.e., creating
a new group with processes numbered so that the embedding of graph edges on the
communication hardware is efficient)

(i)
MPI_CREATE_GRID(oldtopology, newtopology, topology_parameters).
Creates a new topology, with a new process numbering.

(ii)
GRID_MAP(oldgroup, topology_parameters, newrank).
A call that computes the best permutation of the group
processes for embedding the grid.
MPI_CREATE_GROUP(oldgroup, newgroup,0,newrank)
Create new group.

The situation where not all processes belong to the new group, can
be handled, say, by returning a negative "newrank" for the outsiders,
and then executing MPI_CREATE(oldgroup, newgroup, (newrank <0), newrank).

(By the way, I doubt such function will have much use)

2. Sticking a new topology on top of an existing one

(i)
I don't know the solution
(ii)
Just create the new topology object (e.g., the adjacency list)

3. Shift on a row (or a hyperplane) of a grid

(i)
SHIFT_GRID(topology, inbuf, outbuf, dimension, shift)

(ii)
MPI_CREATE_GROUP(oldgroup, newgroup, grid_index(grid_params, myid,dimension),0)
A new group needs to be created (once).  I assume an auxiliary function that,
given a description of the grid, a rank and a dimension, returns the index of
the node with that rank in that dimension.
MPI_CSHIFT(newgroup, inbuf, outbuf, shift)
(or MPI_EOSHIFT, for an open topology).

And so on.

Consider a k-dimensional grid.
Assume one creates a separate group for each one-dimensional subgrid.  I.e.,
each node belongs to k subgroups, one for each dimension.  Further assume that
the rank of each node in a subgroup is equal to its index in the corresponding
grid dimension (this holds true if the relative global order of the nodes is
preserved when the subgroups are created).  Then (almost) all the topological
structure of the grid is captured by these subgroups:  One can find the index
of a node in the i-th dimension by querying its rank in the i-th subgroup.
One can shift in the i-th dimension by shifting in the i-th subgroup. One can
create a new subgrid that contains all nodes in a hyperplane, by using the
index in the i-th dimension to split the group; the subgroups that are
contained in this hyperplane are not affected.  And so on.  (The only
information that is not captured is whether the grid is cyclic or not in each
dimension.  I.e., whether a cyclic shift or a end-off shift should be used in
each dimension.)  Thus, once the subgroups are built, it would seem we don't
need any further topological information.  The data structure that represents
the grid is needed only to build these subgroups.  This
seems to be one more reason not to integrate topological information into the
MPI communication functions.

Temporary conclusion: topology cognizant MPI communication functions will save
some writing, but not much.  For the sake of keeping the communication
layer simple, I vote for keeping topologies out of the MPI
communication layer.  This does not mean that topologies disappear.  It
means that topology objects are only used in order to build groups, and
that only one MPI function really needs to understand
topologies, for the purpose of embedding them on the communication
hardware.   Further topology functions could be provided, if required, as
syntactic sugar on top of existing group functions.


From owner-mpi-ptop@CS.UTK.EDU  Thu Mar 18 09:42:52 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA11664; Thu, 18 Mar 93 09:42:52 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA07125; Thu, 18 Mar 93 09:40:15 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 18 Mar 1993 09:40:10 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA07073; Thu, 18 Mar 93 09:40:03 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA05710
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 18 Mar 1993 15:38:30 +0100
Received: by f1neuman.gmd.de id AA16221; Thu, 18 Mar 1993 15:39:55 GMT
Date: Thu, 18 Mar 1993 15:39:55 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303181539.AA16221@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Marc's proposal
Cc: gmap10@f1neuman.gmd.de


Thanks to Marc for explaining in some detail his view of process
topologies in MPI. I would like to add a few comments:

1. Marc summarizes his proposal with:

   > This seems to be one more reason not to integrate topological
   > information into the MPI communication functions.

   I agree that the topology functions should not change at all the
   pt-pt communication functions. The current draft already fulfills
   this requirement. Also the definitions of collective communications
   are not affected by the topologies, with the exception of the
   shift function where the topological information can add some
   useful functionality.

   The only point where the topology functions interact with the rest
   of MPI is the management of process groups. I do not see this as a
   disadvantage, but using topology information there helps in bringing
   stucture into groups.

   It seems that Marc agrees to this role of topology functions when he
   concludes:

   > It means that topology objects are only used in order to build
   > groups, ...

2. The question then is whether it is worthwhile to integrate process
   topologies with group management. I argue that the use of topologies
   like rings, grids, cubes, ... is so widespread that creating groups
   with these structures should be as easy and elegant as possible.
   For the same purpose there should be a (small) set of inquiry
   functions to support the addressing of processes in topology-based
   programs. In this sense we would not only save the MPI user 
   "some writing", but we would also make MPI programming more natural
   to those who think in terms of their process topology structure
   rather than in terms of a set of processes, ranked from 0 to n-1.

3. The representation of a grid by the k subgroups works well as long
   as one only looks at neighboring processes in the primary directions.
   The handling of diagonal neighbors or arbritrary processes in the
   grid is less straight-forward. In my opinion it is better to
   provide a look-up function which returns the process id (or the
   group rank of the grid group) for any tuple (i,j,k) of grid
   coordinates.

4. The "Sticking a new topology on top of an existing one" could be
   done by adding an argument to a definition function like MPI_CART
   which specifies whether the processes are allowed to be reordered
   or not (with the purpose of optimal mapping onto the hardware).
   In this way, the "primary" topology could be defined with mapping
      MPI_CART(old_gid, cart_gid, ..., MPI_REORDER),
   and then another topology could be defined like
      MPI_GRAPH(cart_gid, graph_gid, ..., MPI_NOREORDER).
   In this way the graph nodes 0, 1, ..., n-1 could be associated with
   ranks 0, 1, ..., n-1 in the cartesian group.

Are there any comments from other PTOP members?

Rolf Hempel
From owner-mpi-ptop@CS.UTK.EDU  Thu Mar 18 13:00:35 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA15916; Thu, 18 Mar 93 13:00:35 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA17376; Thu, 18 Mar 93 13:00:03 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 18 Mar 1993 13:00:02 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
	id AA17359; Thu, 18 Mar 93 12:59:58 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA14818; Thu, 18 Mar 93 17:59:52 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA20665; Thu, 18 Mar 93 10:58:36 MST
Date: Thu, 18 Mar 93 10:58:36 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9303181758.AA20665@macaw.fsl.noaa.gov>
To: Rolf.Hempel@gmd.de
Subject: Re: Marc's proposal
Cc: mpi-ptop@cs.utk.edu


Rolf,

> 2. The question then is whether it is worthwhile to integrate process
>    topologies with group management. I argue that the use of topologies
>    like rings, grids, cubes, ... is so widespread that creating groups
>    with these structures should be as easy and elegant as possible.
>    For the same purpose there should be a (small) set of inquiry
>    functions to support the addressing of processes in topology-based
>    programs. In this sense we would not only save the MPI user 
>    "some writing", but we would also make MPI programming more natural
>    to those who think in terms of their process topology structure
>    rather than in terms of a set of processes, ranked from 0 to n-1.

I think that this is analogous to the argument for supporting 
multi-dimensional arrays in C, Fortran, etc.  We could do everything we want 
with one-dimensional storage, but few people think this is a good idea!  

> 3. The representation of a grid by the k subgroups works well as long
>    as one only looks at neighboring processes in the primary directions.
>    The handling of diagonal neighbors or arbritrary processes in the
>    grid is less straight-forward. In my opinion it is better to
>    provide a look-up function which returns the process id (or the
>    group rank of the grid group) for any tuple (i,j,k) of grid
>    coordinates.

I agree.  

> 4. The "Sticking a new topology on top of an existing one" could be
>    done by adding an argument to a definition function like MPI_CART
>    which specifies whether the processes are allowed to be reordered
>    or not (with the purpose of optimal mapping onto the hardware).
>    In this way, the "primary" topology could be defined with mapping
>       MPI_CART(old_gid, cart_gid, ..., MPI_REORDER),
>    and then another topology could be defined like
>       MPI_GRAPH(cart_gid, graph_gid, ..., MPI_NOREORDER).
>    In this way the graph nodes 0, 1, ..., n-1 could be associated with
>    ranks 0, 1, ..., n-1 in the cartesian group.

I'm still not comfortable with the idea that MPI should attempt to deal with 
relationships between multiple topologies.  It seems to me that the only way 
to do a good job would be to specify all topologies used by a group at group 
creation.  I would prefer to see a new group created with the same members 
each time a new topology is required.  

> Rolf Hempel

Tom Henderson
NOAA Forecast Systems Laboratory
hender@fsl.noaa.gov

From owner-mpi-ptop@CS.UTK.EDU  Tue Mar 23 08:12:05 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA13729; Tue, 23 Mar 93 08:12:05 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA08005; Tue, 23 Mar 93 08:11:24 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 23 Mar 1993 08:11:21 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA07997; Tue, 23 Mar 93 08:11:16 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA24548
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Tue, 23 Mar 1993 14:09:35 +0100
Received: by f1neuman.gmd.de id AA14713; Tue, 23 Mar 1993 14:11:03 GMT
Date: Tue, 23 Mar 1993 14:11:03 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303231411.AA14713@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Next meeting
Cc: gmap10@f1neuman.gmd.de


Dear PTOP working group member,

we have to prepare our discussions at the next Dallas meeting.
Therefore, I just present you a list of points which I think we should
address. All comments and additions are welcome.


1. The most important question seems to be how we want to support
   process topologies. The basic choice is between the positions which
   were presented by Marc Snir's and myself:
   a): MPI knows only about process groups which are linearly ordered
       collections of processes without any further structure.
       Process topologies are handled by libraries which are not
       part of MPI.
   b): Topological information is an integral part of process groups.
       There should be process definition functions for the most
       common topologies (cartesian and graph structures) which 
       create process groups. Topologies can be used to define
       collective communication functions like shift.

In the following I assume that we follow path b). (Otherwise we would
not have much to do, anyway.)


2. It seems reasonable to me that we change the current draft such that
   a topology definition creates a new group. This removes the problem
   that the rank within the group may change. My proposal for the
   cartesian definition function is:

   active = MPI_CART (gid, parent_gid, ndim, dims, period).

   with:
         parent_gid:   group id of existing group (input)
         gid:          group id of newly created group (output)
         active:       =.true., if calling process is contained in grid
                       =.false. otherwise

   Depending on the return value, gid is the group id of the grid
   group or the remainder group. Thus, in case there are more processes
   in the parent group than are needed by the topology, two groups
   are created. If there is a perfect match, only one group is
   created (in this case there is no process which returns
   with active=.false. ===> there is no remainder gid.).

   The corresponding graph definition function then looks like:

   active = MPI_GRAPH (gid, parent_gid, nodes, index, nglist)

   The number of processes in the topology is no longer returned from
   these functions. This was rather redundant in the first place, and
   this information can easily be obtained from the inquiry function
   for the number of processes in a group.


3. The above definition functions could be extended by two arguments:

   1. How should the mapping be done? One out of

      MPI_REORDER | MPI_NOREORDER | MPI_RANDOM

      MPI_REORDER:   MPI is allowed to change the ranking of processes
                     as compared to the parent group.
      MPI_NOREORDER: the rank of a process is the same in parent and
                     new group.
      MPI_RANDOM:    the rank in the new group is set randomly.
                     (Is the third option necessary?)

      This argument allows an ordered overlay of two topologies, as
      in the following example:

      active = MPI_CART (cart_gid, parent_gid, ndim, dims, period,
                         MPI_REORDER)
      active = MPI_GRAPH (graph_gid, cart_gid, nodes, index, nglist,
                          MPI_NOREORDER)

      This way the graph nodes 0,1, ..., n-1 are associated with the
      processes with rank 0,1, ..., n-1 in the cartesian group.

   2. For cartesian topologies: definition of ranking in the group:

      MPI_ROWM | MPI_COLM

      for row-major / column-major ordering.


4. Does every group have a default topology, and what could it be?
   My proposal is that we choose a ring topology as default, i.e.,
   the rank of a process 0, ..., n-1 defines its position in the ring.
   No attempt is made to efficiently map the processes to the hardware.
   As an alternative, we could argue that there is no reason for
   closing the linear structure, and take a linear structure instead.
   I think that a default topology makes the interface more consistent.


5. Can processes in different topologies talk to each other? This
   question seems closely related to whether processes in different
   groups can communicate. I think that we can leave this decision
   to the more general debate on groups. The topology inquiry functions
   can be applied for groups of which the calling process is not a
   member, if this is decided to be necessary for other group inquiry
   functions.


6. Similarly, I think that we should not touch the question of what
   a process id is. The topology functions can adopt whatever scheme
   is decided in pt-to-pt.

Any comments/additions?

Rolf Hempel
From owner-mpi-ptop@CS.UTK.EDU  Tue Mar 23 11:14:56 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA20707; Tue, 23 Mar 93 11:14:56 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA16737; Tue, 23 Mar 93 11:13:50 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 23 Mar 1993 11:13:49 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from fslg8.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA16729; Tue, 23 Mar 93 11:13:47 -0500
Received: by fslg8.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA23711; Tue, 23 Mar 93 16:13:41 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA28595; Tue, 23 Mar 93 09:12:24 MST
Date: Tue, 23 Mar 93 09:12:24 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9303231612.AA28595@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: Re: Next meeting


Rolf writes,

> 2. It seems reasonable to me that we change the current draft such that
>    a topology definition creates a new group. This removes the problem
>    that the rank within the group may change. My proposal for the
>    cartesian definition function is:
> 
>    active = MPI_CART (gid, parent_gid, ndim, dims, period).
> 
>    with:
>          parent_gid:   group id of existing group (input)
>          gid:          group id of newly created group (output)
>          active:       =.true., if calling process is contained in grid
>                        =.false. otherwise
> 
>    Depending on the return value, gid is the group id of the grid
>    group or the remainder group. Thus, in case there are more processes
>    in the parent group than are needed by the topology, two groups
>    are created. If there is a perfect match, only one group is
>    created (in this case there is no process which returns
>    with active=.false. ===> there is no remainder gid.).
> 
>    The corresponding graph definition function then looks like:
> 
>    active = MPI_GRAPH (gid, parent_gid, nodes, index, nglist)
> 
>    The number of processes in the topology is no longer returned from
>    these functions. This was rather redundant in the first place, and
>    this information can easily be obtained from the inquiry function
>    for the number of processes in a group.

I think this is a good idea.  

> 3. The above definition functions could be extended by two arguments:
> 
>    1. How should the mapping be done? One out of
> 
>       MPI_REORDER | MPI_NOREORDER | MPI_RANDOM
> 
>       MPI_REORDER:   MPI is allowed to change the ranking of processes
>                      as compared to the parent group.
>       MPI_NOREORDER: the rank of a process is the same in parent and
>                      new group.
>       MPI_RANDOM:    the rank in the new group is set randomly.
>                      (Is the third option necessary?)
> 
>       This argument allows an ordered overlay of two topologies, as
>       in the following example:
> 
>       active = MPI_CART (cart_gid, parent_gid, ndim, dims, period,
>                          MPI_REORDER)
>       active = MPI_GRAPH (graph_gid, cart_gid, nodes, index, nglist,
>                           MPI_NOREORDER)
> 
>       This way the graph nodes 0,1, ..., n-1 are associated with the
>       processes with rank 0,1, ..., n-1 in the cartesian group.

I currently favor permitting MPI_REORDER only.  It seems to me that the 
MPI_NOREORDER case could be layered on top of the rest of MPI if we decide we 
really want it.  The current MPI point-to-point draft allows no communication 
between processes in group graph_gid and group cart_gid without reference to 
group cart_gid (or even parent_gid).  In other words, I have to know my rank 
in group cart_gid to communicate anyway so why do I care if the rank in group 
graph_gid is the same?  If I've hard-coded "rank" into my program, I can just 
look up my rank in group cart_gid.  

I think that including both MPI_REORDER and MPI_NOREORDER may cause some 
confusion.  The purpose of MPI_REORDER is to provide better communication 
performance on some machines.  The purpose of MPI_NOREORDER seems to be to 
provide a look-up table for convenience (performance would likely be worse on 
many machines).  

I might be persuaded otherwise if I saw a more detailed example of some 
pseudo-code that uses the topology overlay feature with the current MPI 
point-to-point draft (no inter-group communication).  Could someone do that?  

>    2. For cartesian topologies: definition of ranking in the group:
> 
>       MPI_ROWM | MPI_COLM
> 
>       for row-major / column-major ordering.

This may be the only sane way to handle this.  I can't come up with anything 
better at the moment.  :-)

> 4. Does every group have a default topology, and what could it be?
>    My proposal is that we choose a ring topology as default, i.e.,
>    the rank of a process 0, ..., n-1 defines its position in the ring.
>    No attempt is made to efficiently map the processes to the hardware.
>    As an alternative, we could argue that there is no reason for
>    closing the linear structure, and take a linear structure instead.
>    I think that a default topology makes the interface more consistent.

I think a default topology is a good idea for all groups (including the 
default "ALL" group).  Ring seems slightly better than linear since the 
collective communication proposal currently contains circular shift 
operations.  

> 5. Can processes in different topologies talk to each other? This
>    question seems closely related to whether processes in different
>    groups can communicate. I think that we can leave this decision
>    to the more general debate on groups. The topology inquiry functions
>    can be applied for groups of which the calling process is not a
>    member, if this is decided to be necessary for other group inquiry
>    functions.

Agree.  The context subcommittee and the point-to-point subcommittee can hash 
this out.  

> 6. Similarly, I think that we should not touch the question of what
>    a process id is. The topology functions can adopt whatever scheme
>    is decided in pt-to-pt.

Agree.  

> Rolf Hempel
> 

Tom Henderson

From owner-mpi-ptop@CS.UTK.EDU  Wed Mar 24 04:39:54 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA09656; Wed, 24 Mar 93 04:39:54 -0500
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01122; Wed, 24 Mar 93 04:39:17 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 24 Mar 1993 04:39:12 EST
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01114; Wed, 24 Mar 93 04:39:07 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA12055
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 24 Mar 1993 10:37:31 +0100
Received: by f1neuman.gmd.de id AA15364; Wed, 24 Mar 1993 10:38:58 GMT
Date: Wed, 24 Mar 1993 10:38:58 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9303241038.AA15364@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Next Meeting
Cc: gmap10@f1neuman.gmd.de


Tom Henderson writes:

> I currently favor permitting MPI_REORDER only.  It seems to me that
> the MPI_NOREORDER case could be layered on top of the rest of MPI if
> we decide we really want it.  The current MPI point-to-point draft
> allows no communication between processes in group graph_gid and
> group cart_gid without reference to group cart_gid (or even
> parent_gid).  In other words, I have to know my rank in group
> cart_gid to communicate anyway so why do I care if the rank in group
> graph_gid is the same?  If I've hard-coded "rank" into my program, I
> can just look up my rank in group cart_gid.
>
> I think that including both MPI_REORDER and MPI_NOREORDER may cause
> some confusion.  The purpose of MPI_REORDER is to provide better
> communication performance on some machines.  The purpose of
> MPI_NOREORDER seems to be to provide a look-up table for convenience
> (performance would likely be worse on many machines).

I'm not completely convinced either that we need to have MPI_NOREORDER,
and I don't have seen any "real" application yet where this feature
is necessary. The reasoning which led to this feature was as follows:

Assume you have ordered the group in a Cartesian grid, such that each
process has been assigned its role in the topology. Now assume that
you have an application which uses the grid in one phase, but it needs
to communicate along a tree in another phase. For some reasons it
could be important that the user can specify the position in the tree
for each process in the grid, that, for example, process (1,1) becomes
the root of the tree. A reason for this requirement could be that
process (1,1) keeps some local data which the root of the tree needs,
also. So, if the mapping optimization is done for both topologies
(MPI_REORDER), then - most likely - two different processes will
be selected, which means additional communication.

Layering the MPI_NOREORDER functions on top of MPI works, but the
disadvantage is that you have to duplicate the whole set of
topology functions, including the inquiry routines. If one selects
MPI_REORDER/MPI_NOREORDER in the topology definition, then all other
functions can work the same for both options.

On the issue of default topologies Tom writes:

> I think a default topology is a good idea for all groups (including
> the default "ALL" group).  Ring seems slightly better than linear
> since the collective communication proposal currently contains
> circular shift operations.

If we base the shift operation on topological information, then we
do not have to support both the circular shift and the end-off shift,
as in the current COLLCOMM proposal. I posted a corresponding definition
on the COLLCOMM mailing list:

Info = MPI_SHIFT(inbuf,outbuf,nitems,type,tag,group,direction,steps)

The additional "direction" argument specifies the coordinate direction
of the shift. If the coordinate direction is "periodic", then the
shift is circular, otherwise it is end-off. I cannot immagine that one
wants to have a circular shift in a non-periodic topology, or vice
versa.

The only remaining problem is the ALL group, because its topology
cannot be specified by the user. Thus, there is only one shift
version in that group. If the user wants the other one, he has to
duplicate the ALL group and give it the other periodicity type.
Does this sound reasonable?

Rolf Hempel
From owner-mpi-ptop@CS.UTK.EDU  Mon Apr 19 10:33:27 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA02674; Mon, 19 Apr 93 10:33:27 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA13408; Mon, 19 Apr 93 10:32:51 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 19 Apr 1993 10:32:50 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA13399; Mon, 19 Apr 93 10:32:47 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA04253
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 19 Apr 1993 16:32:38 +0200
Received: by f1neuman.gmd.de id AA12728; Mon, 19 Apr 1993 16:32:36 GMT
Date: Mon, 19 Apr 1993 16:32:36 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9304191632.AA12728@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: new ptop definitions
Cc: gmap10@f1neuman.gmd.de


Dear PTOP subcommittee member,

At the last Dallas meeting it was decided to base the topology functions
in MPI on the lower level group definition functions. In the following
I want to present to you my first thoughts about how this could be
done. If you have any suggestions/corrections/brilliant ideas, please
help.


Proposal for process topologies in MPI:
---------------------------------------

1. The basic group definition function will look something like

   MPI_CREATE_GROUP (gid_old, gid_new, key, newrank)

   This function was proposed by Marc Snir, and it allows both a
   partitioning by key (using the ranking in the original group) and
   a reordering using the user supplied newrank value.

   The alternative which will be discussed is to provide two functions,
   one for partitioning and one for reordering. I think we could do
   with both options. We now have to base the topology definition on
   this group creation mechanism.

2. The first thing we need is for each topology a function which
   computes an appropriate reordering of a given group for a good
   mapping. As Marc suggested, this would obviously look like

   MPI_MAP_CART (gid_old, ndim, dims, period, newrank), and
   MPI_MAP_GRAPH (gid_old, nodes, index, nglist, newrank).

   The definition of the function arguments ndim, dims, period, nodes,
   index, nglist is the same as in the original proposal.

   These functions compute the newrank value to be used by the above
   group creation function (key can be set to any fixed value).

3. In the spirit of the layering of MPI functions, it could be a good
   idea to define high-level functions for topological group creation
   which are defined in terms of the above low-level functions.
   In this way we could define two functions like

   MPI_CART (gid_old, gid_cart, ndims, dims, period) and
     which is

      MPI_MAP_CART (gid_old, ndim, dims, period, newrank)
      MPI_CREATE_GROUP (gid_old, gid_cart, 0, newrank)

      and

   MPI_GRAPH (gid_old, gid_graph, nodes, index, nglist).
     which is
       
      MPI_MAP_GRAPH (gid_old, nodes, index, nglist, newrank)
      MPI_CREATE_GROUP (gid_old, gid_graph, 0, newrank)

   This way we would free the applications programmer from handling
   the rank reordering explicitely. Also, this definition allows
   an optimized implementation of MPI_CART without use of the
   lower level functions (if the implementor chooses to do so).

4. A general question is whether there is a standard way of caching
   internal information for process groups in MPI. This has been
   proposed in the Context subcommittee, and it was characterized as
   a possible addition to all the different context proposals. If
   this mechanism is available, the functions MPI_CART and MPI_GRAPH
   can store information about the topology with the newly created
   group. The following data would have to be kept:

       1. topology type (cartesian/graph)
       2. for cartesian structure:
          ndim, dims, period, pos (own position in grid)
       3. for graph structure:
          nodes, pos

   This information can be used by later calls to inquiry functions

       MPI_INQMAP(gid)
       MPI_INQCART(maxdim, size, period, pos)
       MPI_INQGR(gid, nodes)

   The MPI_INQPID function should perhaps be redefined, so that it
   just returns the rank of a single process rather than a vector
   with several ids. The reason for this proposed change is that 
   with the new strategy MPI_INQPID is a local operation without
   any communication. Thus, a seperate call for each look-up does not
   cost too much.

   As you see, the availability of a information caching facility
   makes it possible to retain the functionality of our previous
   proposal without the need to interfere with the group creation
   functions. The only (non-portable) low-level functions would be
   the two mapping functions. For an easy first implementation, they
   could choose the mapping permutation to be the identity.

5. If the information cacheing is not available, we have to find other
   ways for defining the inquiry functions. Obviously, the MPI_INQMAP
   function would go away. It would be the responsibility of the
   application programmer to remember the topology assigned to a given
   group. The same is true for MPI_INQCART and MPI_INQGR. MPI_INQPID
   would have to be changed. As input one would have to add the
   dimensions of the overall grid. The rank calculation of a given
   process then is almost trivial.

6. The MPI_PARTC(gid_old, gid_new, lostdim) function can be based on
   top of MPI_CREATE_GROUP (gid_old, gid_new, key, 0). Argument
   key is simply set to the index of the calling process in the
   coordinate direction "lostdim". The result is a collection of
   hyperplane groups which are orthogonal to that direction.

I need your input for creating a proposal for the next Dallas meeting.
Every comment is welcome.

Best regards,
  Rolf
From owner-mpi-ptop@CS.UTK.EDU  Wed Apr 21 05:44:13 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA01566; Wed, 21 Apr 93 05:44:13 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01846; Wed, 21 Apr 93 05:43:37 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 21 Apr 1993 05:43:36 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01838; Wed, 21 Apr 93 05:43:28 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA20888
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 21 Apr 1993 11:43:18 +0200
Received: by f1neuman.gmd.de id AA16453; Wed, 21 Apr 1993 11:43:18 GMT
Date: Wed, 21 Apr 1993 11:43:18 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9304211143.AA16453@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Information cacheing
Cc: gmap10@f1neuman.gmd.de


Recently I got a (private) email from Tom Henderson in which he comments
on my latest proposal on process topologies. I think that it is
interesting to the whole committee, and I hope it's okay with Tom if I
forward it to you all:

>> 4. A general question is whether there is a standard way of caching
>>    internal information for process groups in MPI. This has been
>>    proposed in the Context subcommittee, and it was characterized as
>>    a possible addition to all the different context proposals. If
>>    this mechanism is available, the functions MPI_CART and MPI_GRAPH
>>    can store information about the topology with the newly created
>>    group...
>>
>> Best regards,
>>   Rolf
>> 
>
>Rolf,
>
>It seems to me that we could still do this even if a caching facility
>is not available to library users.  All we need is some kind of
>internal caching.  It could possibly be implemented differently on
>each system...  
>
>Does this make sense?  
>
>Tom

The question of whether the PTOP functions can pass information between
each other without the detour of the user argument lists is crucial
for the design of the user interface. If the information cacheing
is standardized in MPI, then the answer obviously is yes, and we can
use that facility in PTOP. I agree with Tom that this is no necessary
condition for an implementation of information cacheing for PTOP, but 
it would certainly help. Do you think we should rely on having some
way or other of storing data internally? 

The note from Tom was the only reaction I got so far on my proposal.
I really need your input, and I need it soon in order to get something
done before the next meeting. I want to make sure that the proposal
we produce on process topologies represents a consensus in the
subcommittee as well as possible.

Rolf
From owner-mpi-ptop@CS.UTK.EDU  Wed Apr 21 08:50:45 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA24140; Wed, 21 Apr 93 08:50:45 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA12654; Wed, 21 Apr 93 08:49:33 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 21 Apr 1993 08:49:32 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA12632; Wed, 21 Apr 93 08:49:29 -0400
Received: from b125.super.org by super.super.org (4.1/SMI-4.1)
	id AA22879; Wed, 21 Apr 93 08:49:23 EDT
Received: by b125.super.org (4.1/SMI-4.1)
	id AA13747; Wed, 21 Apr 93 08:49:22 EDT
Date: Wed, 21 Apr 93 08:49:22 EDT
From: lederman@b125.super.org (Steve Huss-Lederman)
Message-Id: <9304211249.AA13747@b125.super.org>
To: mpi-ptop@cs.utk.edu
Cc: gmap10@f1neuman.gmd.de
In-Reply-To: Rolf.Hempel@gmd.de's message of Wed, 21 Apr 1993 11:43:18 GMT <9304211143.AA16453@f1neuman.gmd.de>
Subject: Information cacheing

I should have responded sooner to Rolf's note.  I think it is fine to
use this to write the next draft of the ptop section.  The question of
caching seems like a convenience if I understand it.  If MPI does not
support it, then a structure would have to be passed back to the user
and used as input to other functions.  Is this correct?  I say we
say there is a mechanism for getting such information and leave it
vague until context is settled.  Then the agrument lists, etc for the
routines can be settled.

Steve
From owner-mpi-ptop@CS.UTK.EDU  Wed Apr 21 11:01:15 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA29374; Wed, 21 Apr 93 11:01:15 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA25596; Wed, 21 Apr 93 10:59:35 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 21 Apr 1993 10:59:35 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gw1.fsl.noaa.gov by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA25587; Wed, 21 Apr 93 10:59:33 -0400
Received: by gw1.fsl.noaa.gov (5.57/Ultrix3.0-C)
	id AA15249; Wed, 21 Apr 93 14:59:30 GMT
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA24694; Wed, 21 Apr 93 08:58:05 MDT
Date: Wed, 21 Apr 93 08:58:05 MDT
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9304211458.AA24694@macaw.fsl.noaa.gov>
To: mpi-ptop@cs.utk.edu
Subject: Re: Information cacheing

> From owner-mpi-ptop@cs.utk.edu Wed Apr 21 06:50:11 1993
> X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 21 Apr 1993 08:49:32 EDT

Steve Huss-Lederman writes:  

> I should have responded sooner to Rolf's note.  I think it is fine to
> use this to write the next draft of the ptop section.  The question of
> caching seems like a convenience if I understand it.  If MPI does not
> support it, then a structure would have to be passed back to the user
> and used as input to other functions.  Is this correct?  I say we
> say there is a mechanism for getting such information and leave it
> vague until context is settled.  Then the agrument lists, etc for the
> routines can be settled.
> 
> Steve

I agree.  

Tom Henderson


From owner-mpi-ptop@CS.UTK.EDU  Fri Apr 30 05:35:29 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA17837; Fri, 30 Apr 93 05:35:29 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA27107; Fri, 30 Apr 93 05:34:40 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 30 Apr 1993 05:34:39 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA27090; Fri, 30 Apr 93 05:34:24 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA14184
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Fri, 30 Apr 1993 11:33:38 +0200
Received: by f1neuman.gmd.de id AA15005; Fri, 30 Apr 1993 11:33:51 GMT
Date: Fri, 30 Apr 1993 11:33:51 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9304301133.AA15005@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: New draft
Cc: gmap10@f1neuman.gmd.de


Dear Collegue,

time is going by quickly, and the next MPI meeting is approaching. I
have put together a new draft of the topology section, which I send
you for comment with this note as LaTex source. If you have any problem
with processing it, please let me know. I will then send you a
PostScript file.

Please read the document carefully, and send me all your comments.
I tried to follow the general decisions at the last MPI meeting, at
the same time retaining most features of the previous version. I didn't
try to write the text in such a polished style as before, with man
pages and everything. Instead I used the same macros as are used in
the PT2PT and COLLCOMM sections. This makes the text hardly readable,
but this is not of highest priority at the moment.

I really need your input, so that I can produce the new official version
by next week.

Rolf Hempel
-------------------------- cut here ------------------------------------
%     MPI Authors:
% This is MY version of YOUR chapter.  It has a wrapper so that you
% should be able to simply LaTeX this.
%
% Please work from this text so that we are in synch.
%
% --Steve Otto

\documentstyle[twoside,11pt]{report}
\pagestyle{headings}
%\markright{ {\em Draft Document of the MPI Standard,\/ \today} }
\marginparwidth 0pt
\oddsidemargin=.25in
\evensidemargin  .25in
\marginparsep 0pt
\topmargin=-.5in
\textwidth=6.0in
\textheight=9.0in
\parindent=2em

%   ----------------------------------------------------------------------
%   mpi-macs.tex  --- man page macros,
%                discuss, missing, mpifunc macros
%
% ----------------------------------------------------------------------
% a couple of commands from Marc Snir, modified S. Otto

\newlength{\discussSpace}
\setlength{\discussSpace}{.7cm}

\newcommand{\discuss}[1]{\vspace{\discussSpace} {\small {\bf Discussion:} #1} \vspace{\discussSpace}
}

\newcommand{\missing}[1]{\vspace{\discussSpace} {\small {\bf Missing:} #1} \vspace{\discussSpace}
}

\newlength{\codeSpace}
\setlength{\codeSpace}{.3cm}

\newcommand{\mpifunc}[1]{\vspace{\codeSpace} {\bf #1} \vspace{\codeSpace} }

% -----------------------------------------------------------------------
%  A few commands to help in writing MPI man pages
%
\def\twoc#1#2{
\begin{list}
{\hbox to95pt{#1\hfil}}
{\setlength{\leftmargin}{120pt}
 \setlength{\labelwidth}{95pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#2}
\end{list}
}
\outer\long\def\onec#1{
\begin{list}
{}
{\setlength{\leftmargin}{25pt}
 \setlength{\labelwidth}{0pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#1}
\end{list}
}
\def\manhead#1{\noindent{\bf{#1}}}


\hyphenation{RE-DIS-TRIB-UT-ABLE sub-script mul-ti-ple}

\begin{document}

\setcounter{page}{1}
\pagenumbering{roman}

\title{ {\em D R A F T} \\ Document for a Standard Message-Passing Interface}

\author{Scott Berryman, {\em Yale Univ} \\
James Cownie, {\em Meiko Ltd} \\
Jack Dongarra, {\em Univ. of Tennessee and ORNL} \\
Al Geist, {\em ORNL} \\
Bill Gropp, {\em ANL} \\
Rolf Hempel, {\em GMD} \\
Bob Knighten, {\em Intel} \\
Rusty Lusk, {\em ANL} \\
Steve Otto, {\em Oregon Graduate Inst} \\
Tony Skjellum, {\em Missisippi State Univ} \\
Marc Snir, {\em IBM T. J. Watson} \\
David Walker, {\em ORNL} \\
Steve Zenith, {\em Kuck \& Associates}    }

\date{March 25, 1993 \\
This work was supported by ARPA and NSF under contract number \#\#\#,
by the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615.
}

\maketitle
\hfuzz=5pt
%\tableofcontents

%\begin{abstract}
%We don't have an abstract yet.
%\end{abstract}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Process Topologies}
\label{sec:topol}
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process grid. Usually a process does
not have to know the PID numbers of {\em all} processes in the grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

Additionally, the user--defined process structure can be exploited
by the system in the assignment of processes to hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail is outside the scope of
this standardization proposal, since it is too much dependent on the
particular hardware. The description of a ``virtual process topology'',
however, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function MPI\_GRAPH presented in this paper
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph cartesian structures of
arbitrary dimension are supported.
The topology definition function MPI\_CART can be used to describe both
grids and tori by specifying per coordinate direction whether the
process structure is periodic or not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the PID numbers of other processes by calling MPI\_INQPID.
The processes are specified by their logical node numbers (graph) or
rectangular process coordinates (grid/torus). Thus, it is possible to
inquire for the PID numbers of only those (few) processes with which
messages have to be exchanged.

\discuss{In the PT2PT discussion it is not yet decided how processes
are addressed. This could, for example, be done by unique identifiers,
or by their ranks in a group.
The topology handling will be adapted to whatever decision will be
taken in PT2PT.}
%
\section{Embedding in MPI}
%
The support for virtual topologies has to be fully integrated in the
framework of MPI. In particular, the virtual topology functions do not
interfere with the functions for process group creation and with those
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this paper are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic remapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a logical topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
process group creation function MPI\_CREATE\_GROUP plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and use them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
This chapter assumes the availability of the following MPI features
which are defined in other chapters:
\begin{enumerate}
\item An existing process group (e.g., the ALL group) can be
partitioned and/or renumbered using

\mpifunc{MPI\_CREATE\_GROUP(gid\_old, gid\_new, key, newrank).}

This function is called by all processes in group {\em gid\_old} loosely
synchronously. It creates as many different subgroups as there
are different values of {\em key}. The ranking in the newly created
groups is determined by the {\em newrank} values, with the process
ranks in the parent group for tie breaking.
\item There is an internal information cacheing facility,
which can be used by MPI routines to store and retrieve
information related to a process group. This facility was proposed
in the Context Subcommittee. High--level topology functions use
this possibility to store structure information for a process group,
which is then later used by topology inquiry functions. Also, special
shift functions which are based on the topological structure can take
advantage of this information.
\end{enumerate}
\discuss{If the information cacheing will not be part of MPI, the
topology information can be stored in opaque objects, handles to which
then have to be passed to the topology functions. Of course, this would
be less elegant than an internal handling.}
%
\subsection{Low--level topology functions}
%
On the lowest level groups are created by the general function
MPI\_CREATE\_GROUP. Using the input argument {\em newrank} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

For cartesian structures the function is

\mpifunc{MPI\_MAP\_CART(gid\_old, ndim, dims, period, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN ndim, dims, period] definition of cartesian structure,
\item[OUT newrank] rank of calling process in reordered group.
\end{description}

The corresponding function for general graph structures is

\mpifunc{MPI\_MAP\_GRAPH(god\_old, nodes, index, nglist, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN nodes, index, nglist] definition of graph structure,
\item[OUT newrank] rank of calling process in reordered group.
\end{description}

If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to MPI\_NORANK. 
%
\subsection{High--level topology functions}
%
In principle, all what is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
group creation routine. However, this is not what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For cartesian and graph structures the functions MPI\_CART and
MPI\_GRAPH create a process group with topological structure.
They combine the call to the mapping function with the call to the
group creation routine. The user can decide whether the ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.
MPI\_CART is defined as

\mpifunc{MPI\_CART(gid\_old, gid\_cart, ndims, dims, period, reorder)}
with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_cart] group id of cartesian group (if calling process is
                     part of it, else id of rest group),
\item[IN ndim, dims, period] definition of cartesian structure,
\item[IN reorder] ranking may be reordered or not.
\end{description}
The return value is the rank of the calling process in the cartesian
group (or MPI\_NORANK).

Apart from some local computations, MPI\_CART is based on the two
function calls

\mpifunc{MPI\_MAP\_CART (gid\_old, ndim, dims, period, newrank)} 

and

\mpifunc{MPI\_CREATE\_GROUP (gid\_old, gid\_cart, 0, newrank)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\mpifunc{MPI\_GRAPH(gid\_old, gid\_graph, nodes, index, nglist, reorder)
} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_graph] group id of graph group (if calling process is
                      part of it, else id of rest group),
\item[IN nodes, index, nglist] definition of graph structure,
\item[IN reorder] ranking may be reordered or not.
\end{description}
%
\vspace*{3.0ex}

In the context subcommittee a mechanism has been proposed for cacheing
information which is associated with a process group. If that
feature will be part of MPI, the high--level topology functions
can store the following information:
\begin{enumerate}
\item Type of topology (cartesian/graph)
\item For a cartesian topology:
   \begin{itemize}
   \item ndim (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\end{enumerate}
For a graph structure no information has to be stored, because the
graph node number is the rank in the graph group, and the size of the
graph is the number of processes in that group.

In case the cacheing mechanism does not become part of MPI, the above
data have to be stored in an opaque object, a handle to which would
get included in the argument lists of all related topology functions.
Since this alternative would be much less elegant, the topology
section would very much benefit from the inclusion of the
cacheing facility.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication. In the following the assumption is made that the
information cacheing is available. Otherwise the handle to the
opaque information object has to be added to the argument lists
(or replace the group identifier argument).

The function MPI\_INQMAP returns the type of mapping which is
assigned to a group. 

\mpifunc{map = MPI\_INQMAP(gid).}

The return value is one of the following:
\begin{itemize}
\item MPI\_CARTTOP: cartesian topology,
\item MPI\_GRAPHTOP: graph topology,
\item MPI\_NOTOP: no topology.
\end{itemize}

For a process group with cartesian ordering which has been created
by MPI\_CART, MPI\_INQCART looks up the following info:

\mpifunc{MPI\_INQCART(gid, maxdim, size, period, pos)} with
\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN maxdim] length of vectors size(*), period(*), and pos(*) in
                 the calling program,
\item[OUT size] number of processes for each coordinate direction,
\item[OUT period] periodicity yes/no for each coordinate direction,
\item[OUT pos] position of calling process in cartesian structure.
\end{description}

For a process group with cartesian structure, the function
MPI\_INQPID translates the logical process coordinates to process
ids as they are used by the point--to--point routines:

\mpifunc{pid = MPI\_INQPID(gid, location)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN location] coordinate vector of process.
\end{description}

\discuss{Depending on the decisions taken in the PT2PT subcommittee,
MPI\_INQPID might be changed to return the rank in the group rather
than a pid.}

\subsection{Partitioning of cartesian structures}

If a group has been created with MPI\_CART,
the function MPI\_PARTC
can be used to partition the group into subgroups which form
hyperplanes of the original process structure. As an example,
assume that MPI\_CART has defined a two--dimensional grid structure
on a process group. With a call to MPI\_PARTC this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\mpifunc{MPI\_PARTC(gid, lostdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN lostdim] direction perpendicular to resulting hyperplanes.
\end{description}
The function returns the group identifier of the hyperplane group in
which the calling process is contained.

MPI\_PARTC uses the function MPI\_CREATE\_GROUP to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by MPI\_PARTC, the
inquiry functions MPI\_INQCART and MPI\_INQPID consistently
refer to the grid sections if applied to a subgroup.

If the process topology is a cartesian structure, a collective shift
operation most likely is used along a coordinate direction. The function
MPI\_SHIFTGR partitions a cartesian group into one--dimensional
subgroups, which are all oriented in one coordinate direction.
Every process is contained in exactly one subgroup:

\mpifunc{MPI\_SHIFTGR(gid, direction)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN direction] coordinate direction of one--dimensional subgroups.
\end{description}

MPI\_SHIFTGR uses the function MPI\_CREATE\_GROUP to partition the
parent group. The return value is the group identifier of the 
one--dimensional subgroup to which the calling process belongs.

\discuss{Instead of creating one--dimensional subgroups and then use
the standard collective communication (circular or end--off) shift
functions, one could also define a topology based shift function.
It would look very much like the standard shift, with an additional
argument defining the coordinate direction for the shift. Depending
on the periodicity information of the cartesian structure, the shift
function could choose the circular or end--off version automatically.}

In a portable program the number of available processors usually is not
known at compile time. In the case of a cartesian topology the function
MPI\_MAKDIM helps in setting the numbers of processes per coodinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\mpifunc{MPI\_MAKDIM(gid, ndim, dims)} with

\begin{description}
\item[IN gid] group id of group which is to be structured,
\item[IN ndim] number of cartesian dimensions,
\item[IN/OUT dims] number of processes in each coordinate direction.
\end{description}

The processes of the group with ID number {\tt gid} are divided
as evenly as possible among {\tt ndim} dimensions, subject to the
constraint that all processes in the group are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt dims(i)} is positive and does not
evenly divide the number of processes in the group. Negative input
values of {\tt dims(i)} will also cause an error. All elements of
{\tt dims(*)} must be set to 0 for completely automatic process
distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine MPI\_CART.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the PID numbers of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
MPI\_SENDB(...,neigh\_pid(1),...) to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndim, mx\_neigh                                           \\
\>parameter (ndim=2, mx\_neigh=4)                                   \\
\>integer gid, gid\_cart, dims(ndim), neigh\_def(2),
          neigh\_pid(mx\_neigh)                                     \\
\>integer own\_position(ndim), period(ndim), i, j, num\_neigh, ret,
          rank                                                      \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                        \\
\>data dims / ndim $\ast$ 0 /                                       \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position\\
\>gid = ALL                                                         \\
C  \hspace{5mm} Set process grid size and periodicity               \\
\>ret = MPI\_MAKDIM(gid, ndim, dims)                                \\
\>if (ret .lt. 0) call error\_handler(ret)                          \\
\>period(1) = MPI\_PER                                              \\
\>period(2) = MPI\_PER                                              \\
\>rank = MPI\_CART (gid, gid\_cart, ndim, dims, period)             \\
C  \hspace{5mm} If not a grid process: stop                         \\
\>if (rank .eq. MPI\_NORANK) stop                                   \\
\>call MPI\_INQCART (gid\_cart, ndim, dims, period, own\_position) \\
C  \hspace{5mm} Look up the PID numbers for the neighbors.
                               Own process coordinates are (i,j).   \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)  \\
\>i = own\_position(1)                                              \\
\>j = own\_position(2)                                              \\
\>neigh\_def(1) = i--1                                            \\
\>neigh\_def(2) = j                                               \\
\>neigh\_pid(1) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i+1                                             \\
\>neigh\_def(2) = j                                               \\
\>neigh\_pid(2) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j--1                                            \\
\>neigh\_pid(3) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j+1                                             \\
\>neigh\_pid(4) = MPI\_INQPID (gid, neigh\_def)                   \\
\>num\_neigh = mx\_neigh                                            \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration   \\
\>call init (u, f)                                                  \\
\>do 10 it=1,100                                                    \\
\>\>call relax (u, f)                                               \\
C  \hspace{5mm} Exchange data with neighbor processes               \\
\>\>call exchange (u, neigh\_pid)                                   \\
10 \>continue                                                       \\
\>call output (u)                                                   \\
\>end                                                               \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
\end{document}
From owner-mpi-ptop@CS.UTK.EDU  Tue May  4 11:09:49 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA18199; Tue, 4 May 93 11:09:49 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA11791; Tue, 4 May 93 11:08:28 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 4 May 1993 11:08:27 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA11783; Tue, 4 May 93 11:08:25 -0400
Received: from b124.super.org by super.super.org (4.1/SMI-4.1)
	id AA10322; Tue, 4 May 93 11:08:22 EDT
Received: by b124.super.org (4.1/SMI-4.1)
	id AA02846; Tue, 4 May 93 11:08:19 EDT
Date: Tue, 4 May 93 11:08:19 EDT
From: lederman@super.org (Steve Huss-Lederman)
Message-Id: <9305041508.AA02846@b124.super.org>
To: mpi-ptop@cs.utk.edu
Subject: comments on 4/25 draft

I generally like Rolf's chapter.  Thanks for doing it :-).  Below are
a few points:

On p. 2 is a discussion of why not to have weights in MPI_GRAPH.  Why
not have a second call that allows weights.  If the user knows them
then this information can be useful.  To use Rolf's own argument
against himself: It is most difficult to recover later :-) I agree it
takes more work, so have the two level approach and make a separate
call for the more complex case.  An implementation can always ignore
the weights and do a regular MPI_GRAPH.  (which can also be ignored
;-)

On p. 3 near the top the first bullet says: "fits best to a local SPMD
model in which...."  Why is this the case because we don't have
alignment with substructures?  I am probably being slow because I
don't see the argument.

In the MPI_CREATE_GROUP (bottom p. 3) says "The ranking in the newly
created groups is determined by the newrank values, with the process
ranks in the parent group for tie breaking."  I'm missing something.
Is newrank both input and output?  How does the newrank determine the
rank?

I assume a later draft will have more details on the arguments
concerning the topologies in MPI_MAP_CART/GRAPH (p. 4).

The issue of how we number the location (coordinates) in MPI_INQPID
seems lost (p. 6 near bottom).  Did we vote to have both and place
that information in the descriptor.  (Both being 0 and 1 up
numbering).  Is this correct?  Either way the draft needs to state
which one.  If it is both then the create and inquire functions need
some changes.

And now for a small point to wonder about when you have nothing else
to do:  In the example on p. 9 do you need the line:
if(rank .eq. MPI_NORANK) stop?
If MPI_MAKDIM works correctly then it places all the nodes in one of
the  dimensions.  thus all processes get a group.  Correct?  Just
added this one to let you know I actually read the whole thing :-)

Steve
From owner-mpi-ptop@CS.UTK.EDU  Wed May  5 05:27:50 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA18080; Wed, 5 May 93 05:27:50 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01022; Wed, 5 May 93 05:26:38 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 5 May 1993 05:26:36 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA00833; Wed, 5 May 93 05:26:20 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA21501
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 5 May 1993 11:25:26 +0200
Received: by f1neuman.gmd.de id AA15664; Wed, 5 May 1993 11:25:42 GMT
Date: Wed, 5 May 1993 11:25:42 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9305051125.AA15664@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Revised draft
Cc: gmap10@f1neuman.gmd.de


Hi there,

many thanks to Steve and Tom for reading my draft so carefully, and for
their many suggestions for improvements. I tried to implement all their
comments into a revised version which I send you with this note.
In an additional message you will receive the corresponding PostScript.
Please send me your comments as soon as possible, because I will have
to give the text to Steve Otto for inclusion into the MPI document
soon.
  Apart from the notes of Steve and Tom I did not get any comments.
This can either mean that the text as it stands is okay with everybody
else, or that nobody else cares any more. Pessimistic as I usually am,
I fear the second alternative comes nearer to the truth. Any comment?

  Steve raised two points which I would like to shortly answer here.
He wrote:

> On p. 3 near the top the first bullet says: "fits best to a local SPMD
> model in which...."  Why is this the case because we don't have
> alignment with substructures?  I am probably being slow because I
> don't see the argument.

What I meant is the following: the system is free to choose the
topological location for a process (which is already running) only if
they all run the same program. If, for example, a grid boundary were
handled by a different code, this assumption would no longer hold.
This is what I called the local SPMD program (local, because it doesn't
matter if other process groups run different programs).

Steve then continues:

> In the MPI_CREATE_GROUP (bottom p. 3) says "The ranking in the newly
> created groups is determined by the newrank values, with the process
> ranks in the parent group for tie breaking."  I'm missing something.
> Is newrank both input and output?  How does the newrank determine the
> rank?

I referred to the group creation funtion which was proposed by Marc
Snir (under the name MPI_NEW_CONTEXT). I renamed his input argument
"index" to "newrank" to avoid confusion with the index vector of the
graph mapping function. (Sorry that this way I obviously created more
confusion than I avoided). Thus, newrank is an input argument, and it is
used for determining the rank in the newly created group. If two or
more processes call the function with the same newrank value, their
ranks in the parent group are used for tie breaking.

Best regards,
  Rolf
---------------------- LaTex source follows ----------------------------
%     MPI Authors:
% This is MY version of YOUR chapter.  It has a wrapper so that you
% should be able to simply LaTeX this.
%
% Please work from this text so that we are in synch.
%
% --Steve Otto

\documentstyle[twoside,11pt]{report}
\pagestyle{headings}
%\markright{ {\em Draft Document of the MPI Standard,\/ \today} }
\marginparwidth 0pt
\oddsidemargin=.25in
\evensidemargin  .25in
\marginparsep 0pt
\topmargin=-.5in
\textwidth=6.0in
\textheight=9.0in
\parindent=2em

%   ----------------------------------------------------------------------
%   mpi-macs.tex  --- man page macros,
%                discuss, missing, mpifunc macros
%
% ----------------------------------------------------------------------
% a couple of commands from Marc Snir, modified S. Otto

\newlength{\discussSpace}
\setlength{\discussSpace}{.7cm}

\newcommand{\discuss}[1]{\vspace{\discussSpace} {\small {\bf Discussion:} #1} \vspace{\discussSpace}
}

\newcommand{\missing}[1]{\vspace{\discussSpace} {\small {\bf Missing:} #1} \vspace{\discussSpace}
}

\newlength{\codeSpace}
\setlength{\codeSpace}{.3cm}

\newcommand{\mpifunc}[1]{\vspace{\codeSpace} {\bf #1} \vspace{\codeSpace} }

% -----------------------------------------------------------------------
%  A few commands to help in writing MPI man pages
%
\def\twoc#1#2{
\begin{list}
{\hbox to95pt{#1\hfil}}
{\setlength{\leftmargin}{120pt}
 \setlength{\labelwidth}{95pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#2}
\end{list}
}
\outer\long\def\onec#1{
\begin{list}
{}
{\setlength{\leftmargin}{25pt}
 \setlength{\labelwidth}{0pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#1}
\end{list}
}
\def\manhead#1{\noindent{\bf{#1}}}


\hyphenation{RE-DIS-TRIB-UT-ABLE sub-script mul-ti-ple}

\begin{document}

\setcounter{page}{1}
\pagenumbering{roman}

\title{ {\em D R A F T} \\ Document for a Standard Message-Passing Interface}

\author{Scott Berryman, {\em Yale Univ} \\
James Cownie, {\em Meiko Ltd} \\
Jack Dongarra, {\em Univ. of Tennessee and ORNL} \\
Al Geist, {\em ORNL} \\
Bill Gropp, {\em ANL} \\
Rolf Hempel, {\em GMD} \\
Bob Knighten, {\em Intel} \\
Rusty Lusk, {\em ANL} \\
Steve Otto, {\em Oregon Graduate Inst} \\
Tony Skjellum, {\em Missisippi State Univ} \\
Marc Snir, {\em IBM T. J. Watson} \\
David Walker, {\em ORNL} \\
Steve Zenith, {\em Kuck \& Associates}    }

\date{March 25, 1993 \\
This work was supported by ARPA and NSF under contract number \#\#\#,
by the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615.
}

\maketitle
\hfuzz=5pt
%\tableofcontents

%\begin{abstract}
%We don't have an abstract yet.
%\end{abstract}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Process Topologies}
\label{sec:topol}
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process grid. Usually a process does
not have to know the PID numbers of {\em all} processes in the grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

Additionally, the user--defined process structure can be exploited
by the system in the assignment of processes to hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail is outside the scope of
this standardization proposal, since it is too much dependent on the
particular hardware. The description of a ``virtual process topology'',
however, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function MPI\_GRAPH presented in this paper
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

\discuss{One could also have two graph mapping functions, one of
which uses communication weighting, whereas the other does not.
The mapping function with weighting,
\linebreak
MPI\_MAP\_WGRAPH, would then
have an additional input argument {\tt weights} with the same structure
as the neighbor list {\tt nglist}. On the higher abstraction level
the function MPI\_GRAPH would be complemented by MPI\_WGRAPH in the
same way.}

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph cartesian structures of
arbitrary dimension are supported.
The topology definition function MPI\_CART can be used to describe both
grids and tori by specifying per coordinate direction whether the
process structure is periodic or not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the PID numbers of other processes by calling MPI\_INQPID.
The processes are specified by their logical node numbers (graph) or
rectangular process coordinates (grid/torus). Thus, it is possible to
inquire for the PID numbers of only those (few) processes with which
messages have to be exchanged.

\discuss{In the PT2PT discussion it is not yet decided how processes
are addressed. This could, for example, be done by unique identifiers,
or by their ranks in a group.
The topology handling will be adapted to whatever decision will be
taken in PT2PT.}
%
\section{Embedding in MPI}
%
The support for virtual topologies has to be fully integrated in the
framework of MPI. In particular, the virtual topology functions do not
interfere with the functions for process group creation and with those
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this paper are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic remapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a logical topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
process group creation function MPI\_CREATE\_GROUP plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and use them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
This chapter assumes the availability of the following MPI features
which are defined in other chapters:
\begin{enumerate}
\item An existing process group (e.g., the ALL group) can be
partitioned and/or renumbered using

\mpifunc{MPI\_CREATE\_GROUP(gid\_old, gid\_new, key, newrank).}

This function is called by all processes in group {\em gid\_old} loosely
synchronously. It creates as many different subgroups as there
are different values of {\em key}. The ranking in the newly created
groups is determined by the {\em newrank} values, with the process
ranks in the parent group for tie breaking.
\item There is an internal information cacheing facility,
which can be used by MPI routines to store and retrieve
information related to a process group. This facility was proposed
in the Context Subcommittee. High--level topology functions use
this possibility to store structure information for a process group,
which is then later used by topology inquiry functions. Also, special
shift functions which are based on the topological structure can take
advantage of this information.
\end{enumerate}
\discuss{If the information cacheing will not be part of MPI, passing
the topology information for a group from one topology function to
the other can be handled in several other ways which will be discussed
later.}

There has been a general decision in MPI to start all numbering with
0 instead of 1. Thus, coordinates in a cartesian structure are
0,1, ..., dim-1. In the same way, nodes in a general graph are
numbered zero up.
%
\subsection{Low--level topology functions}
%
On the lowest level groups are created by the general function
MPI\_CREATE\_GROUP. Using the input argument {\em newrank} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

For cartesian structures the function is

\mpifunc{newrank = MPI\_MAP\_CART(gid\_old, ndim, dims, period)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN ndim] number of dimensions of cartesian structure,
\item[IN dims(*)] number of processes in each coordinate direction,
\item[IN period(*)] periodicity specification in each coordinate
                    direction.
\end{description}
The return value is the reordered rank of the calling process. \\[4.0ex]

The corresponding function for general graph structures is

\mpifunc{newrank = MPI\_MAP\_GRAPH(gid\_old, nodes, index, nglist)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN nodes] number of graph nodes,
\item[IN index(*), nglist(*)] definition of graph structure:
For each graph node its set of neighbors is entered, i.~e., the set of
processes with which the node process is going to communicate most
frequently. Since there is no weighting of node connections, it might be
sensible to specify only those neighbors with which there is a
considerable amount of communication.

For each node $i\;\:(0 \leq i \leq nodes-1)$
the list of the neighbor nodes
is stored at $nglist(j),\;\: index(i) \leq j
\leq index(i+1)-1$. For the
last process $index(i+1)$ points to the first free position
in vector nglist. Note that the matrix is symmetric, i.~e., if node 
{\em i} is a neighbor of node {\em j}, than node {\em j} is also a
neighbor of node {\em i}. This property can be used for an internal
checking of the input arguments.
\end{description}
Again, the function returns the reordered rank of calling process.
\\[4.0ex]
If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to MPI\_NORANK. 
%
\subsection{High--level topology functions}
%
In principle, all that is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
group creation routine. However, this is not what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For cartesian and graph structures the functions MPI\_CART and
MPI\_GRAPH create a process group with topological structure.
They combine the call to the mapping function with the call to the
group creation routine. The user can decide whether the ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.

The option of not reordering the process ranks can be useful in the
case of an overlay of different topologies. The user can then fully
control which location in the first topology coincides with which
location in the second one. The price which one obviously has to pay
in this case is that for only one topology the process arrangement
can be optimized.

MPI\_CART is defined as

\mpifunc{MPI\_CART(gid\_old, gid\_cart, ndims, dims, period, reorder)}
with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_cart] group id of cartesian group (if calling process is
                     part of it, else id of rest group),
\item[IN ndim, dims(*), period(*)] definition of cartesian structure,
                                   (for details see the definition of
                                    MPI\_MAP\_CART)
\item[IN reorder] ranking may be reordered or not.
\end{description}
The return value is the rank of the calling process in the cartesian
group (or MPI\_NORANK).

Apart from some local computations, MPI\_CART is based on the two
function calls

\mpifunc{MPI\_MAP\_CART (gid\_old, ndim, dims, period, newrank)} 

and

\mpifunc{MPI\_CREATE\_GROUP (gid\_old, gid\_cart, 0, newrank)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\mpifunc{MPI\_GRAPH(gid\_old, gid\_graph, nodes, index, nglist, reorder)
} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_graph] group id of graph group (if calling process is
                      part of it, else id of rest group),
\item[IN nodes, index(*), nglist(*)] definition of graph structure,
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)
\item[IN reorder] ranking may be reordered or not.
\end{description}
%
\vspace*{3.0ex}

In the context subcommittee a mechanism has been proposed for cacheing
information which is associated with a process group. If that
feature will be part of MPI, it can be used by the high--level topology
functions to store the following information:
\begin{enumerate}
\item Type of topology (cartesian/graph)
\item For a cartesian topology:
   \begin{itemize}
   \item ndim (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\end{enumerate}
For a graph structure no information has to be stored, because the
graph node number is the rank in the graph group, and the size of the
graph is the number of processes in that group.

In case the cacheing mechanism does not become part of MPI, there are
two other possibilities: since the storage and retrieval of the above
information is only done by the topology functions, it can internally
be stored with other group information in an implementation--dependent
way, which each vendor can do as is most convenient.

As an alternative, the information could be stored in an opaque object,
a handle to which would have to be included in the argument lists of
all related topology functions. However, this alternative would be much
less elegant.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication. In the following the assumption is made that the
information cacheing is available. Otherwise the handle to the
opaque information object has to be added to the argument lists
(or replace the group identifier argument).

The function MPI\_INQMAP returns the type of mapping which is
assigned to a group. 

\mpifunc{map = MPI\_INQMAP(gid).}

The return value is one of the following:
\begin{itemize}
\item MPI\_CARTTOP: cartesian topology,
\item MPI\_GRAPHTOP: graph topology,
\item MPI\_NOTOP: no topology.
\end{itemize}

For a process group with cartesian ordering which has been created
by MPI\_CART, MPI\_INQCART looks up the following info:

\mpifunc{dim = MPI\_INQCART(gid, maxdim, size, period, pos)} with
\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN maxdim] length of vectors size(*), period(*), and pos(*) in
                 the calling program,
\item[OUT size(*)] number of processes for each coordinate direction,
\item[OUT period(*)] periodicity yes/no for each coordinate direction,
\item[OUT pos(*)] position of calling process in cartesian structure.
\end{description}
The return value is the dimension of the cartesian structure.

For a process group with cartesian structure, the function
MPI\_INQPID translates the logical process coordinates to process
ids as they are used by the point--to--point routines:

\mpifunc{pid = MPI\_INQPID(gid, location)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN location] coordinate vector of process.
\end{description}

In a sense, the inverse operation to MPI\_INQPID is provided by the
function:

\mpifunc{MPI\_INQLOC(gid, rank, location, maxdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN rank] rank of a process within group {\tt gid},
\item[OUT location(*)] coordinate vector of process,
\item[IN maxdim] length of vector {\tt location} in the calling
                 program (only for error checking).
\end{description}
MPI\_INQLOC translates a rank in the group into a topology location.

\discuss{Depending on the decisions taken in the PT2PT subcommittee,
MPI\_INQPID might be changed to return the rank in the group rather
than a pid.}

\subsection{Partitioning of cartesian structures}

If a group has been created with MPI\_CART,
the function MPI\_PARTC
can be used to partition the group into subgroups which form
hyperplanes of the original process structure. As an example,
assume that MPI\_CART has defined a two--dimensional grid structure
on a process group. With a call to MPI\_PARTC this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\mpifunc{MPI\_PARTC(gid, lostdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN lostdim] direction perpendicular to resulting hyperplanes.
\end{description}
The function returns the group identifier of the hyperplane group in
which the calling process is contained.

MPI\_PARTC uses the function MPI\_CREATE\_GROUP to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by MPI\_PARTC, the
inquiry functions MPI\_INQCART and MPI\_INQPID consistently
refer to the grid sections if applied to a subgroup.

If the process topology is a cartesian structure, a collective shift
operation most likely is used along a coordinate direction. The function
MPI\_SHIFTGR partitions a cartesian group into one--dimensional
subgroups, which are all oriented in one coordinate direction.
Every process is contained in exactly one subgroup:

\mpifunc{MPI\_SHIFTGR(gid, direction)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN direction] coordinate direction of one--dimensional subgroups.
\end{description}

MPI\_SHIFTGR uses the function MPI\_CREATE\_GROUP to partition the
parent group. The return value is the group identifier of the 
one--dimensional subgroup to which the calling process belongs.

\discuss{Instead of creating one--dimensional subgroups and then use
the standard collective communication (circular or end--off) shift
functions, one could also define a topology based shift function.
It would look very much like the standard shift, with an additional
argument defining the coordinate direction for the shift. Depending
on the periodicity information of the cartesian structure, the shift
function could choose the circular or end--off version automatically.}

In a portable program the number of available processors usually is not
known at compile time. In the case of a cartesian topology the function
MPI\_MAKDIM helps in setting the numbers of processes per coodinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\mpifunc{MPI\_MAKDIM(gid, ndim, dims)} with

\begin{description}
\item[IN gid] group id of group which is to be structured,
\item[IN ndim] number of cartesian dimensions,
\item[IN/OUT dims] number of processes in each coordinate direction.
\end{description}

The processes of the group with ID number {\tt gid} are divided
as evenly as possible among {\tt ndim} dimensions, subject to the
constraint that all processes in the group are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt dims(i)} is positive and does not
evenly divide the number of processes in the group. Negative input
values of {\tt dims(i)} will also cause an error. All elements of
{\tt dims(*)} must be set to 0 for completely automatic process
distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine MPI\_CART.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the PID numbers of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
MPI\_SENDC(...,neigh\_pid(1),...) to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndim, mx\_neigh                                           \\
\>parameter (ndim=2, mx\_neigh=4)                                   \\
\>integer gid, gid\_cart, dims(ndim), neigh\_def(2),
          neigh\_pid(mx\_neigh)                                     \\
\>integer own\_position(ndim), period(ndim), i, j, num\_neigh, ret,
          rank                                                      \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                        \\
\>data dims / ndim $\ast$ 0 /                                       \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position\\
\>gid = ALL                                                         \\
C  \hspace{5mm} Set process grid size and periodicity               \\
\>ret = MPI\_MAKDIM(gid, ndim, dims)                                \\
\>if (ret .lt. 0) call error\_handler(ret)                          \\
\>period(1) = MPI\_PER                                              \\
\>period(2) = MPI\_PER                                              \\
\>rank = MPI\_CART (gid, gid\_cart, ndim, dims, period)             \\
\>ret = MPI\_INQCART (gid\_cart, ndim, dims, period, own\_position) \\
C  \hspace{5mm} Look up the PID numbers for the neighbors.
                               Own process coordinates are (i,j).   \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)  \\
\>i = own\_position(1)                                              \\
\>j = own\_position(2)                                              \\
\>neigh\_def(1) = i--1                                            \\
\>neigh\_def(2) = j                                               \\
\>neigh\_pid(1) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i+1                                             \\
\>neigh\_def(2) = j                                               \\
\>neigh\_pid(2) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j--1                                            \\
\>neigh\_pid(3) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j+1                                             \\
\>neigh\_pid(4) = MPI\_INQPID (gid, neigh\_def)                   \\
\>num\_neigh = mx\_neigh                                            \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration   \\
\>call init (u, f)                                                  \\
\>do 10 it=1,100                                                    \\
\>\>call relax (u, f)                                               \\
C  \hspace{5mm} Exchange data with neighbor processes               \\
\>\>call exchange (u, neigh\_pid)                                   \\
10 \>continue                                                       \\
\>call output (u)                                                   \\
\>end                                                               \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
\end{document}
From owner-mpi-ptop@CS.UTK.EDU  Wed May  5 05:30:36 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA18716; Wed, 5 May 93 05:30:36 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01134; Wed, 5 May 93 05:30:18 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 5 May 1993 05:30:16 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01101; Wed, 5 May 93 05:30:07 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA22153
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 5 May 1993 11:29:18 +0200
Received: by f1neuman.gmd.de id AA16964; Wed, 5 May 1993 11:29:34 GMT
Date: Wed, 5 May 1993 11:29:34 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9305051129.AA16964@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: PostScript
Cc: gmap10@f1neuman.gmd.de


Here is the PostScript file of the newest version of the PTOP draft.
I first compressed and then uuencoded it. Please send me your comments
as soon as possible. Thanks!

Rolf
------------------------ PostScript below ------------------------------
begin 664 PTOP.ps.Z
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
M;!)M?WXD<.$#*G_#<3)Q:0`K`!)IYX"(521P*G_A`\-QM%7\@&H`^(!J@/L7
M>73(5*]V?&0!5]AR-!_"6@6!W'(-?4UW#']-@!D,ZC205;-LW%,@=;^`#(%)
M505Z#X$@@&X`H7^T?W`*6G3[:\Q4&P>H7HX1='7R<:!_$H$_@)56X0/T?PIW
MM7>37P1_&0,H@;5WMX`L@7^`+H'<4[-L<7]9"=UW)8&%58Q&I3N4!3-RMX`*
M?VZ`V7H(@=!@+56$)AE'KX#:=_IVLH"6@!)OI7\Q>9=X0(%G:P)UU`$I`'0`
MMFPQ@2MY^F[J7B>!:6EN15QXDH`L@?-_&(&55OB`88$1"-MT)'^:?S:!:6G;
M=)R`.H&L:H&`"E0^@?5_!@F>936!18$P`:8(6X%T:4F!*``[@;EUL'9?@*!W
M@X%G>H%V4H&^5%2!C7^D?W.![&>'>4)7=X'&`5Z!8('9?QY&9'!D@72!@H%_
M"CF!Q@%*@8E]>H%I5F^!7`RH762!_0PH@:N!F8%F`"&!IX$@=>T&+U8_@1]4
M.UV@@8&!FP[A"8Z!A8&T`^%A,P!+@81YB6I.@;V!='E)=?EVD8&L9L-X5H&:
M?XI[256Y@:2!L51?@02!?PJ_6("!*('8@9&`GW^E@2V!;(&I@3^!=`>L@7.!
MO('D@;&!LX$\@;U6;H&=@60OXU[:@90%[X%(@<&!*`"%?^5AB8'.;\>![X&.
M@=EWBGG,@;AVE($F@4)468'S@;&!FX$B@8\)V8'/?QD#LUT*@MQRG6RY=:97
M:G\+<0^"5@`)?&]_2UAP6<5I*X`)@'IE`5ZV8S)^4EJ47Z=^`W2B;C9J$%QI
M!8!FSU5_5/Q8!6/D57%__0V+>Y!TZ%H[9>%A=0`,?@B"$X&V*')9F72)50.`
M40$]`!)I6`<L5H8F;0B:>F9BL'Z)?K5XS8$X@FM:.H)[6S$!VUG+@+1=YGY`
M?\E?TUL(!)15%'C9@#]=P6D7=OT,1H))$;IT+%UL8N)WZ54W@@-GH(%V#&=L
M8X)H@6%=28''@$U:MUNM5D4*V%/Q?I1;%F`<9(=_I3N?5GMXFPY-6699SEXR
M<?!=38!E:T(H,&*!5$,(AFL8?I]:X'T>6$Y64UXZ:JP!^P2U5"UFC&BM;19D
ML'EU=DA:FF=F>$E;CGH>8*MCQE9U5M9C$7X251-^TEGQ6&Q^MU@95EUWF&)4
I`-%[4P%R`$9_<0$*`&L%RP$O`%<#;P5?!7$%8@5Q`7<%+0*!`;UK"@!W
`
end
From owner-mpi-ptop@CS.UTK.EDU  Wed May  5 18:25:41 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA28094; Wed, 5 May 93 18:25:41 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21874; Wed, 5 May 93 18:24:24 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 5 May 1993 18:24:23 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from almaden.ibm.com by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21866; Wed, 5 May 93 18:24:21 -0400
Received: from ALMADEN by almaden.ibm.com (IBM VM SMTP V2R2) with BSMTP id 1138;
   Wed, 05 May 93 15:24:32 PDT
Received: by ALMADEN (XAGENTA 3.0) id 3834; Wed, 5 May 1993 15:24:31 -0700
Received: by ho.almaden.ibm.com (AIX 3.2/UCB 5.64/4.03)
          id AA35247; Wed, 5 May 1993 15:24:06 -0700
From: <ho@almaden.ibm.com> (Howard Ho)
Message-Id: <9305052224.AA35247@ho.almaden.ibm.com>
To: Rolf.Hempel@gmd.de
Cc: mpi-ptop@cs.utk.edu
Subject: Re: Revised draft
In-Reply-To: (Your message of Wed, 05 May 93 11:25:42 GMT.)
             <9305051125.AA15664@f1neuman.gmd.de>
Date: Wed, 05 May 93 15:24:03 -0800


Rolf,

Here are some of my questions and comments.
In general, I like the proposal.

1. I was also confused by whether the argument "newrank" in
MPI_CREATE_GROUP was an input or output argument before i reached the place
with the two-call implementation of MPI_CART.  Please add IN/OUT and argument
description to MPI_CREATE_GROUP.
Perhaps, replace the names (key, newrank) by (myval, key) or
(group_key, order_key).  The newrank is not really the absolute new rank,
rather an intended relative order in deciding the new rank.

2. For MPI_MPI_CART and MPI_MAP_GRAPH, you have to specify that it is an error
(or whatever semantics) if the size of the parent group is smaller than the
size of the intended topology.

3. It's not clear to me how index(*) and nglist(*) define a graph.  Perhaps
you can add one simple example there.

4. For user's convenience, it may be beneficial to supply a utility function
in changing the adjacency-matrix graph definition to the (index, nglist)
graph definition.

5. The first line on Page 6, newrank (in MPI_MAP_CART) needs to be moved from
a parameter to a return value of it (as you've changed it in an earlier
place).

6. I am somewhat puzzled by the question that gid_old will be needed or not
in most applications after an MPI_CART call.
If mostly not, maybe we should change the semantics of
MPI_CART such that gid_old will be destroyed (i.e., recycled).  In some
earlier version of IBM's EUI document, we have a MP_SETRANK, which essentially
reuses the same gid but with a different ranking order, according to an
input argument "newrank".

7. I was thinking that if we should generalize "listdim" in MPI_PARTC to
"lostdims(*) and nlistdims", and realized that it's a good idea to keep what
it is now, since we also have MPI_SHIFTGR (gid, direction).
One slight disadvantage of this is that, for instance, to create a 2D
subgroup from a 4D parent group, one needs to call
        gid_3D = MPI_PARTC (gid_4D, 0)
        gid_2D = MPI_PARTC (gid_3D, 1)
even though gid_3D may not be needed at all by the user.

8. I was mislead by the name MPI_SHIFTGR to think it is actually doing the
shift along a specified direction.

9. Consider
        x_gid = MPI_SHIFTGR (gid, 0)
        map = MPI_INQMAP (x_gid)
should the map be MPI_CARTTOP or MPI_NOTOP?

10. I don't think it is a good idea to specially define the topology based
shift function.  First, what about topology based bcast (e.g., bcast along
the row) and other CC routines?
Second, what if the user actually wants to use both circular and
end-off shifts along the same direction at different times, or even worth
circular shift for even rows and end-off shift for odd rows at the same time?
Third, this only works for cartesian topology, which is a bit inconsistent
semantically.

11. I just noticed that there is no pid = MPI_GETPID (rank, context) in
the context or group section.  Should one extend MPI_INQPID (gid, location)
to cover any topology?  That is location = rank in the case of non-cartesian
group.

12. Sometimes, for efficiency reason, the user likes to reorder the mapping
of a group but still need to inherit the data from the old mapping.  Thus,
a permutation is often required from the old mapping to the new mapping.
Maybe, it is beneficial to add a permutation from the old group to the new
group, like MPI_PERMUTE (gid_old, gid_new, inbuf, outbuf, len)?
Note that the "unordered sets" of gid_old and gid_new must be the same.

Regards,

-- Howard










From owner-mpi-ptop@CS.UTK.EDU  Thu May  6 04:02:36 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA06752; Thu, 6 May 93 04:02:36 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA23257; Thu, 6 May 93 04:01:00 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 6 May 1993 04:00:58 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA23218; Thu, 6 May 93 04:00:48 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA11578
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 6 May 1993 09:59:54 +0200
Received: by f1neuman.gmd.de id AA14804; Thu, 6 May 1993 10:00:12 GMT
Date: Thu, 6 May 1993 10:00:12 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9305061000.AA14804@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: PostScript
Cc: gmap10@f1neuman.gmd.de


Here is the PostScript file of the current draft. Any comments are welcome.

Rolf
--------------------------- PostScript below ---------------------------
begin 664 PTOP.ps.Z
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
M75MBZ&75:^YK3P-N=NY\Y%I-6-]N,E\8:,U<*15=;WIT?`)?8&=X!GWL;#EC
M(UQG8'A7&5OZ89Q@%&U/63,"PH!C7KY?'V,)!JQ_(W<X7;<#U%M&>3!T;&`T
M7(9OU'<C9MM5)W>57T%P]78.>L)H1H"0;9!N_V@,>`>`:FS\?HQB[6QS8"J!
MLFXQ7L-R_WFJ7'-MSWC78V5U.V+'8=Y5>W>R?PQ>255G<*)UP("`!=A@K7KP
M>I-676>55[!:\5KP?O-MMUNY6;!7.5E58-QWHVH^>756#&3H?YEC%EMB;Z]E
M?6_3:*M6RW<Z@:!;C@),`>5DH7JY=D5V;GJ,7<QK4VY+5A@&H6KE>[MPVEHI
M;G5@+5V:7#5:)VIP;4AB?("T;\9EQU0;8GUB;W2B:MH##G^+7B!ZOUUB?Y-O
M5V86:=)KFE^R<"A[%F:K9$5RWB:)`JH%;0QH>_M>66Q.`%4**V(J@"P`,%_1
M1J%WF($<?`AY*V+6;2P`*H!H8EUJ.50+8W!<V5K>5D%>G6<_@2EL95E"6\%]
M25])`7L`R&GY=6YU=8'&7BINRE26<B`"+`!J`"%SRE0+;CYKE73]6D)8?G<?
M5\YYW'8L<X-C<WUJ;>!O"6MT6=17@X'Y6J)J465'6^UV*7Q2@&D!(0)I5FI6
M+WP<<>]B(5PA`3-\HWO7:Q`%ME9,`)YE&&98`$$`\(&>9=UY&7L-`DY>:P%J
M6--J3F.L?@:!8'*+7KEMEVL>*,</H65&#%MZP('/5?!OEA%9619@?%]T5G)Q
MWGYS`#T`)&^B602";%8`!#1%''SO73T`-``C=#D!TD31<O^!]EU"9[]SC&=)
M.Z,'(X(=<XIR\E@?==!KUVSX@)%8[%[&=RR"C7S-<BMB,@#7;%5@HH$-50%>
M-X),@-16M0,K8FT`&8*/"0%<Q',X@N]=(8(!#7X+)(*+6PEHVU=3@0!X"6H\
M=(YP6W53`A%UM'(5=%1A$GB375N"<'5=@DQ7\EAJ`*=K)F+L7N0Q&@-/@HYP
M[UVR825LS%F0>=XF3$S^8!U9W%3R6XYM!6-V8:=X06I\;3H`S@LL`#``?X)W
M!ZY4UVRN7GZ"@(*"@EN`F536;?N!?`QO7YQ;O0,25:A^2E0O`/E6J'Z>5'F"
MSG\!:E14EH)*@51=?V'45*)[?V&<<"!<>'7)?GIU17JI62)8`6?35.U\FEA)
M7>R`]U:8@*%;=UA4@C98CW@#@/-S2WR!8SAGB'PG5`)GOUVL<"E7:7HK7D94
M1`?7:^F`WWO=5]6`8V#3?B%]-WTR6'."8'D=5B5L5%1I=]9R70P95#!",'Y!
M`#)^)8`6>69@`H(9@-QLX4W_`S=;95PK8M:")E0N`+H&Y&\P`,!M65VR<,I4
MT7E;9XQ=1P@0`@`$6%_S7A1W+7T1<B&"#P)0#B!]S7UJ<]-5)WW^=W)JTD8,
M9JP%QWO[7E``26P-@HT*R%L_>#J"L6L*>7%[3G-Z`8D"$H-E>A"#\W/4$RY8
M`FLJ5-B"C6LC`7`(((.":$=T3'(Y<_]S)X*I7HQG3@<V&D<(+8)H!:-L8'+E
M:V=SS'UX5Z]K`(--?=6"!VT7@\-[`'@Z%#Z#T7M1`.YW2E1=<U!R)0%%@QIR
M\UXN@GQ5T&LA:N9K%'@_>-)5676,<_%$E%;?1UB"N8(P==)SER:1&AU6Q8+Q
M6DQJ'5BP5"!<J7OU6EMB0&"A?VM@>G1(6Y)H^8#\;,R`SU0'!3EYZ8!#?R!8
MX%ME8A-9QH$A<Y=]8X.B@@IN<X-U8$5S(E0C9I9RX@-_@UV"^V8362L`'6K'
M@5V"_W-I`,:!X@/7;"I]?H-J`)"#`(/]%UAI$E4+>4MU=X.(`@U;GH.F@5Z#
M;@"H@4V"V7T=5J]M)E1$<EB#I(.256$'2&>H=UF",'4C;ZN#Y`J@?S]N&@?O
M7KN#M'/4`:J#:7]!@Q-9X@/[@?X#.`'77SZ"[SN3!6P,/0).@Z9=PH.Y@\2#
M1'*O;0V"6`G0;`N"3G/-@PU574<=<Z>!!H,O8DQSB7R,7=]'V8,O?LA[&WH*
M54F##'NQ5#!?BG"#!:5HZ(/!@\8!*0!T`+MMY8(T54)WV'`T@@M!D7="=Z1E
M*H/3@XV"KX/?5I"#R(,0"/=MVX.^@Y%W16H=<].#.X+5@U14UX-S@@4)_F#,
M@^]>3WBT<^&#$H3]=\Q[C6NJ!4P$3WB[<_M>57GL@R1]+H,W7[V#C%3S@QN$
M$(3V@_B#JX.K!1)O+(3=@TE%#8.E902$96?%@VQ5V(->#"YOO8,!#>]>0(0P
MA&8`%8,3A"94[`9X5C^$EQ;]@Q95#82893@+)82E9>&#,P#M<!>#Y8,BA%*$
MXG<FA-)[*(06>2N$-(+=>!%YEQ9&A/>#^8,)A()^083^@S>$:X0"A-*#Q@'#
M@]>"WU8)A',';(10A/^#DVN%!4:$2(1TA$J$"(3P;Y$6'V]/A,]548091;QW
M0H+A@R""XX-9A$5R6X2(A"6$X'GK@Q)5880,A"V$DE57>O6#_50RA.6"&U8-
M6R5BU6L:!V!DC@D;`VV"/VZN<P19&8)Z`6L!2P>FA&9Y2V<_;KM9UF#$@J*"
M)6HL60!D"P*C6/1PVF-(@<=QCF;#<OAIP7$C;A.!P58-@O\-*5^R<.)8?V4D
M?74`S%F<A&F$@H0(*6M:XG;350)J=EX]`!UJ5P=U5@9AVWY969&!]E_Z`?-Z
MS8325="$<G4T1<M:9(,B5/Q=O'4.8"!<"`2C<,9?FFTJ;@UR(UUK:8%H,53/
M7+UP<('MA#%6*V+.A#YN_H-X#`9B>BTI@Z9=IX%@@RH'$W`$7.5NQVA/<&EA
M^F7N9\>$[SM1;M-85WZ]5#4"%%^.@S=>^H-[>RE76`-_7`(&8T/+6NE:@(!)
M6)A6FEZ[540'WU]?68E@8H%<9%Q</VFP@/9=S76R5^&`JWKT9P]73V9^5K6`
MCU7:<0V!P8!Q99UX%'%4`.Q^G6K0='$!"@!J!<L!+P!8`VX%7@5P!6$%<0%V
)!2X"@0%0;`H`
`
end
From owner-mpi-ptop@CS.UTK.EDU  Thu May  6 04:02:53 1993
Received: from CS.UTK.EDU by surfer.EPM.ORNL.GOV (5.61/1.34)
	id AA06754; Thu, 6 May 93 04:02:53 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA22963; Thu, 6 May 93 03:58:35 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 6 May 1993 03:58:34 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA22955; Thu, 6 May 93 03:58:29 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA11500
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 6 May 1993 09:57:42 +0200
Received: by f1neuman.gmd.de id AA14791; Thu, 6 May 1993 09:58:00 GMT
Date: Thu, 6 May 1993 09:58:00 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9305060958.AA14791@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Revised draft
Cc: gmap10@f1neuman.gmd.de


Dear Collegues,

thanks to Howard for his interesting and detailed comments. I worked
some of them into the draft, and I will try to answer the remaining
points in this note. For simplicity, I just follow his numbering
of topics:

1. - 3. Accepted. Draft has been changed accordingly.

4.  I do not exactly understand what such a utility function should do,
    so I would like to see a proposal.

5.  Accepted. Draft has been changed accordingly.

6.  It's a good question whether the parent group gid_old should be
    kept or not after a topology creation. We should discuss this point
    at our next meeting.

7.  You are right: it might well be that in a higher-dimensional
    application one has to create intermediate groups which are not
    used afterwards. My opinion, however, is that those cases are not
    so common, especially since there is the other function which
    immediately creates one-dimensional subgroups (This is probably
    your opinion, also).

8.  This touches a general point: I didn't think carefully yet about
    names, because we first have to agree on the functionality. I agree
    that MPI_SHIFTGR is misleading. It would be very welcome if anybody
    came up with a nice set of topology function names.

9.  I think it should be MPI_CARTTOP, especially since it then could
    inherit the periodicity information from the parent group. I worked
    this into the draft.

10. This is another point for discussion at Dallas. In my opinion the
    a shift in one direction is used much more frequently than a
    one-directional broadcast, thus justifying a special function
    without explicit subgroup creation.

    I have never seen an example where one wants to do an end--off
    shift in a topology which is periodic, or a cyclic shift in a
    non-periodic grid. That is why I proposed to use the periodicity
    of the group for the decision. In the odd cases where people 
    want to do otherwise they can still use the non-topological
    shift functions (with explicit subgroup creation).

11. We should discuss the question of whether we want to return ranks
    or pids first, depending on the addressing scheme in PT2PT.
    If the rank is used, then this function is really useful only in
    cartesian topologies, because otherwise it's just the identity.
    In the other case there is probably the need for the MPI_GETPID
    function independent of topologies. I would not like to mix a
    topology based function with such a more general routine. This
    would go against the general decision at the last meeting to keep
    the issues separate.

12. I don't know whether I completely understand the function you
    propose, but it seems to me something which falls into Collective
    Communications. Perhaps you should propose it in more detail,
    and then we see where to discuss it.

I changed "ndim" to "ndims" consistently in the whole draft. It seems
there are really some people out there who read my stuff very
carefully. Thanks!

I append the current LaTex source to this note. In a separate note
you will also receive the PostScript. If I don't get any further
comments, I will sent it to Steve Otto tomorrow.

Best regards,
  Rolf
--------------------- LaTex of current draft below ---------------------
%     MPI Authors:
% This is MY version of YOUR chapter.  It has a wrapper so that you
% should be able to simply LaTeX this.
%
% Please work from this text so that we are in synch.
%
% --Steve Otto

\documentstyle[twoside,11pt]{report}
\pagestyle{headings}
%\markright{ {\em Draft Document of the MPI Standard,\/ \today} }
\marginparwidth 0pt
\oddsidemargin=.25in
\evensidemargin  .25in
\marginparsep 0pt
\topmargin=-.5in
\textwidth=6.0in
\textheight=9.0in
\parindent=2em

%   ----------------------------------------------------------------------
%   mpi-macs.tex  --- man page macros,
%                discuss, missing, mpifunc macros
%
% ----------------------------------------------------------------------
% a couple of commands from Marc Snir, modified S. Otto

\newlength{\discussSpace}
\setlength{\discussSpace}{.7cm}

\newcommand{\discuss}[1]{\vspace{\discussSpace} {\small {\bf Discussion:} #1} \vspace{\discussSpace}
}

\newcommand{\missing}[1]{\vspace{\discussSpace} {\small {\bf Missing:} #1} \vspace{\discussSpace}
}

\newlength{\codeSpace}
\setlength{\codeSpace}{.3cm}

\newcommand{\mpifunc}[1]{\vspace{\codeSpace} {\bf #1} \vspace{\codeSpace} }

% -----------------------------------------------------------------------
%  A few commands to help in writing MPI man pages
%
\def\twoc#1#2{
\begin{list}
{\hbox to95pt{#1\hfil}}
{\setlength{\leftmargin}{120pt}
 \setlength{\labelwidth}{95pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#2}
\end{list}
}
\outer\long\def\onec#1{
\begin{list}
{}
{\setlength{\leftmargin}{25pt}
 \setlength{\labelwidth}{0pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#1}
\end{list}
}
\def\manhead#1{\noindent{\bf{#1}}}


\hyphenation{RE-DIS-TRIB-UT-ABLE sub-script mul-ti-ple}

\begin{document}

\setcounter{page}{1}
\pagenumbering{roman}

\title{ {\em D R A F T} \\ Document for a Standard Message-Passing Interface}

\author{Scott Berryman, {\em Yale Univ} \\
James Cownie, {\em Meiko Ltd} \\
Jack Dongarra, {\em Univ. of Tennessee and ORNL} \\
Al Geist, {\em ORNL} \\
Bill Gropp, {\em ANL} \\
Rolf Hempel, {\em GMD} \\
Bob Knighten, {\em Intel} \\
Rusty Lusk, {\em ANL} \\
Steve Otto, {\em Oregon Graduate Inst} \\
Tony Skjellum, {\em Missisippi State Univ} \\
Marc Snir, {\em IBM T. J. Watson} \\
David Walker, {\em ORNL} \\
Steve Zenith, {\em Kuck \& Associates}    }

\date{March 25, 1993 \\
This work was supported by ARPA and NSF under contract number \#\#\#,
by the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615.
}

\maketitle
\hfuzz=5pt
%\tableofcontents

%\begin{abstract}
%We don't have an abstract yet.
%\end{abstract}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Process Topologies}
\label{sec:topol}
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process grid. Usually a process does
not have to know the PID numbers of {\em all} processes in the grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

Additionally, the user--defined process structure can be exploited
by the system in the assignment of processes to hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail is outside the scope of
this standardization proposal, since it is too much dependent on the
particular hardware. The description of a ``virtual process topology'',
however, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function MPI\_GRAPH presented in this paper
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

\discuss{One could also have two graph mapping functions, one of
which uses communication weighting, whereas the other does not.
The mapping function with weighting,
\linebreak
MPI\_MAP\_WGRAPH, would then
have an additional input argument {\tt weights} with the same structure
as the neighbor list {\tt nglist}. On the higher abstraction level
the function MPI\_GRAPH would be complemented by MPI\_WGRAPH in the
same way.}

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph cartesian structures of
arbitrary dimension are supported.
The topology definition function MPI\_CART can be used to describe both
grids and tori by specifying per coordinate direction whether the
process structure is periodic or not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the PID numbers of other processes by calling MPI\_INQPID.
The processes are specified by their logical node numbers (graph) or
rectangular process coordinates (grid/torus). Thus, it is possible to
inquire for the PID numbers of only those (few) processes with which
messages have to be exchanged.

\discuss{In the PT2PT discussion it is not yet decided how processes
are addressed. This could, for example, be done by unique identifiers,
or by their ranks in a group.
The topology handling will be adapted to whatever decision will be
taken in PT2PT.}
%
\section{Embedding in MPI}
%
The support for virtual topologies has to be fully integrated in the
framework of MPI. In particular, the virtual topology functions do not
interfere with the functions for process group creation and with those
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this paper are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic remapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a logical topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
process group creation function MPI\_CREATE\_GROUP plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and use them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
This chapter assumes the availability of the following MPI features
which are defined in other chapters:
\begin{enumerate}
\item An existing process group (e.g., the ALL group) can be
partitioned and/or renumbered using

\mpifunc{MPI\_CREATE\_GROUP(gid\_old, gid\_new, group\_key, order\_key)}
         with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_new] group id of newly created subgroup of which the
                    calling process is a member,
\item[IN group\_key] integer value used for the partitioning,
\item[IN order\_key] integer value used for determining the ranks in the
                     new group (see below),
\end{description}

This function is called by all processes in group {\em gid\_old} loosely
synchronously. It creates as many different subgroups as there
are different values of {\em group\_key}. The ranking in the newly
created groups is determined by the {\em order\_key} values, with the
process ranks in the parent group for tie breaking.
\item There is an internal information cacheing facility,
which can be used by MPI routines to store and retrieve
information related to a process group. This facility was proposed
in the Context Subcommittee. High--level topology functions use
this possibility to store structure information for a process group,
which is then later used by topology inquiry functions. Also, special
shift functions which are based on the topological structure can take
advantage of this information.
\end{enumerate}
\discuss{If the information cacheing will not be part of MPI, passing
the topology information for a group from one topology function to
the other can be handled in several other ways which will be discussed
later.}

There has been a general decision in MPI to start all numbering with
0 instead of 1. Thus, coordinates in a cartesian structure are
0,1, ..., dim-1. In the same way, nodes in a general graph are
numbered zero up.
%
\subsection{Low--level topology functions}
%
On the lowest level groups are created by the general function
MPI\_CREATE\_GROUP. Using the input argument {\em newrank} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

For cartesian structures the function is

\mpifunc{newrank = MPI\_MAP\_CART(gid\_old, ndims, dims, period)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN ndims] number of dimensions of cartesian structure,
\item[IN dims(*)] number of processes in each coordinate direction,
\item[IN period(*)] periodicity specification in each coordinate
                    direction.
\end{description}
The return value is the reordered rank of the calling process. \\[4.0ex]

The corresponding function for general graph structures is

\mpifunc{newrank = MPI\_MAP\_GRAPH(gid\_old, nodes, index, nglist)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN nodes] number of graph nodes,
\item[IN index(*), nglist(*)] definition of graph structure:
For each graph node its set of neighbors is entered, i.~e., the set of
processes with which the node process is going to communicate most
frequently. Since there is no weighting of node connections, it might be
sensible to specify only those neighbors with which there is a
considerable amount of communication.

For each node $i\;\:(0 \leq i \leq nodes-1)$
the list of the neighbor nodes
is stored at $nglist(j),\;\: index(i) \leq j
\leq index(i+1)-1$. For the
last process $index(i+1)$ points to the first free position
in vector nglist. Note that the matrix is symmetric, i.~e., if node 
{\em i} is a neighbor of node {\em j}, than node {\em j} is also a
neighbor of node {\em i}. This property can be used for an internal
checking of the input arguments.
\end{description}
Again, the function returns the reordered rank of calling process.
\\[2.0ex]
The definitions of the arguments {\tt nodes}, {\tt index}, and
{\tt nglist} are illustrated with the following simple example:

Assume there are four processes 0, 1, 2, 3 with the following
adjacency matrix: \\
\begin{tabular}{ll}
process & neighbors \\
0       & 1, 3      \\
1       & 0         \\
2       & 3         \\
3       & 0, 2
\end{tabular}

Then, the input arguments are: \\
\begin{tabular}{ll}
nodes = & 4 \\
index = & 0, 2, 3, 4, 6 \\
nglist = & 1, 3, 0, 3, 0, 2
\end{tabular}

If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to MPI\_NORANK. It is an error if the topology defines more
processes than are contained in the parent group.
%
\subsection{High--level topology functions}
%
In principle, all that is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
group creation routine. However, this is not what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For cartesian and graph structures the functions MPI\_CART and
MPI\_GRAPH create a process group with topological structure.
They combine the call to the mapping function with the call to the
group creation routine. The user can decide whether the ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.

The option of not reordering the process ranks can be useful in the
case of an overlay of different topologies. The user can then fully
control which location in the first topology coincides with which
location in the second one. The price which one obviously has to pay
in this case is that for only one topology the process arrangement
can be optimized.

As specified for the low--level functions it is an error if one attempts
to define a topology with more locations than there are processes in
the parent process group. If it does not use all available processes,
the unused process will return MPI\_NORANK as their rank in the new
group.

MPI\_CART is defined as

\mpifunc{newrank = MPI\_CART(gid\_old, gid\_cart, ndims, dims, period,
                             reorder)}
with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_cart] group id of cartesian group (if calling process is
                     part of it, else id of rest group),
\item[IN ndims, dims(*), period(*)] definition of cartesian structure,
                                   (for details see the definition of
                                    MPI\_MAP\_CART)
\item[IN reorder] ranking may be reordered or not.
\end{description}
The return value is the rank of the calling process in the cartesian
group (or MPI\_NORANK).

Apart from some local computations, MPI\_CART is based on the two
function calls

\mpifunc{newrank = MPI\_MAP\_CART (gid\_old, ndims, dims, period)} 

and

\mpifunc{MPI\_CREATE\_GROUP (gid\_old, gid\_cart, 0, newrank)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\mpifunc{newrank = MPI\_GRAPH(gid\_old, gid\_graph, nodes, index,
                              nglist, reorder)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_graph] group id of graph group (if calling process is
                      part of it, else id of rest group),
\item[IN nodes, index(*), nglist(*)] definition of graph structure,
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)
\item[IN reorder] ranking may be reordered or not.
\end{description}
%
\vspace*{3.0ex}

In the context subcommittee a mechanism has been proposed for cacheing
information which is associated with a process group. If that
feature will be part of MPI, it can be used by the high--level topology
functions to store the following information:
\begin{enumerate}
\item Type of topology (cartesian/graph)
\item For a cartesian topology:
   \begin{itemize}
   \item ndims (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\end{enumerate}
For a graph structure no information has to be stored, because the
graph node number is the rank in the graph group, and the size of the
graph is the number of processes in that group.

In case the cacheing mechanism does not become part of MPI, there are
two other possibilities: since the storage and retrieval of the above
information is only done by the topology functions, it can internally
be stored with other group information in an implementation--dependent
way, which each vendor can do as is most convenient.

As an alternative, the information could be stored in an opaque object,
a handle to which would have to be included in the argument lists of
all related topology functions. However, this alternative would be much
less elegant.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication. In the following the assumption is made that the
information cacheing is available. Otherwise the handle to the
opaque information object has to be added to the argument lists
(or replace the group identifier argument).

The function MPI\_INQMAP returns the type of mapping which is
assigned to a group. 

\mpifunc{map = MPI\_INQMAP(gid).}

The return value is one of the following:
\begin{itemize}
\item MPI\_CARTTOP: cartesian topology,
\item MPI\_GRAPHTOP: graph topology,
\item MPI\_NOTOP: no topology.
\end{itemize}

For a process group with cartesian ordering which has been created
by MPI\_CART, MPI\_INQCART looks up the following info:

\mpifunc{dim = MPI\_INQCART(gid, maxdim, size, period, pos)} with
\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN maxdim] length of vectors size(*), period(*), and pos(*) in
                 the calling program,
\item[OUT size(*)] number of processes for each coordinate direction,
\item[OUT period(*)] periodicity yes/no for each coordinate direction,
\item[OUT pos(*)] position of calling process in cartesian structure.
\end{description}
The return value is the dimension of the cartesian structure.

For a process group with cartesian structure, the function
MPI\_INQPID translates the logical process coordinates to process
ids as they are used by the point--to--point routines:

\mpifunc{pid = MPI\_INQPID(gid, location)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN location] coordinate vector of process.
\end{description}

In a sense, the inverse operation to MPI\_INQPID is provided by the
function:

\mpifunc{MPI\_INQLOC(gid, rank, location, maxdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN rank] rank of a process within group {\tt gid},
\item[OUT location(*)] coordinate vector of process,
\item[IN maxdim] length of vector {\tt location} in the calling
                 program (only for error checking).
\end{description}
MPI\_INQLOC translates a rank in the group into a topology location.

\discuss{Depending on the decisions taken in the PT2PT subcommittee,
MPI\_INQPID might be changed to return the rank in the group rather
than a pid.}

\subsection{Partitioning of cartesian structures}

If a group has been created with MPI\_CART,
the function MPI\_PARTC
can be used to partition the group into subgroups which form
hyperplanes of the original process structure. As an example,
assume that MPI\_CART has defined a two--dimensional grid structure
on a process group. With a call to MPI\_PARTC this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\mpifunc{gid\_new = MPI\_PARTC(gid, lostdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN lostdim] direction perpendicular to resulting hyperplanes.
\end{description}
The function returns the group identifier of the hyperplane group in
which the calling process is contained.

MPI\_PARTC uses the function MPI\_CREATE\_GROUP to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by MPI\_PARTC, the
inquiry functions MPI\_INQCART and MPI\_INQPID consistently
refer to the grid sections if applied to a subgroup.

If the process topology is a cartesian structure, a collective shift
operation most likely is used along a coordinate direction. The function
MPI\_SHIFTGR partitions a cartesian group into one--dimensional
subgroups, which are all oriented in one coordinate direction.
Every process is contained in exactly one subgroup:

\mpifunc{gid\_new = MPI\_SHIFTGR(gid, direction)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN direction] coordinate direction of one--dimensional subgroups.
\end{description}

MPI\_SHIFTGR uses the function MPI\_CREATE\_GROUP to partition the
parent group. The return value is the group identifier of the 
one--dimensional subgroup to which the calling process belongs.
The subgroup has a one--dimensional cartesian structure. It is either
periodic (ring) or not (linear), depending on the periodicity of the
parent group in the corresponding direction.

\discuss{Instead of creating one--dimensional subgroups and then use
the standard collective communication (circular or end--off) shift
functions, one could also define a topology based shift function.
It would look very much like the standard shift, with an additional
argument defining the coordinate direction for the shift. Depending
on the periodicity information of the cartesian structure, the shift
function could choose the circular or end--off version automatically.}

In a portable program the number of available processors usually is not
known at compile time. In the case of a cartesian topology the function
MPI\_MAKDIM helps in setting the numbers of processes per coodinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\mpifunc{MPI\_MAKDIM(gid, ndims, dims)} with

\begin{description}
\item[IN gid] group id of group which is to be structured,
\item[IN ndims] number of cartesian dimensions,
\item[IN/OUT dims] number of processes in each coordinate direction.
\end{description}

The processes of the group with ID number {\tt gid} are divided
as evenly as possible among {\tt ndims} dimensions, subject to the
constraint that all processes in the group are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt dims(i)} is positive and does not
evenly divide the number of processes in the group. Negative input
values of {\tt dims(i)} will also cause an error. All elements of
{\tt dims(*)} must be set to 0 for completely automatic process
distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine MPI\_CART.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the PID numbers of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
MPI\_SENDC(...,neigh\_pid(1),...) to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndims, mx\_neigh                                           \\
\>parameter (ndims=2, mx\_neigh=4)                                   \\
\>integer gid, gid\_cart, dims(ndims), neigh\_def(2),
          neigh\_pid(mx\_neigh)                                     \\
\>integer own\_position(ndims), period(ndims), i, j, num\_neigh, ret,
          rank                                                      \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                        \\
\>data dims / ndims $\ast$ 0 /                                       \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position\\
\>gid = ALL                                                         \\
C  \hspace{5mm} Set process grid size and periodicity               \\
\>ret = MPI\_MAKDIM(gid, ndims, dims)                                \\
\>if (ret .lt. 0) call error\_handler(ret)                          \\
\>period(1) = MPI\_PER                                              \\
\>period(2) = MPI\_PER                                              \\
\>rank = MPI\_CART (gid, gid\_cart, ndims, dims, period)             \\
\>ret = MPI\_INQCART (gid\_cart, ndims, dims, period, own\_position) \\
C  \hspace{5mm} Look up the PID numbers for the neighbors.
                               Own process coordinates are (i,j).   \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)  \\
\>i = own\_position(1)                                              \\
\>j = own\_position(2)                                              \\
\>neigh\_def(1) = i--1                                            \\
\>neigh\_def(2) = j                                               \\
\>neigh\_pid(1) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i+1                                             \\
\>neigh\_def(2) = j                                               \\
\>neigh\_pid(2) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j--1                                            \\
\>neigh\_pid(3) = MPI\_INQPID (gid, neigh\_def)                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j+1                                             \\
\>neigh\_pid(4) = MPI\_INQPID (gid, neigh\_def)                   \\
\>num\_neigh = mx\_neigh                                            \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration   \\
\>call init (u, f)                                                  \\
\>do 10 it=1,100                                                    \\
\>\>call relax (u, f)                                               \\
C  \hspace{5mm} Exchange data with neighbor processes               \\
\>\>call exchange (u, neigh\_pid)                                   \\
10 \>continue                                                       \\
\>call output (u)                                                   \\
\>end                                                               \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
\end{document}
From owner-mpi-ptop@CS.UTK.EDU Fri May  7 16:50:14 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-UTK)
	id AA01628; Fri, 7 May 93 16:50:14 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01598; Fri, 7 May 93 16:49:18 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 7 May 1993 16:49:17 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from almaden.ibm.com by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA01588; Fri, 7 May 93 16:49:14 -0400
Received: from ALMADEN by almaden.ibm.com (IBM VM SMTP V2R2) with BSMTP id 3726;
   Fri, 07 May 93 13:50:01 PDT
Received: by ALMADEN (XAGENTA 3.0) id 7010; Fri, 7 May 1993 13:50:01 -0700
Received: by ho.almaden.ibm.com (AIX 3.2/UCB 5.64/4.03)
          id AA22134; Fri, 7 May 1993 13:49:33 -0700
From: <ho@almaden.ibm.com> (Howard Ho)
Message-Id: <9305072049.AA22134@ho.almaden.ibm.com>
To: hempel@gmd.de
Cc: mpi-ptop@cs.utk.edu, ho@ho.almaden.ibm.com
Subject: Re: Revised draft
In-Reply-To: (Your message of Thu, 06 May 93 09:58:00 GMT.)
             <9305060958.AA14791@f1neuman.gmd.de>
Date: Fri, 07 May 93 13:49:31 -0800


Rolf,
  Thanks for your quick reply.  I very much agree with your comments.
Please see my reply to two of your questions.

Regards,

-- Howard

Graph description with an adjacency matrix syntax:
==================================================

>> 4. For user's convenience, it may be beneficial to supply a utility function
>> in changing the adjacency-matrix graph definition to the (index, nglist)
>> graph definition.

> 4.  I do not exactly understand what such a utility function should do,
>     so I would like to see a proposal.

Proposal 1:

newrank = MPI_MAP_GRAPHM (gid_old, nnodes, adj_matrix) with
IN gid_old: group id of parent group,
IN nnodes: the number of graph nodes,
IN adj_matrix(*,*): an nnodes by nnodes 2D array for the adjacency
matrix.  Any non-zero entry means there is an edge between the two
corresponding nodes.  The diagonal value will be ignored.
It is an error if the matrix is not semmetrical in the zero/non-zero sense.

Proposal 2:

MPI_UTIL_GRAPH (gid_old, nnodes, adj_matrix, index, nglist) with
IN gid_old: group id of a parent group,
IN nnodes: the number of graph nodes,
IN adj\_matrix(*,*): an nnodes by nnodes 2D array for an adjacency matrix.
OUT index(*), nglist(*): definition of a graph structure.

Permutation Function:
=====================

>> 12. Sometimes, for efficiency reason, the user likes to reorder the mapping
>> of a group but still need to inherit the data from the old mapping.  Thus,
>> a permutation is often required from the old mapping to the new mapping.
>> Maybe, it is beneficial to add a permutation from the old group to the new
>> group, like MPI_PERMUTE (gid_old, gid_new, inbuf, outbuf, len)?
>> Note that the "unordered sets" of gid_old and gid_new must be the same.

>12. I don't know whether I completely understand the function you
>    propose, but it seems to me something which falls into Collective
>    Communications. Perhaps you should propose it in more detail,
>    and then we see where to discuss it.

MPI_PERMUTE (inbuf, outbuf, len, type, old_gid, new_gid)
IN inbuf: first entry in input buffer,
OUT outbuf: first entry in output buffer,
IN len: number of entries to be stored in output buffer,
IN type: data type of buffer,
IN old_gid: an old group id.
IN new_gid: a new group id.

For example, if old_gid contains the list of processes: (0, 1, 2, 3)
and new_gid contains the list of processes: (1, 2, 0, 3).
Then the following communication will be performed.
0 -> 1, 1 -> 2, 2-> 0, 3-> 3.







From owner-mpi-ptop@CS.UTK.EDU Mon Jun 14 10:30:49 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA23570; Mon, 14 Jun 93 10:30:49 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA06942; Mon, 14 Jun 93 10:28:39 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 14 Jun 1993 10:28:38 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA06934; Mon, 14 Jun 93 10:28:33 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA08778
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 14 Jun 1993 16:27:30 +0200
Received: by f1neuman.gmd.de id AA17988; Mon, 14 Jun 1993 16:28:13 GMT
Date: Mon, 14 Jun 1993 16:28:13 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9306141628.AA17988@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: new draft
Cc: gmap10@f1neuman.gmd.de


The next Dallas meeting is approaching rapidly, and at that meeting we
will have a first reading of the topology section. Therefore, today
I reworked the draft chapter according to the discussions at the last
meeting. The main changes are:

  1. There is no shift function, but an inquiry function for the 
     sender and destination fields in the send-receive.

  2. All MPI functions don't return data via the return value. (This is
     reserved for error conditions.)

  3. The text which deals with the internal storing of topology data
     has been modified (de-emphasize the need of an internal cacheing
     mechanism).

All other changes are relatively minor. With this note I send you the
LaTex source file. In a separate mail you will also get the uuencoded
compressed PostScript.

Any comments are welcome!

Best Regards,
  Rolf Hempel

------------------ LaTex source below ----------------------------------
%     MPI Authors:
% This is MY version of YOUR chapter.  It has a wrapper so that you
% should be able to simply LaTeX this.
%
% Please work from this text so that we are in synch.
%
% --Steve Otto

\documentstyle[twoside,11pt]{report}
\pagestyle{headings}
%\markright{ {\em Draft Document of the MPI Standard,\/ \today} }
\marginparwidth 0pt
\oddsidemargin=.25in
\evensidemargin  .25in
\marginparsep 0pt
\topmargin=-.5in
\textwidth=6.0in
\textheight=9.0in
\parindent=2em

%   ----------------------------------------------------------------------
%   mpi-macs.tex  --- man page macros,
%                discuss, missing, mpifunc macros
%
% ----------------------------------------------------------------------
% a couple of commands from Marc Snir, modified S. Otto

\newlength{\discussSpace}
\setlength{\discussSpace}{.7cm}

\newcommand{\discuss}[1]{\vspace{\discussSpace} {\small {\bf Discussion:} #1} \vspace{\discussSpace}
}

\newcommand{\missing}[1]{\vspace{\discussSpace} {\small {\bf Missing:} #1} \vspace{\discussSpace}
}

\newlength{\codeSpace}
\setlength{\codeSpace}{.3cm}

\newcommand{\mpifunc}[1]{\vspace{\codeSpace} {\bf #1} \vspace{\codeSpace} }

% -----------------------------------------------------------------------
%  A few commands to help in writing MPI man pages
%
\def\twoc#1#2{
\begin{list}
{\hbox to95pt{#1\hfil}}
{\setlength{\leftmargin}{120pt}
 \setlength{\labelwidth}{95pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#2}
\end{list}
}
\outer\long\def\onec#1{
\begin{list}
{}
{\setlength{\leftmargin}{25pt}
 \setlength{\labelwidth}{0pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#1}
\end{list}
}
\def\manhead#1{\noindent{\bf{#1}}}


\hyphenation{RE-DIS-TRIB-UT-ABLE sub-script mul-ti-ple}

\begin{document}

\setcounter{page}{1}
\pagenumbering{roman}

\title{ {\em D R A F T} \\ Document for a Standard Message-Passing Interface}

\author{Scott Berryman, {\em Yale Univ} \\
James Cownie, {\em Meiko Ltd} \\
Jack Dongarra, {\em Univ. of Tennessee and ORNL} \\
Al Geist, {\em ORNL} \\
Bill Gropp, {\em ANL} \\
Rolf Hempel, {\em GMD} \\
Bob Knighten, {\em Intel} \\
Rusty Lusk, {\em ANL} \\
Steve Otto, {\em Oregon Graduate Inst} \\
Tony Skjellum, {\em Missisippi State Univ} \\
Marc Snir, {\em IBM T. J. Watson} \\
David Walker, {\em ORNL} \\
Steve Zenith, {\em Kuck \& Associates}    }

\date{March 25, 1993 \\
This work was supported by ARPA and NSF under contract number \#\#\#,
by the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615.
}

\maketitle
\hfuzz=5pt
%\tableofcontents

%\begin{abstract}
%We don't have an abstract yet.
%\end{abstract}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Process Topologies}
\label{sec:topol}
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process grid. Usually a process does
not have to know the PID numbers of {\em all} processes in the grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

Additionally, the user--defined process structure can be exploited
by the system in the assignment of processes to hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail is outside the scope of
this standardization proposal, since it is too much dependent on the
particular hardware. The description of a ``virtual process topology'',
however, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function MPI\_GRAPH presented in this paper
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph cartesian structures of
arbitrary dimension are supported.
The topology definition function MPI\_CART can be used to describe both
grids and tori by specifying per coordinate direction whether the
process structure is periodic or not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the PID numbers of other processes by calling MPI\_INQPID.
The processes are specified by their logical node numbers (graph) or
rectangular process coordinates (grid/torus). Thus, it is possible to
inquire for the PID numbers of only those (few) processes with which
messages have to be exchanged. The inverse function MPI\_INQLOC
translates a pid number into the corresponding cartesian coordinates.

\discuss{In the PT2PT discussion it is not yet decided how processes
are addressed. This could, for example, be done by unique identifiers,
or by their ranks in a group.
The topology handling will be adapted to whatever decision will be
taken in PT2PT.}
%
\section{Embedding in MPI}
%
The support for virtual topologies has to be fully integrated in the
framework of MPI. In particular, the virtual topology functions do not
interfere with the functions for process group creation and with those
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this paper are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic remapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a logical topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
process group creation function MPI\_CREATE\_GROUP plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and use them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
This chapter assumes the availability of the following MPI features
which are defined in other chapters:
\begin{enumerate}
\item An existing process group (e.g., the ALL group) can be
partitioned and/or renumbered using

\mpifunc{MPI\_CREATE\_GROUP(gid\_old, gid\_new, group\_key, order\_key)}
         with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_new] group id of newly created subgroup of which the
                    calling process is a member,
\item[IN group\_key] integer value used for the partitioning,
\item[IN order\_key] integer value used for determining the ranks in the
                     new group (see below),
\end{description}

This function is called by all processes in group {\em gid\_old} loosely
synchronously. It creates as many different subgroups as there
are different values of {\em group\_key}. The ranking in the newly
created groups is determined by the {\em order\_key} values, with the
process ranks in the parent group for tie breaking.
\item If there is a standardized internal information cacheing facility,
it can be used by MPI routines to store and retrieve
information related to a process group. This facility was proposed
in the Context Subcommittee. High--level topology functions
store structure information for a process group,
which is then later used by topology inquiry functions.

In case the cacheing mechanism does not become part of MPI,
the topology information can internally
be stored with other group information in an implementation--dependent
way, which each vendor can do as is most convenient.
\end{enumerate}

There has been a general decision in MPI to start all numbering with
0 instead of 1. Thus, coordinates in a cartesian structure are
0,1, ..., dim-1. In the same way, nodes in a general graph are
numbered zero up.
%
\subsection{Low--level topology functions}
%
On the lowest level groups are created by the general function
MPI\_CREATE\_GROUP. Using the input argument {\em newrank} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

For cartesian structures the function is

\mpifunc{MPI\_MAP\_CART(gid\_old, ndims, dims, period, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN ndims] number of dimensions of cartesian structure,
\item[IN dims(*)] number of processes in each coordinate direction,
\item[IN period(*)] periodicity specification in each coordinate
                    direction.
\item[OUT newrank] reordered rank of the calling process. \\[4.0ex]
\end{description}

The corresponding function for general graph structures is

\mpifunc{MPI\_MAP\_GRAPH(gid\_old, nodes, index, nglist, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN nodes] number of graph nodes,
\item[IN index(*), nglist(*)] definition of graph structure:
For each graph node its set of neighbors is entered, i.~e., the set of
processes with which the node process is going to communicate most
frequently. Since there is no weighting of node connections, it might be
sensible to specify only those neighbors with which there is a
considerable amount of communication.

For each node $i\;\:(0 \leq i \leq nodes-1)$
the list of the neighbor nodes
is stored at $nglist(j),\;\: index(i) \leq j
\leq index(i+1)-1$. For the
last process $index(i+1)$ points to the first free position
in vector nglist. Note that the matrix is symmetric, i.~e., if node 
{\em i} is a neighbor of node {\em j}, than node {\em j} is also a
neighbor of node {\em i}. This property can be used for an internal
checking of the input arguments.
\item[OUT newrank] reordered rank of the calling process. \\[2.0ex]
\end{description}
The definitions of the arguments {\tt nodes}, {\tt index}, and
{\tt nglist} are illustrated with the following simple example:

Assume there are four processes 0, 1, 2, 3 with the following
adjacency matrix: \\
\begin{tabular}{ll}
process & neighbors \\
0       & 1, 3      \\
1       & 0         \\
2       & 3         \\
3       & 0, 2
\end{tabular}

Then, the input arguments are: \\
\begin{tabular}{ll}
nodes = & 4 \\
index = & 0, 2, 3, 4, 6 \\
nglist = & 1, 3, 0, 3, 0, 2
\end{tabular}

If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to MPI\_NORANK. It is an error if the topology defines more
processes than are contained in the parent group.
%
\subsection{High--level topology functions}
%
In principle, all that is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
group creation routine. However, this is not what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For cartesian and graph structures the functions MPI\_CART and
MPI\_GRAPH create a process group with topological structure.
They combine the call to the mapping function with the call to the
group creation routine. The user can decide whether the ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.

The option of not reordering the process ranks can be useful in the
case of an overlay of different topologies. The user can then fully
control which location in the first topology coincides with which
location in the second one. The price which one obviously has to pay
in this case is that for only one topology the process arrangement
can be optimized.

As specified for the low--level functions it is an error if one attempts
to define a topology with more locations than there are processes in
the parent process group. If it does not use all available processes,
the unused process will return MPI\_NORANK as their rank in the new
group.

MPI\_CART is defined as

\mpifunc{MPI\_CART(gid\_old, gid\_cart, ndims, dims, period,
                             reorder, newrank)}
with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_cart] group id of cartesian group (if calling process is
                     part of it, else id of rest group),
\item[IN ndims, dims(*), period(*)] definition of cartesian structure,
                                   (for details see the definition of
                                    MPI\_MAP\_CART)
\item[IN reorder] ranking may be reordered or not,
\item[OUT newrank] rank of the calling process in the cartesian
group (or MPI\_NORANK).
\end{description}

Apart from some local computations, MPI\_CART is based on the two
function calls

\mpifunc{MPI\_MAP\_CART (gid\_old, ndims, dims, period, newrank)} 

and

\mpifunc{MPI\_CREATE\_GROUP (gid\_old, gid\_cart, 0, newrank)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\mpifunc{MPI\_GRAPH(gid\_old, gid\_graph, nodes, index,
                              nglist, reorder, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_graph] group id of graph group (if calling process is
                      part of it, else id of rest group),
\item[IN nodes, index(*), nglist(*)] definition of graph structure,
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)
\item[IN reorder] ranking may be reordered or not.
\item[OUT newrank] rank of the calling process in the graph topology
group (or MPI\_NORANK).
\end{description}
%
\vspace*{3.0ex}

The following topology information is stored with the process group
by a high--level topology definition function:
\begin{enumerate}
\item Type of topology (cartesian/graph)
\item For a cartesian topology:
   \begin{itemize}
   \item ndims (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\end{enumerate}
For a graph structure no information has to be stored, because the
graph node number is the rank in the graph group, and the size of the
graph is the number of processes in that group.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication.

The function MPI\_INQMAP returns the type of mapping which is
assigned to a group. 

\mpifunc{MPI\_INQMAP(gid, map).}

The output value {\tt map} is one of the following:
\begin{itemize}
\item MPI\_CARTTOP: cartesian topology,
\item MPI\_GRAPHTOP: graph topology,
\item MPI\_NOTOP: no topology.
\end{itemize}

For a process group with cartesian ordering which has been created
by MPI\_CART, MPI\_INQCART looks up the following info:

\mpifunc{MPI\_INQCART(gid, maxdim, dim, size, period, pos)} with
\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN maxdim] length of vectors size(*), period(*), and pos(*) in
                 the calling program,
\item[OUT dim] dimension of the cartesian structure,
\item[OUT size(*)] number of processes for each coordinate direction,
\item[OUT period(*)] periodicity yes/no for each coordinate direction,
\item[OUT pos(*)] position of calling process in cartesian structure.
\end{description}

For a process group with cartesian structure, the function
MPI\_INQPID translates the logical process coordinates to process
ids as they are used by the point--to--point routines:

\mpifunc{MPI\_INQPID(gid, location, pid)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN location] coordinate vector of process,
\item[OUT pid] process id.
\end{description}

In a sense, the inverse operation to MPI\_INQPID is provided by the
function:

\mpifunc{MPI\_INQLOC(gid, rank, location, maxdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN rank] rank of a process within group {\tt gid},
\item[OUT location(*)] coordinate vector of process,
\item[IN maxdim] length of vector {\tt location} in the calling
                 program (only for error checking).
\end{description}
MPI\_INQLOC translates a rank in the group into a topology location.

\discuss{Depending on the decisions taken in the PT2PT subcommittee,
MPI\_INQPID might be changed to return the rank in the group rather
than a pid.}

\subsection{Partitioning of cartesian structures}

If a group has been created with MPI\_CART,
the function MPI\_PARTC
can be used to partition the group into subgroups which form
hyperplanes of the original process structure. As an example,
assume that MPI\_CART has defined a two--dimensional grid structure
on a process group. With a call to MPI\_PARTC this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\mpifunc{MPI\_PARTC(gid, lostdim, gid\_new)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN lostdim] direction perpendicular to resulting hyperplanes.
\item[OUT gid\_new] group identifier of the hyperplane group in
which the calling process is contained.
\end{description}

MPI\_PARTC uses the function MPI\_CREATE\_GROUP to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by MPI\_PARTC, the
inquiry functions MPI\_INQCART and MPI\_INQPID consistently
refer to the grid sections if applied to a subgroup.

If the process topology is a cartesian structure, a collective shift
operation most likely is used along a coordinate direction. In MPI
a shift operation is handled by the more general send--receive
functions. Those take as input the identifier of a source process
for the receive, and the identifier of a destination process for the
send.

If the function MPI\_SHIFT is called for a cartesian process group,
it provides the calling process with the above identifiers, which then
can be passed to the send--receive function. The user specifies the
coordinate direction for the shift and the step length:

\mpifunc{MPI\_SHIFT(gid, direction, steps, pid\_source, pid\_dest)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN direction] coordinate direction of shift,
\item[IN steps] step length ($> 0$: upwards shift, $< 0$: downwards
shift),
\item[OUT pid\_source] process identifier of source process,
\item[OUT pid\_dest] process identifier of destination process.
\end{description}

Depending of the periodicity of the cartesian group in the specified
coordinate direction, MPI\_SHIFT provides the identifiers for a
circular or an end--off shift. In the case of an end--off shift,
at the boundary process one of the identifiers is set to MPI\_NORANK,
indicating that there is no process in that direction to communicate
with.

In a portable program the number of available processors usually is not
known at compile time. In the case of a cartesian topology the function
MPI\_MAKDIM helps in setting the numbers of processes per coodinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\mpifunc{MPI\_MAKDIM(gid, ndims, dims)} with

\begin{description}
\item[IN gid] group id of group which is to be structured,
\item[IN ndims] number of cartesian dimensions,
\item[IN/OUT dims] number of processes in each coordinate direction.
\end{description}

The processes of the group with ID number {\tt gid} are divided
as evenly as possible among {\tt ndims} dimensions, subject to the
constraint that all processes in the group are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt dims(i)} is positive and does not
evenly divide the number of processes in the group. Negative input
values of {\tt dims(i)} will also cause an error. All elements of
{\tt dims(*)} must be set to 0 for completely automatic process
distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine MPI\_CART.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the PID numbers of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
MPI\_SENDC(...,neigh\_pid(1),...) to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndims, mx\_neigh                                           \\
\>parameter (ndims=2, mx\_neigh=4)                                   \\
\>integer gid, gid\_cart, dims(ndims), neigh\_def(2),
          neigh\_pid(mx\_neigh)                                     \\
\>integer own\_position(ndims), period(ndims), i, j, num\_neigh, dim,
          rank                                                      \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                        \\
\>data dims / ndims $\ast$ 0 /                                       \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position\\
\>gid = MPI\_ALL                                                    \\
C  \hspace{5mm} Set process grid size and periodicity               \\
\>MPI\_MAKDIM(gid, ndims, dims)                                     \\
\>period(1) = MPI\_PER                                              \\
\>period(2) = MPI\_PER                                              \\
\>MPI\_CART (gid, gid\_cart, ndims, dims, period, rank)             \\
\>MPI\_INQCART (gid\_cart, ndims, dim, dims, period, own\_position) \\
C  \hspace{5mm} Look up the PID numbers for the neighbors.
                               Own process coordinates are (i,j).   \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)  \\
\>i = own\_position(1)                                              \\
\>j = own\_position(2)                                              \\
\>neigh\_def(1) = i--1                                            \\
\>neigh\_def(2) = j                                               \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(1))                   \\
\>neigh\_def(1) = i+1                                             \\
\>neigh\_def(2) = j                                               \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(2))                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j--1                                            \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(3))                   \\
\>neigh\_def(1) = i                                               \\
\>neigh\_def(2) = j+1                                             \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(4))                   \\
\>num\_neigh = mx\_neigh                                            \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration   \\
\>call init (u, f)                                                  \\
\>do 10 it=1,100                                                    \\
\>\>call relax (u, f)                                               \\
C  \hspace{5mm} Exchange data with neighbor processes               \\
\>\>call exchange (u, neigh\_pid)                                   \\
10 \>continue                                                       \\
\>call output (u)                                                   \\
\>end                                                               \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
\end{document}
From owner-mpi-ptop@CS.UTK.EDU Mon Jun 14 10:31:53 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA23584; Mon, 14 Jun 93 10:31:53 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA07181; Mon, 14 Jun 93 10:32:12 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 14 Jun 1993 10:32:10 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA07167; Mon, 14 Jun 93 10:31:57 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA09073
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 14 Jun 1993 16:30:34 +0200
Received: by f1neuman.gmd.de id AA16839; Mon, 14 Jun 1993 16:31:15 GMT
Date: Mon, 14 Jun 1993 16:31:15 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9306141631.AA16839@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: PostScript
Cc: gmap10@f1neuman.gmd.de


This is the PostScript file of the newest draft update. Before
printing, first use uudecode, then uncompress.

Rolf Hempel
----------------------------- PostScript below -------------------------
begin 664 PTOP.ps.Z
M'YV0)4)`F=(B")DW8LJTD.$"AH(2)8;(*1.&SALY.D"0L9,&SAP0-5S0R`$#
MQ)`W</+(27,&#1T0,7+@L,$"9HX<,D!("4,FS9@P;$`4R5,&Q)0W9NC<"3/Q
M80DJ:>BP*9,1"I4G4+[`L/$EQPP7&],XA1+F3)DY&6/$@.E4R)LZ;GJZ.>,6
M3\:2)6ODL`$"!PT93HO$/=FF31DW=.8\)&(ER4#";<+$99+&#56-'#V"L(I5
M*U>O8#FV+7.F,A0Y;\9,*4,G(YTR>%S`0?TPA((75,I@(>+SI8P:)7N.>4FF
MC!D0N7?W!I&PM!L0+YSL*6ZF#W7H0O:(J4Q&H_$^3J!/V0-[#!KPT+'LF0+"
M21\%0J!3D;*'CAS)<]A4+(/^19K\'YD!U!Q%A?>"'7.DH4=1:H%P0TYMU!&4
M@4"LY-P>_[$QQQY;E-3"6FOA!0(,72@PQAMN_$1''VD<]Z!.9[W!1AUTI(&B
M1FG8X6!.5D@1XXPUWMB3CI:=`<(</TT%0H8;^CB'C#3:^!P:"2ZH0`LO#@E"
MA$&5-!^+QSD)99#/]?ACE#<BJ&!16.:DY5H\=<<E<E)L6=%*>)A8AQP3(1:9
M?6G@H5$=<`Q:*`T@F/42:G!UAVAY:(``!XV&5EI#HJR!P&A<(($`J:0T*D`@
M'7_BV1\0^L6%9!APE+&'?P""8%\=!?81WPM`1.9&'4"944899.PQ!QT5U3&'
M<"^]H"NO;/@*K`*S%C7IBK<"<2(<:9SUZ@C79OL1%K9"9T03%6T1XH@@?(@N
MB08:(800':X[8A<&NO%<24[<ED01Z!HXG!S]0D>&&2T0FP8;K]K;%X[#M0>"
MPLU5)BZ*=%"11ZL@S.#P"T903"Z@>9J!F!R"MDOQNV\(ZFY\X0V[TES0B1$&
M@2!@`0)3]^6!753D:F;S"T+4<3`90Z#!U!X*%,U4T$.7(4=_@ITHEY'[.GQ8
M=V00^JH9;[QQ)&M<(]9'3CB'H?.U9]M1,@ALO,$3NO8J,"UT__:[1;@O#/SJ
M',>M9:#(]JG\L<,#%QS&P7@/O*&6+_!=,W2`D[R%XPZ5Y'B1Z]*K$<$&LX%W
M$7O`@=+#SV5=*'65&4?QUW2$32W=:+1P1QIDT('&'N:U0$9%82A@.MN'G6%[
MIW/4(0:FK[^0.QIEL.02[K'O3FRE4\TU/*+%'Z\HWKGC@909>\0@`PXF1L\[
M]<$/KW'VR!]I//>QY_$]]+J?_WOUPD>:$_N*PB3##:)ZWZUR1P8\T$]Z84"?
M]2*U%OZQ!GXM2$-DS')`^Q%*5A<KPVU<5AGA9?!AKJI;_Y1G'Q#4#4YDZ(Y[
M6H0WV@7L!7*XPPOE,(87GJ%0^+K-&'"XL2.\D'(;4YH<F,:&XLA!6&&P0U$T
MMA;4L"$H[/G="V1&L_[EA#NP09X"V`,TGK'J(_UCSP@)>#Z;B:Y0)`08ODP8
M/4&5I'O?8V,+Y&>&XRRO>2VA0P"/!\<ZRG%VM8M4G.1(Q^.,ZB?F`589.#*&
MHN0.D,.[H_->$BUSK>M*:VF!"];21T,:CY!QW.3-4M@%^DFP+/PYI5DB,X<U
M:.HL%ID(WHCPJC'4T&:F@]8'&P<HZWW0,GOH`IA(%[.9%:5_MC1A">>FL"[2
MH6=@S!1[ZL8>Q\5``<#\W?W2QT#W'>]W5XQ+%L68*<=I:5K#G%L:E0DP%*KP
M/;=*`NYJZ$X0$`%O8D#)'HSE-&3%#"4M0$/77+D&-[SA#F[0#D`%^H8U#/,%
M4TC"D9)8(!!4B"6548"(VO`&)5H$.E:P$\A,N*<^D>I.@:K46OKWNSE]JB0L
MO>"<XJ0`%]R$;71XE1&LT(=728&G+2J#AHK2MK==YXS]*8,^(_K*85VD*',0
MZ!W@@$H0\%,.R+J-4N$0T(&"H*`'3>A6N]I0,)UJ6$S)Z57]R<NTDI6@!D6H
ML(@E!SJ\]3TM`JF8@"2EQ[U@KVAZCLUB`(/"XDA'+V!,$B;HUZK]AB]ETUEX
M2K*6W]1@#_O:(DR.U$LC_:XD&L.BH.8V!CL\!YU<`Y@-:G`#',3`!3?@"^/4
MM*#'K;:UKXWM86]#I375K#]P$)94^R.%CUE21.K"B^:`1H0W^,8&ENOLQN0@
MH2RN$8;5S8-&-V:'5U%W*CK[V7>S:#.>WLH*>\#;3SE;K&,M)V+/><%LWI"U
MAMV!>1,)'4KDAIKZ$N>"^!O>#3"UAY(,6%&5>8T<[``40Z&`-W.`@W[RD((R
MQ,%3>#`/NA"%8,0XC<%L4``*G*`;*E3XPA?IZ1E!(*"A@DFH!.IIBV,<U*%Z
M*BY[V,,9YD!1.J5+E)I<RWPVV\`D:7"\@AJOSF9<E.)69`]":.Z*5%D&5KKR
M#!-QJBQ[JF,>*]''0?ZQD.N$9`4H^4A&)C*+!]3DCT%9RBR:8)5G=N4LQY(_
M+[;QK7;:98I"ZSYNX-M%VJ"IMW#J4YOJSJ>B`FA!RX'0'/6HUY",+CFP(74?
M+<F9BV3F2UOFHY3&G*8]S1JOF>%@0<$R+)^*MS#L(=*E3IQ0IW?=SDV'4+<I
M#ANF9S--P]HB>&O">B3EG5TG<)"=P^>P"Y7L`>ZA!8AJ0N*>K3%IPP<ZKEH(
M"*1]*_"IB]O0.4.!MXVWVZT%W/[90T[0K88]5!MO:]A#M/%VAP*;^==OP!O"
M"@5M$-P!;VT(7;HT]N];)93?.2DX=-X@<'4I_`5Q$/A:'G[$0B4<GM#94*$(
MCK><'LK?>#-@2=CSZ([&^E9Y<#<(<N+$H!0J#/A\PX8@6LT>NT<(6I7Y>DB^
M:EG&YVJ!B<MI4K,:/2:'-PV#;\9R$(,:X&!\>:G!#'``@YOPA;"&G4'6#0L$
MM-957`F,`?G$MY:!\:"P-R@L#(Q0V!@4H;`S&`+:J;[VMK\=!C&0.PRF#G>Z
MIQWM:O\[#`1_=Q@4_O"5,[S:$5_8P@O^\8%7.]_W3O>\VUWM;)\[W/4>@\S7
M'?`P&((,:*"`&]S$"&+W`0U*0@0>0+>PGF_MYB\/^\#3??*6Q[O>%=_XQ?L>
M](-7>^DC#WS(`Y_QO.=][G,_>=E_WNVS'SS=/?_ZRHF>!C<80@Y0CP,?).'L
MN6_[[G6O=O(7=@AY%_O:\RY[(^1@"$:@^@V,0/^VTW_W\R]__C6*]_NCG?Z9
MYW[P1W6H-P2RAW[H5WGC%W[F)WYJIQ8Q@'U$D`,WD'K?UWF%-P-&H`#Q]W]&
MH'>X=7=:EWS`5X+UYX'V=X+Y]W>R]W=WYX*@]W8:]7<!.'>=!W<`R':=YRZ9
M=P-%<(,1&($W,($SD'H4:$_@9P2.=X([V($S\':RQW<SP'^"5X(D>(6%UWOE
MEX576(7!1WY\9WE/N'=RUX0*X'<GV'^<)P-"2(1&F`-(:']TMW<=*(?E-WE]
M=X=S2'EZ6#E/.'GT)P14UX14%W>=5X@$*'^:]W=\)X)4YXB\UXAY"(F0.'S2
M]X51F(AD>(C]!X"PQX.%6`0:B'<UP'Y%D`-"8(%)J'\?F((B^'8;F(<M*(N3
MZ(!W9WDY*'>YN'8`*'=<Z(5_)X:#*'=C.(5E"(!HZ'F=MX9MZ!6JB'<_V(/(
MR(OTYUH_*(KD!XF,J(B4-X.TR(?!Z(MV!WV=R'G5"'<YD(%[R(`[>(N]2(?T
M!X7DTW]?&'SJ>(^2AP/JZ'QLYX-TV(FM2(V5%Y!-UWGSYXS=IP"$I3&MQX>!
M-W[9IW_CAX?E5Y$6>9'_MWO^EY'"UX`>R8X+&)+E!Y(C*9(/:)(.6%@:%7XY
M^(GGV))XIQ9$D'WOEWJ$=2FM-W^%%X^!IX05R85`V9%8^)-$N85%^7M(J85)
M.91&J9)*^91,N91+Z'\Y"(7O&`-%:("GF(K=1UCDDY-#\'8[&8AU.'_3V'^=
MMWS7J)9NMWP(Z);IQWEO*9=YIY!TB8#B%Y=YB9>ZIY=]R9=Q"9=\.7]I&8`\
M*`0=.'\*B7J9%Q,1Z%H(Z7T\X(-CN'9%<(YF&9`?F'L=>'>9=W>@J86AR7MW
MIP"C>9JBF9JDJ9JA.7]#H('PIX0ZZ9JP&0,52`-4%YG?AW<<6'X\"9!P!XN(
M"(X.&([))Y:^AWC*Z7N-"8658WE12(QR%X7""9R?6'@WV'9%B'VG6(3=]WV4
MZ9F7F9CON';H)X-K]XBU]X4OJ(62R(>46(OPF8<]N)XTJ)[F"7T:59[C27>B
MB'Q0&91-*96LJ)$^R9$J69!%D)O>*9GSAP/^2'_;UX\\Z(3Q%X5L-X*5&7T<
MZI!YF(^)YZ$B2I$DNH=X:):>Z8F#]YL%B7WNUZ!J07H-.7^,J**9J7F?&8,Z
MBHD0>:#E*'D^2H];@79G&(GXR7>9AZ0$Z)*&&9!%D']M%Z-#J)O@9Z)6>H=%
M"J(>V(J[N(LC>J5:^J%B^J58>J6K-Y]H^IY^N8,&.H>5B94Q<9"N]9V3&7_U
M=Y#U5WIV6I^/IX^2EXX/2`2[QXF8MX=>Z'FP-X<Q(*A_BH^5DW:"UX_RMZ>\
MB`/5^*#UUZ('":,RP'I"(2['$X'^<TUFEW9V"G\&N'JJ"@.K1W6NA7<PT*EG
M"EU/.@1^`0-$X`-Z$8<E:9'.]X!<*'W\!ZR^NH=0*:+K>8?CEZR2MZR?5Y&>
M-ZQD>)&(VJS4>I$4N92:5Y'D6)&_FGC=JG_&2GXQ$`3E2I,/,@.2&:R7R*WL
M^JVT5Y&E-ZX,2'P5&7?7:I'X:I'5VJ'^^GG2NJ^^J:_.ZH4>N:W$ZJW&&JX(
MFWCL6J[GJGWIZ@,VD!,-:7M`:JC>NK'Z=Y10:9H>2Y*PQWPX\'Z`YWQO%X;$
M6(@K2YR7R(+<V(+\EZ.?YYE:^)F$I8.B5W=YUZEI%W<^"P,U,`2KIW4X0+2U
M)WM-Y[.GR'T^@'4*<+$1V;/!1UAOIQ9EB*]8277_0W4&B)B#IW>>-[:89Z_!
M^'<R,((T('93-X-EB'?<Z8PU()EV-X*#M[6]UYC3^8VSR)[K:;.\EZ,*>;5E
M2+C02*Z&"WUAF++^V:YO)XB%90.V":S`R+&_-ZPBJ(6X);8."5V"!YL/6(I$
MP*`Q8`-/NW>\>HNJJW;.*I08^;I:B)6%E;941P-\9[NURW<0:K9(>8MR*7Z=
MVK9%>ZM3-[R#2!)*F8I&X(/I2%BGBY-GQ[HCF87A6J^P*ZVPF[WN6GXV8+>L
MBH<X@'L.N9!T%[0=VY&5.Z`!&K(H^9$3":9CJ@`4F;Y[5X^MM9/AU[UN2KTS
M,#Z0^8/JNIM:&Y"35\!9VGR\>WR]^WMNF9(D^Z$%['?V:HEWVWB=:G@77`09
M?,$V<*9X&`1,NWV&=[HX@(30)WMI*W9RE[9!,*2VN[>XZQ!I%\-IM[N\!X-^
MF\.&JWBYM\.,RX8KN[8P#)TPX%K$J%'A6XB$I7[09YM"V)TQ(`1/2UB\&I'B
M9[=:IWX\7+CDRL5:*X^\"<8G/(BP.'M)JHMFC*.@1X,[FL659\-H-ZC;67I0
M;+J[&;9X]W3U2UC0I76>.Z2TBK$K6HBMB('V%W@LF'DVH,AW1WIGJL=97,AP
MR[Q%.+=J`;WGQ\"_:WX/S(?3B,"@YXT*K)2,U\"<C'Z4%[R0O,JK)W;3IW9$
MP'[NEXHP()D:98AZ-P05VZD+B7VP.G5LI\K!3'G0M7KT:X5>**!(R7]OUZF2
M*W>K5X"LNGYR]X@R4,VL2@/=VW?[&H1Q6X1!\+2=:D^F*2XU)`-P*#Z(8G93
MEWU*^,ZURG>0FGTSX;S:S*M:C+"$>I9GR9MUV'^*^L^$"M`/*-`&'=`(7=`)
M;8=MQX$+3=`,#=$2/=`4?=`*?=$KRI.*R9-8Z;/:5X"J!X<-";HNN7G+B(E0
M.)ULYY.CR-)VFK(O#=!3Z]!2^,\:Z*:(.HJ!EX56G*@%?8=9.+]$R<1RIY##
MJ7[!>*0$Z(E-F*$MF9DKW9(YJ(,UX+,3"-)W[*,`M)']>+4P_8^C>-.'*-;Q
M1]:NY=1G_8]`"M02B='7Y*,[Z*T+B*@#;9Z^^9IB^Z3B>8+O'(#C"7M_;9X^
MN)(?J+3Q=\)-:HZW^""#U[1Y1[=)&:X;NG<\G84^R7^&;'\9Z(]HQ]F&Q]FF
MV'80FKF<#:FM>7?3>;7RQ[B-+<-HAYRM/=7C"8".5]GZ9]L[?=NZ[9(IJH0*
MR=C,B]4\D(/A2]O$K8$:K8P!":5J^'\%#8+*#=W@NMS1[=SV)]W7;=W-O:+/
MK=TGS=W9/7B]&=Y0O9'E3=W=#=[;S=S?S=[HG=TS6-WJW=[R[=[8O=[UG=\%
MG33>_=[-?=S&C8S(K83_(P/_4P3F>LT^\"*M5Y681]NL&*+:W9.^VJ_,3>'>
M:N$:7N&^.MX1GN$<#N(B_N$DCN$D+G;Q_8"3JN+SO>*RZ'GR''O:G<AE"][9
M":5;38U2/=4Z2`0&[H,)+@,+SA<-/M5,^ILX+HW9S=RMN'^OK=[^R-PK&'L4
M2N%27N7.+>56F=M,/IWC?=))OJ4'"M4F7N83?N;J;>8I/N)FGN9H?N%G3MP/
M?HZS&ZL'K@`);KI4AX3G39X\OMITJ(D8*G_<>--\^'J&KGXBV('7)(Z!3GYZ
M9^BA-^F//NF17H=R=^ET-Y'_?(>=GK'8BX/C6NGW^NFBCJVF3NJ>/NI3F.J2
M7NJL[NJR'NNT;I&W/.NE+N<XJ.L&_N,(+CXWX`-^$8>NF8(6BL=A+8.CJ+@Z
MJ(-72]?0#J1):@1$T.SHY]3TZ(\W6,@K?8QV?8,<Z.W^*`-='7J'?:GEKH%B
M5[K,6XI2?(072^<HFJC+CNW%V-6WCL<G/'X!"7O\_N]W'?`/N=M/+GF9VWG\
M]WJM^()T;IEMM[8VT.XQX0,W%>]3.7T0RL6*^^QX7'=6[-":::EB:ZG$/=4B
M+_#^WM8#G]L&+]K9.8*M:(G(;:!M5XH1?XJE&,Y+S*NOOI%N5YEQ5]I:F:B<
M7=8C'Z*=GO1[J/1S+K8;F9Z^N?12'_54/ZQ,7ZA4C_5:[]-;#_5=?_49/8]A
MKYUI.W\@K!9T6YNP2'^$N=*6.H;NC*_X&I%P3XPI3=G(GM*WG++2B?=3Z_;6
MB94$?*_W:J+3V-1,>M:]V+;^_KF7":S*^/AV%_G.%_0@^)K-OM0'&M=YS(82
M/P2VG(8/;I'9.9+]6OH_S:VGO_JDCZB8S?JJW_JM;7\[.)!:9\6=5[3F&(IV
M^*:9)[_N&)R'C/="ZOO"7_S!3_POG_S&K_RQZ/S'O_S#7YGQR*:\&(V%#,(S
M`.1L:`22R7Q*#MZ*B8,IJ;WF/_J\./S9N?Z-V?[J__OL__[R+Z3Q+Z0\^9M"
M,'I`7H2U_'U\[?Y":C'-O_I'``%@`1R`!C`!VI_7AP`;(/TS3&OO[N2_[8?@
MV%`M\TI1:[B5NT]4^^S/[3-'NJ_WN2/>A_RF'_-+?L#/!*K`$L@"I5\+3%(G
M<`4BO.-7_:B2$K)^$.OFY8!2Y/W4`NN)7EJ-JX4OKU9[J%_&BV/9APH9H,NW
MW"X3"'*"KZT)2L$GV`2M6/:Q@J_),Z6U[+2!AJ`'TDB+C=WAO,?F_U;:6$)N
M`ZD?[3[H]P#MD``D:*6/VV$>;Y?RXB`=_'9CZP[*P3K8_HH4^QM$QZZY^3Y8
M9([0X"'K=ZAO^)D^V2?A$J&06H2Q#UH%J>O'K4!88]N!G0>RL;2>U`4C%0(*
M1HILVI&_V:?30%L/,D<IS_ZA0KNF"AD@*^2"JY`@]:#D9PJ/GTZ[<7EP45$Y
M]_/[U)`C_(6P#Q(*P]0W#!7A@P-9OLDG1;$05HJ*@&2Z@7X-=+F=FP>-AI[;
M&6W0"!N.M3OX"!T"ZON&T8X8=D-P.`S)X9P[APFJ".G`4A3L=A/]T5`V*JT-
MJ1PV@C+7YX%Y/>KB[;HB8/72$.?#>B#(:\FG]X2D0,_":SP;R0`I([6P#DN7
M`J!;^2R/C:1U!+]$U+?Z5C;MG\$DF+1VLA37^XA>#R2"O9!($D?B8<-X6JP+
MIL0YE:A6HMW*/E@L2-4AM>"S>&'I>H;-+D7UGQCH#6&@#/2)+S#Z`4472!2'
M(@QTA<TO*?+$&Y?\?-1A$P)3B:0M(VEHKFP`'<.$WJ\,/KL(N!.Y7O6I0U]1
M[SB>7);;PL\8RF=CR*C]-.]U@[Q7>JH^B0HNAJUEE7WH8K\[=:M.7@'#B\2N
MJ%<JBGCNIQGBQ"=UI_848:10\M#Y'+UY)1&AWM3">/K.[Z2V^A7'<%7*RFU$
MP#D)OVHW#RF;V&$[U>>M?49*UW^`V=$J:$)@\)@LS),:A]#22UFC2[?IM-PV
M&RMCZ>,_7ZSP024MMGM^`[L+C.-C,'9%CG:@P*+6^XK\+?E8,?RSP_`>6E1M
M:W$1NL7X(Q>IHUS;/4K0+BZK5X<7Q:$QU%97*)-9)+TCK2(B;EEZKPD]3D==
M5I%LP&KL20OK].6_%84)G:%"8D-(B,>M/0<7Q6*5J_I!H$]\,*1/Q3$<Q<HI
M.V9``W:IJ5:&6MC_L%4X)VWY@!_8&+68A7QCH8=M<1\C,`-N@BXZ8]&G_G3(
M][,A$Y`;$VT-#4-*Q"4F@7+`V@IV#.GL[*M,58UF'HI"43PN1^I(`(2B])02
MFGD=\`1I+;SS/]Q0L&LZO*K\."N!5>.4%;^25]/*<IVD8K6]%%:5%%<6Z5V-
MJ\%UD>#5X:*2W*IU&:PH":VP5>MZ?O>J=;6N\\<FVV2&HS\<J`/QN`:I_[2/
MZ%%7XXP($$@CL$0NA?AP$PER%'ZBVS.8HN3/$HN\J7&IKZCTE!;D1O)AY@=2
M]K!(R9L0Y:2\E)8R4_8>3+DI51J$NE"@TK6(KMR$?HXD8,A)=<=.0:@YM>["
M5_U*.\6LL`"'F32Z5@_HHP&(`E6JR@LE*X66:[25JL<JSJACE*%691]CCV['
MV<G)94F`V%BR6EWF9U\Y'\+C@&Z9!.L]6H<8J9\9,((`8U_[EC](]S"O5#2W
M@$-^+$\Z#E&=0LR#V792DY1QR0H06:MG-2.GY+,B1Y$O6>FG>PFXOF2^Y)?Z
MLE]R)GL)XSC7AXH]68ILK:=NM2[3Y9Q#A*E(*Z&B3D6Q2EB1BVHU*%GU0H7Y
MK#BFQWR7(%-CALR.^2ZM7DE349]PEJV=!1<C&]Y+DH5U2!;.(9D)RT10:QE6
MF1'N_*J<N7=^%?R)7#Y3D05-H#F'#)#7\ID'"&EZ+<9X?@S1JF1=3M-G1LVB
M^?/:58;$1CZS:OK,M>.YBF9'[)K2RPB`S4P6D;9FV?2:9_/RR+/I\X':V<M,
MCV:):UT34S0Q3=<-&#!%[A-]R*5V]!@F64R%NX=G[IZ?21H))WD,/0>(=27.
MIIGI6!?T&9R/,VP6SKHS.*5/Y:R+TBON#(%A5;@JI]NIG*R0TO6[RR>]R&2D
MXSR^2V^:'_^C43B/N9*8R@LGOLS?E#&3U)*:5LWI^92QPY4[F]-^NCP@TG9^
MGB;5VU[9P#J>39)9/2MF]3N1)[-24=3H`54@V/G8]MS%XHZ4L.7]L^CDE'+G
ME[R'^&<XR2(W-9W(9STB/W1M=P+/D02RTN?RA#[N,WY.K_,)G<SGKY)[ZDD*
M7;L91,:\T]C2.CQS\+3&W=/2EIY/NF!TJ)FUQUA%^.3BU"D\N/$NTJ%E5=<6
M9OYC+:=H9SDH!IG1WE'[F59LS/)`E^;IZ'*4P80N)U1T1BX5VAF79_)\H<P3
MAKI0Y4E#9Z@-[5<W-%]A+QQ:K08<`2U/44R6H2*W(^QRY=F!:W0N[NPK0W2+
M'A'VHEY+R!T=J#'T@O`3S?I,T`6+\JPBT#6?4!^[2A?*#Q:A_^%^+AG%PYO#
M#>#9R_+GOGK5&FVCP@<D@;9JU_Z>9A,K0QI/4_(LSC4P^R@?Y5QVJ5,>KCN:
M[8X7$SJ"<&M1':12F?8,DS52HN'+:(J=2"5\/J;(W%:RIWO)'<GU=O8F\4,]
M9)3IB`_(5M'@E[7L0V&*3*72$A6<`)&[(&-0;VU>(GGFAVYG0?1D]"F7XE*7
M)4NE$*&#1ON,![VV94=Z%*D`LDUI3R?FG:DS==B/-7)!`>Z=C4QX>8DTZ5:(
MG!O("7DF8%=&1^D=,VS$"%!5(.3DZ([3`KM9/NDW'1[,=4[-*2EKI\B'X5FE
M;1H;35:NNF-\:`;5JD_$J)1H/S5B-JB*DJ,0%%#[#O/!:[M.\G@V+T3!X$ZN
M,T="<AK!+.7CZ"Q/ZDR=VPAWNB*G]*#:#A`[2&QH;OD_-<I&159);5\B"[.%
M)-Q'1P]9,&)MBFL8\2%A!(9DJLJ:J2U+#/G!G,I3<:HGXX51;4(ETIET3-LA
M#V@^I+/C92O7Q28UTR8S95#UJ4I5![;)`FFENJI5QYB:+-`W4E$>'#VI;A2L
M@BN4JA#Q:+%;IK[+0KZFDQ0:A\"@"J"9#1H)'F>J4G$/0OU+ML@!&:;ML_;X
M*MXI0D2U)IDNP@)`&IS8FJJGC*HJUL3*6*/J8K6JCK6Q;K*727>83F#-=,]P
MZ'DV:B>AZ-Q8@P])[/(0TD&ZPRR/:?U=I]4!I=8NEEA7:UUBK:RU@;E6/-I:
M:6ML=7HD+[=6JFITCA0`&^*F3&?T9%8KQEG=WTN=J3"UI][4Y6I3;>I.]:G,
MM:9*U\X:5#/5V@JE:L&HJC75"4P=D2AK087.EJ(QC4I>\57PG#T9%;RZK+:T
MD\+=6O.HP-6,CM2BUU)E&BS56GETD/[1VC,PK:K.XJ_[E9`V,;Y72/%.?64_
MFTRLLE&KRD9=ID!;6T'@(&779)H2W0\9XT1S[Y>JUULZA6RIA[V''U9X9J*7
MQ;(N45N*F:]TF%;$#HM*QQ0K34$%30=!6`E[$_U?SF1JR^N9/M)3IE(7:V2-
MK#90[\0R[.J\+I#[@4?!)^U<1F6G>+1.6;)0.C%1K:R5Q;@85S_"53[IY.&J
M^%IDSP[H##V<LW2:LAF93I4A8OVQ4C6+K=5EJGNTCEW*8EPT%2K&<^5^F$[_
M2Z.<:#,Q.N7:7*4K3:6I@32Z_ED^ZV?+9R9#L6"+LA%3+FM4Z\\&6GL.KWZ"
M(=]3?=Y.I>V,:0?_D,;I^:?<E$S(6#]M6"5"9::4X!21M6,:$#:5655KN"05
M^J2,Z2=#8:[^6&FCV$Q8/+:VTGHGQY.5\$^O#3PHE(!6)^%GTV200-M;4[(*
M$;&VDXJ(K#,$3Y0*4]6@:=D9'VB@.IR+:NE)2:L9$A<5`?53#K7P_+$BN-1R
M*V\];*4(ZB@`48IJ'2VD-;,FEAA1VGG;>ZI/IHT\^,<L?EIT)/9(G3DD4(MR
M60E<S)//N(_BW&VX<0&!,QIKQ_;D<2AA:J&$E2J1]X$JKM'47JW%XEK<3`KL
MB,"Z)2RYRNF<2WYFY/C@82UXLC`5YEF-1(`TDBXJ:I6QWT4DF4L(<QO-#9T1
MBCGBW)K[Y&[N!L(_+W?@R=R@Z]/ZG9R,A4_0Y*;+)D7G%A/=O*`5,PZ1-,63
M5L_8C4N,5G3J?3VI)ZTZW44<1"66J%%&J@MJ8Q*P.T5F]"9D0'*DT]JN*/R>
M;I)?&28'6/_>X`%L@WB7"Y99">AV#A(1&&$W*0,ZV@]9A)Y=-"-HYRX1<4%Y
M>.Y:8@!BO)!W\68GAR9Y'^_BC4=0[3"N.R(KQ7Q@'/IN'D^FBB$NYGQZ$S_R
M>JHR4<5,2X7Q5N_J/;VG-S<J+L[E?)819DNW-)9.=9[1=?MNK=A1;:IM;)$G
MJ]3LR-/EPZ-XE'#)H,_H*E%5XSF[HE1=7;)S.<@*8^2UO-C7\6K?]#0#N6_V
M];[;M_&"WSQ+T%K+(LM\]&?STMC.:YNBUIXT$J.G+\`A=B9]+I0-`PZLQ5:M
MGEQUSRX6I>-,NBB"0;#;0W?DU[6T7PFL'L53>.ICSVRDHSJW[$.FT[ZK?6)9
ML!L)2;*%:F#J-9'&S]`J/XQ*[;Q'K)5X:)?:B6%-<PZ%UE]6OAR2,5,[W`BI
MM1W0<\'^SIFB02V)G2Y*4DN"V!%VXFAK2Z_E``NLJTYEE8*UOVGF)50<U!LK
M$@*M<^7G3)W@BB2%"POVV3U.!X"HG3ZVZ1JC3'VCU0N*SD]&I(M*+(B$1'ZG
M2-U@*ZR%>!GG@6,=+Y$NKPE$A/$IK")]XVJI3AYIY26]I`2-8A242>X=09RV
MEI4UC<*3K8BY'>QEC482W%UB68B716)F=:80525.AJ+/>-[A_51Y!!D"=3Z?
MF.Y(8><SBKMP9=Q0,]?/G:<09@0,W$-<+4F2$\TA2ZO%PA`H@WK=BGNN,3>%
ML&#>'>J)OUBR$;\Z)XCC\,I3><BXZX'$F36N3)VI^U;&;`_]4AA,)HL8F<0Z
MX0>!EB8&ND+%(ZSM55RH-BXJSR<$M@\;HEAHM(,BJJF5@0RF0Y"6?H=0;BMX
M3'MJ;Q6MQP-)7V9,^[??]+$_OI?.CEAUJ[.8@8B@\!O(7.P48T==##YK7#<3
M0:<S^DQ+3:R+'5R=,TBG2(.I*P6PF\J;9)S'#SCZ:+':&X^IL=4LR84%)5MC
M866-7QG6*5LOF;^6R>DH^CS>_'S"T`<G*]`'!+)T<OF!I3/X&G,HK".P+EA1
MYE"(#G367I@[+27PX8MERRLC9\*.;/(J8[M:HO*X,9)DA"7V?I5*_LI<628/
MK)C,LV9RF3Q4>8I8P<6<?)/;,K'RR6F28,GEN(R]BG$Q[L/+"L(%*HS<O)YM
M]&IN4CA#4;JXPW]6X^-!E+/'+(I/B?BKU`]=DX<NCWIYP0=$AD)=3SO&F-DJ
M9[W-K/7,T@!J>8U9!H5FJYEAK97`DGL$U+9&R;$(?"#73+60EM8AX#1%I<%L
M4SENQ32`;GEFS[SR.AT]GI=?5WG>3.&LB;=5M3J]6-*%>L\:Q["6LTIRSCJ.
M"SEGMKN`(/+\K,;4^3H+K)5DG8&SB0J(3I+;_F:)_)T;%G(>5L1U9I[;.F3@
M^+(&$W)46:MUX/!LG@U5`:[/R5EY5JO]7":=9QB^SO&*.P/H:LPD"_1\GI?F
MV4`1I"*TO-Q/N/0!'/GLW"B"AZ`K=,.ZT-P60_?A?BM#>6B^ZL\@.F$-Z'C%
MDX-5MZH\MVA>ON1N-B^QF-Y!H/NJ^L1HC$6.^&?'XZ!XA^E$Y>8%^G3+C+J+
M3^\R^^9!]:T$EFWBT#2@\)`[*JRDJU62/L%.NO#0@"@-@ZET2JY6$`JS,2P;
MIA:XD`UC0UX:;6UI&[RE;U?UXD.1-$21KR+&),G70EI`J0P[ZY[@!:?S3@A4
M.VXX&I<?7I8TIO%%ME7<EI?]W4!MG_;0Z[G'6_AF]>?%>)TRY%F2`>9J1VNP
M<$:5B:6P/7[1ST0UT2C<F(32E`[*)UAI46%1C8C?5JF^PS`87SUA1;R383!;
MEE9+:E7'ZHI$Z'#RW*G"6"?[X.K-LZO)4*]>Q+^Z"%1A!-KIB/4>,M9[6I!!
M86XKHPVU4YJ.E/G!I6@\W?V8UWN&;*H.^@0U;N2>%%!#B\A?\E?UR^$YEBT;
MW"UKEBU-%RHAC4B9,;MFUP:MVP*^0QC00B+<VU^DN7RBY^D4/LDDB/R2Y"C\
M0"*#J*P$<9`:Q[9Y^_C6`":A.2*R2\W?LUX:9T%6EB!CNZK8B8H*:6(`J#L=
MLD9"6/M8((GHD1V@23;<)='_RBXOR94]E[$D]KK,U&@!065K/94;]M/#8U4(
M-5NK7`R467+I,VPT.O8`0AKM+H?QO_X\ORID9ZCQ$R?=)UMD;:)U4#7'T4I:
M37,['L9R;QMG;:O-M7T6[S-FWFY*4Z6(Z!Q;\26LS<+.")._615ZRE")7:[%
M"456'_QDC0L/W:;;^AD"8QZ>YJ,,X8_Z/[@-94OG,BF%WT[AGF8JR7#3VTGW
M>A0=?2I$YP>%IF1"5;H\WU6;>-]GP'FBTBR8Q1OD?CU1"'%WZDL,JPRF5UJ8
M*[E3&\^7S+!.MC<TT;";]`4KE=VR+70U[E`:&TSF9V7-NS'TZC-4>KDO+:\@
ML&[1=AELFR_I(U]E06:W/`^QQM--\GDO:^=M,J%PMSI3USM>86\IK;V[-YG,
MRBMY7R$Q#@6^R_>'6M&=^'QK*1BM=Z1P[G'?FS,E&R6R#"M5WSKR<:HQ'1DX
MV8F#HM',O)W=V!+#'FE5B57PMAK)Z;M=A>)E;<6D\+YRX'K'?*[D"(RJG:-;
MOCP^&5<K[I]FK%`/OR++:^>"==U5'3HS<X8^X6-R3*[JSN.S@H#^%G(1VA/%
MS;AF!VVCT':HR:KR-4E0_"Y;\'KBQ&QX8=:AP-QVK-C__JL1'&,5X@J.PH8D
MQGIA#!0]YZX5AB73=!66/5[PBJ,RZ/.=(?%*WCR2F"P#+>XLQI&6VUG5<:>5
M:;`T"0BK,&6;/FZ\A@O#.B1J=]+"*MIA]?3M'KGHC?GX%W?CUZQ3E1X7KL&R
MHHP,LAC.LQ$_BL1VJR0)SSQN_//H[:@'PJ4/"0];?CR-8ZL%=9$<X7<<6*$.
M)')FZ=FZEKA%@N+CL76S:M('C)TP#2W@%0D\_V3-C*J9I./#:)OUT7:BN].>
M&_0+]SY[,E+@)O^A,<P.BE3`*4D`(_/859H.*GG&I"@Y9D[3:7Y)O=Y$SMU7
M&5RKI7;ZN0AP^7,\+,['T4IS%8%4CT-H/9KV?.\>Y-/-(=A3A98DLYI7;&P^
MD:&Y/;_8&SMD!NS4&265N19^I]'R`(\?<3Z$R'ENOF/4JUHI,^14QJZ1>3)-
M$4I8*T,C4`-@7$8<2!4=L$UI0JC7ZHY#9^@`]SLBP[_:AL@YI3ZJ&>];-N@9
MD!JUCA\;4IUTDG+C5T7/LJCJD5$HW9U=IIT.$Q71W;15-KW__N4-S+["JBJ%
M.Q[Q?"KU9%;4P?#[:K$6<6-)*Q[,@8WZBQU3QTRI"Z@>Z]2A^E5?ZA[K"@5B
M&3#.U0+QAH@REPFIP<.UM>M>MA-WWH[;G;Q#)-?K>ORFZ\=HKI\J@&;7^7I>
M[^N'Z._IN[7>%E.65Z/@>!T%A;>"-),R:+G2S3,Q"9^U7WIT[1J7"KHQK_W(
MVXK&UC`S4P^XL3RT*TG1GGC69-QEHY/MPJGVG%;5/:I56[>H)P=0K!BY*&O[
M)[_MW3`OZBLZWAXE:.3R[89G$IX?1:XX371QP\.UT:%JH*2^QSY=V@&]`=P0
MI\+22=PMLK$3?>HGW[&X[3IV!YK=&FBAL=_!Q7YGV5)4;UM[R!#"I3!)'1QA
ML?\M=D;9$XFGO9,S9Z-/\FQC"!'Z[S@JBA1Z<B>,[9&X4T/N)=P+?+`R\$YI
M;_.K8$7<9]\6AG/=JUI%^%A>UX@N8Q[I-<U>P=M=YW5EH4&:0!K,=$6\D?N;
MCMQ=]$=KKN`-M,VJ<PN>@Y^-^#WV_&"_,^.)5(UW\.WM!R==\J;C77R.3V^>
M[:3I4R#?XW%\6;KQ0?[(O]<7+^-W&GK>22U^Q3.\A_GT9-N>KM89.3@>;PB7
M@^+D"_KR*A[,:RYQZ^)94`9R\2/('_6Q)[?FQ5MLSFV5+5S-.TX8YVV;;8.+
M:IYLOOGXK<@G(XH,\H#NSZLC!]^"[#@IQ)@[KLL[._>\O[?\_;/RLZ^T04O/
M)N;GX4)U\?(+S;-YRICGT_R;?W)UGA4%J3G_VN2\#+KSN@W/?WH'S_(HM(MO
M];#>QOLJZ=S/=)WPMM;G&)_"=T]7?\H[?<]`;&=FU;:6-]T#MD!;=$7IOY\Y
MT,V%F#WV4GCLRN%1JV@OW`$;1IJB7'[1\20ZMML4>6E;Q\B>Y=5&4SB'6'RK
M7ZC\<,G+Q*W(Z^//+VI%KV>]3RD-)MNWO(Z[]S`)@`S[,K_O"7V_1_?G_M\+
M?(XZ\/E]P#_WD%X=:[6"W]B>_,$W^!#?WS]\B1_QN7W$!_@0/]$C^GL_>AA]
MO5>01D[?%SQ)/_+%/,F/]"8_Y9?\E=_:ACS*9_DD7T<N,4E=SNT])=R(8PX[
MI7L?7^[/?*M7]6R4L\VONR,7.1M=5&TO^S)Z*_6YTRHH97+N7%2"^J"AQXH^
M)8B37\?YV1DJSP21YCO+\_;A7L5O3R@?>$;ZS;WX3!<>;?P!%ZO6%GN7[3>@
M!@C>6M_/6/VKO_MV/^\W^+V/GER]WF?P@'_6"_ZE/_CUSTC?\93.L^WXW`/:
M%O^.;SX#N^C1>(+6M*?1G\,[D9IF&_(2O^M(WG'&3)]_"W<ZSE@Y%MD>(OU;
M8?13GYX6$U;_H!)AD6M#,>@M+/M+G^3JA;=_"]M^V^_UKEVBQG2\_S$&?[<]
M_//8Y!U2Q>@1]K'+R/MO$'1I_J!1^4M9Z9^>[B#H]KA#NQN[1NI_"ZG/*.3]
M:@W\&_N2QNRJ4=/.9`/NZ<SLC-R_A./)3$,V"E'9VW]6?1;9'M_"%K\S3OAN
MO!4D7?TG5/4?*Q0`<C8!H$X3`'(BKX=&\?S!>XF:71,`MC8/X"CR`!XB$^`'
M\@!:)A>@#V(5-8!TR`485XUW9)Z"Q_\Y>'#1AK*6A8!.26_#O90T#6#']_:1
M4@W/O2>'$"HG'P$3[%%NXA>]HRXI1+Y)1[?3@'VC'N='ZF4T68B/Q+<%@4C@
M$<BW@7T7CFRB+O5W=XVA0]A<.P-)RS4*G7R'R$#CL'5`#-2'I[\U6A:9HJ?D
M27M"WRQDAY![LP^8XX[X>6K@DK,&NGEGX`ATZ*%<#,]9DIGT>['>WP<E\7V%
M7Q[(!Q)^@.##A(GU0L`4>W?012]<().BT-"`8IX-"-%D@9'=<5=)\8![6Q/H
M`T9!2J"HEPG2>9I@)YAX#(&@8%1VVS"!3V!MA+QE/,L(7;??43OA2RE$>6T^
MB9<@&&,I?;X'M(:6?7Z?W[NW\P$I%)0SQD"-#_/>_R`[Q8`\#N$'W9U\CTK8
M-P>*>V-?=U0&]GS.H#)8!H8HR&!K<PPZ;!W4T3>,/3F)D.2WVW1!WV#7-]W-
M/B>>UT<'?H.XS2;4\G$WGIZHDT7A6%Q*_,>UN'VXGG8%NF@^S11,LX+Q2BI)
M:]'-P3B6BHJCC+!>7E6QXX%H>XR.7I;O04]PTO:4]$`D'5AJ)A$V*XY*_27!
M*$-B"6^F^&`VM]^\MZAL4`S2>;,$M397$#?('LT^)Z'1)^85`4F7`KCCV0`O
MX4OH!P9^@>!,V.'0A'[?'Y@3XH0V8?GA\G%X-B`8U7>=(C[.(=B2M"/W'E+(
MZK5XWIC(5SHMA;`>4[AI92%28548%1)\H]VK9Q5JA5<A5^@5+H4.WU/8YW6%
M4"&FEL^4/F<AC`.M%&!%'X%E^L2`3-B>QJ#A>G3*B@)1B4+'#MV3H2@[>R'Z
M%]1$4?\'5$2/%"-V3]X32U4G^1WOTXK4`%#(VY$S87TQS7WW@]PFF\K$`^\D
M(?K0ME,8MB+Y';]FU]`]X^`'TG615"7<B2<.$GM?5":3!4(W\@V<\LW\-A2/
M2/.7=53_A]8E$MF&)1%N.!(Y-'S=4G.93'8WS5ETH6A!Z5EZ%O(<AR,/<JAZ
MD4<7RLA3'&I!PF%:TU'%(R+2GB)VL&(?X6X25\5-]$[A(J!1/S?:C:9E[2G(
MB,D#I)&&E]EE]J98(YB-H',0/CB#2"GBHE`I:LC<P^6I1@[=#)`9%2.&'=[#
M'[YC_>%_.'LE+6R3Y[%]O&$3D5%'B"B"'93B<W_(+Y>/XQ/Y3(B4"Z%4^6`^
MB!>+PH2,4Y6ASK-WS'W)4#D4#AE#_]8X-"*:B!W1,:*!/#NYWTD3"XI?,.+U
M%7[)B.!7C?@*SHB5E^KU(U4ER,UU.'A<;O<4#\!\A'M02MOENX1RI]W_0W<I
M0'D7DVAW,8EZ%U<$`^0_M@F"TWC@1"&B.%0BHCYO$(EX(FZ).1$0`@WQ5YF'
MMQ.&7%GT"'F4E@PDN(_/XZ`=0L`3+,6.32L#UB`5D*4G]X?FAOEL(#YB<//8
M$%;45_K3)"Z)A"+>]206BG=7HL@D/GH2$"MF>#Q$_@\LH@]:)G'-6?6DK!WO
M!T%FS/Q=0`@GI^UD/M9@LV/#!4""W8WC[9B*]`BJ*":.BJJBJ#C8"2FEXO,3
M*[**Z]*VLR,:1O$(&A2/_`_-2/_"50TW-=>.Z-5(+KW)Y\1]<7(Q8HY8(R:+
MWQ>SB"/^/LXBGG@KYHKIEVO1(@%6:-TNE-<E._0.<1@AQF]ARQ04!5%!Y.*X
M^-I@05B0$60$C372"$$2)Q5Q0LB+\MB502YB@Q8FOHB^7V/#%"T_+P]C@H/T
MBV^0NC/M](O\XBQD*JY<J>"YHY.@)0FAB.@3@HG#4(E7XJT[C9TS$B3^2.))
M1_4Y%3(+"L=HJ?`WB5U;Y"4ZC%KBEV@R0D(S"_SG#[$AW\Q-%*/$(4I(A">;
M0".'&M%']*%8*DU9<W\@A:W.&]CQ?'N_G372B_"`+!(ETW1`1"I2+>;-.23\
M2)%BZ/0B[\CJQ?5(C:B7Q48U6D=8XZV5-7HN;M6MD_VA'I=5S:<!55^(D;(8
M+9Z-UQ<S9C;2B,XB)(AXI7Z32FP2Z%2+O6)VR`-X>3J)(8-Y04,<SSTT_#@A
M6$\'\A5I(O86^B$$-$YQ#"`&9CTD44PG9?`47L\1Y!C09%%LD=BT=E2.651J
M%/!4=U[.+U)B84F"&$.&P^4S*<Q\V+\,5C'!W(?]7"?_4&+2UM@V$\D/LHYP
M2!V<A3.[[8)+'GS4VQDK(Z&*,]DT4^N81,/U#4I!DDITCC@FIB,9I`%9);[A
M($/_L%R-$2Y6[LE;`X_W,H6L>F/(6L9VS#6D4?_Q'L$>^Q9\R.:@.9,-;F2B
M.2O6"]D6/4H?Z]%Z)!>54\\7=E0;7DD/B&55&?Z*`PY,PY/,/2V+ZX@`JC7+
MWPJ5!&UFWAUK9^EM4C[-`I@_E8G.D6=H7D6-5\D<4QFV0WM2&@`3^$D&SN8`
M!"F-AIGC`EV];</)1"5"YF[.$N!B0OXMG8K.<GC9:<&')I=V#"U%2Q$#J-ED
M)-T5YHP`$&=4!G8_>5W;5E9'U35UU=+(\H!UD"C+!SFM^%*82,RB1'XA5Y2B
MQGN,-VN<"KE'O6`NI-""M!@M,R2:N+2$+=L',H5U5#%X5-!BM<0D=YW6PG=T
M+8@3V$)<47,(&-Z!MIAIH=74,LEH'Y4,9`,A5EK_0UX2G^0P-$OBXD<B+F!(
MRX(_'9$LRRDU]Z!7>E5>(GB('NW8#]G5[3$!D;Q$P00RW5$04C'6D0L)KX(Z
MT1[6RVGG$T8B(TC:8H7=+FK+WP''+&"25=]AO-0OBH@2`W>,(*]58:&\T"1B
MR?,2BY5G%=I2Y4F^+DABAZ+-_&15"!Q#6%%F@D>GXDA&-B%)>=2^?'5?75;G
M0QXE6D??9WIH)/G,-E.A_4DXP-,!J/AEYUIKIV!Y)"S6*E41.9.&$JN2P10Q
MH$F79L&0(\+:I)-W*"H>UX`&>EE;?4<WU\T5+TF6-0:IZ)/!AR+"_S196,?S
M=XM,(59-%RE2R4C'2$CFD/AS"1BU!-!15%055Z?,,93%1^"!=:QQ&(P%HU%N
M!1[,'&()T23;X_<3OW4@,L`V`\W<`*M',9-)L2HL"$L)>(!;J,EJLIJD5C0E
M;?5:%2^^5&AEM-!2.N4P.8C!6F6(Y&)#@C-3#(44A[%9#I46D^Z95HF+%T-Z
MR8E0)>^4QI17X]4'A8G8)Y7#P?/&5"&LWW9"DQ0AVE7ZP<M5+.H']B'$L)0`
ME2\#?:B5;X>?LHAM2J$).ZE?T8E]S^@E7?52X54D,IB88'?+-O9,[F!`I$?R
M]#@Q]118*5*2(R4EL6B%M1:WBS]8NT`JCR5E!&Z%=$^)2?55.22XT8JEL?QB
M(XF40D=B)5.,$<5[$"/U4*RB9GTO:646P]^HE=7,S]*X3!Y06W+UA2Q;M.5T
MLL3X(KR,-2,1K7%BI6]U?I24-UAZE$@-E3:);1*'H#9B2#VDJJE98PCN(E9^
M+]F(2VEY*`#0Q>YRNV!+M0MVB;BQ-JT,LB53F9+D!WA)Q&!C>PMYN15H%!<,
M+L*-33IL1^$FN^PO:&$J0EPZ0VJ!;#A:_I2*ARAI>3B718WM0GZPED6,:ZE=
M-EFOY7<9MX67!Z9%A2)M:LW<>0(UX1\AV#<I+\E+U%+U@3BBEL2>=J)(;4[.
MR&"%'^E)_`+'H`8X"!!7_&7,`30;"FB$C8273Y.2$KK5'6E>"?+/<94R9HUY
M/K64Q$>D4I5=E3GF^2)X?%<^9I#98PZ9:XR06602F5<E>F9CTI@WYI+9D_1W
MC0G^EIN@'NQ7!B0H*1Z_RP,V4(5K7.;Y8J\@,U)2E]>>W#":2YE)9IZ98V::
MN:/@,&RFF8D,M9EHYIK9>]`F-Q!C,V5B;M'+BIB<Z)$&U0O"S,B9<68.`V>J
MF1;9H`EH^IEFIIHI:"::AV:CN6@&FO_</)4WVIE51VP'`TYV`\NG!K_A,<T:
MU*,6DFNAS#Z&8QJ92.:126J:FB9>&C)C5I0\)H]I?(R:..:KR6K"FD<FD-E&
MTIJM9JPY9,J:M^:L2:3LFL#FBM+?09EM7Z<R99:4#@KET1P6-DZ0#X)2S@`M
MS.HAJS!0TN;XUJJP*EC'JU+$\#+3S`7#=@AAJ`>,)%JNEU)8`H=`69ABUAN#
M&TD>[";P<0%>6@\E*NE.S9O(!W7)`=I;[>;8]=VI2),3_X=`Q61SB!1VP>0_
M3PH10,X!!N8<$A)P0F^@VA=W__%_6,QV=R&5/U_6.N>P,&#Q)L:9?%2<#DS2
M>'M('L/*!;A[F)M3F/RF=A"<!1U-A#0><Q.G1&0B;4@=TKKU(44?9-;>X2&5
M2&Q+A>1QHDA%H\$Y8>%3?EP"N$!9)$'G15)T$IU&9]*)=!*=H=S1.72FFDN7
M_*=T/ITK()3D=%:=5"<'B'5NG5IGUSD"AIPE24&I_22;ITIALZJL*J[*$D-M
MKE"URJUR,<:#>H>#]*`0;RL3>((GLEY_!_Y%S^Q?V-J*EF^^FT\AZ-1R:C&9
M'@XW=@&>WIC@N7/JFW_GO1EX.B4(HLYI>$:<_)_(^7C.8&1=RHE,"3"("H"4
MH%145`>B$[-\([04+R5>-63G%579D(TWYM54V7JJGJGG(6EZ?B&RU(B5U,Q#
M@=3A818I(UC>$+9Y'F$.B9PT42Z-PR<$<\`0G\CG`*9\+I3))_/YH:1B$Q@_
M1)/488><DK1\M&&@QPWFJJ@Q>(P34H;A3B56#28_IH?VF?/4@SUU7Z8&MH"8
M*$/GF0(NMC*B&*I&R(!^LQ.C`Z8Q+]0G=P>88)](FR;"&*E7(Y9)%**=GRU6
M<B>(#6[48/DY\(B?CM'W.7/)'U5E=GF)D&[G9)OU0\51O6?^.0(2=>I+N"(#
M1&)9R),&@V4ADZ75,JP8D]`;]V:W)1_XR44)A?%R6LB9@MJ@4]`3%O)$A77'
M)"44A!!&OJ=1M2UM5'\;%XCP8"?<2A'JB!VAT=H#@A8^,PMF4!:,-"QXR"F5
M2\YG9!CJ.7M`(ATEXH:V=&,N:`H&<F(G&>COJ9GYB(#'2P:U&5J2EA2"U6V6
MPL>A$@<!,;!'2NG3W">>S'`2>XY7KV<>BFSA*S+/'CJ<()&WYR*9?#"ABA#9
ML:-1GVY<9I(S@H.9B02:;4)A/ES\.<M-H@WG>KFL!7$EI_0BK:!4FJ57IX#B
M9[Q;<";%<9;PU1S6@S92HQWGT8UI*-9;Z"FWO:*,V7/R2VDH2I\$>-VH9[J=
M75C<S6!M5P*9AV!OC=-*<F$.HY/3R#D/J1_I95"&0%V8LY$ABG^*H;.11B$[
M.B`AF>CI:H(>'%:(Y7KBH=SHZLF"(%MT#P0J$1V.S]<2)8J@GR[69AEC5E.:
M1VGR=[QH%=+YA`B%H4:5J<)Z\8.GG3VJ*J4=&H5\^%7B*B`AEU<,[I($*934
M5!6#Y8WA8H!,(*8EQ;(6^%^5G!Z6ATUR)AS,9HP5%H!*19*1EA\;Z0Q6K>0L
M16BU(LA]*UY;L@:-56-W&AO&)/5LUEBX$KR]9,I(]8:J.6^>6$VZK4!P2LD`
M8W-QAC503:2P[6_N'<B7KGDH2HOCD?U=;!1;-*>4&F=9"C\2S05M1!O&(K!,
M:)K'5-JS(6>7"!#7KM1S/Z/RUI1A4K*<%822.:43&Y%RE'J?1\X#DOEE>7?6
M'(2XM9#_E]ZQ&DT>'U@]LJ_L@DSE:,>`]#W2RV4&MD5AW%8TTXP-IK:.,T:8
MKH7\RF&ZN]%R?^D4QB0I`-TE8!JN*$HFYURUOME+5QRR@@B=/5-**Q8#0&A;
MWE!JE7Y/U-8\AI+]9@,5BG;`]2"3'&M:XR1M?EIB<L3!IE:3;(KUT*:XJ4=D
MFQ9JK^G,=,`A:JGI,\<T'F!%9.6`ED9G>QE[Q[`-I*@7\^:<'G""3'9WDH5E
MT^DELGU:IU5<=FI[F$<QX'F4@'YQV"G&4GY^HC78'%*>,IR_BO99<LH>_(=Z
M*AYM3>W*2E1T565!%,VW^95<S:GF<<L\I_%I=`J65:=>&76*Q6FG9BEX.J!N
MI\";U\42B:<$:GBJ>7RB'-6XLJ'I;KT;"M>,Y66<GV,2E15O1!0^=4`AJ/"F
M"#IY?*#`![XTOV4A`N4*^)@>2R;I^%&20F^&:6(JHR*F-&K6TW4E(Y^9\#.:
ML7YN(5LGM7U/=2+M\2_]<U_2B,IX_)(VB!XC`D(CEILY9A2N9YJ(-4>1)4P4
M6Y5:EB*E5RI6JJ529,:3C?:LD#E9*I>:PXFI7RJ9>L-U1%8JEJJF;JECJL8$
M&96'U<BBPNC!<,<;T<65WJEC:9YZS^&I>ZK>QJ=NI7HJH&J<26"^B$'BH'59
M$"31E1;%IRC92\;#W:2"3+DWB&!)3YCL<<5=IS9(@L<^*BQ?E]?E%4`D3`=/
M8Z[P-.,5][F(2*KO6+\VFO)LI"F9^J=^I:Q0A)(G[HS\$*.GKL1](Q?9%XI"
MJ,'9KKJ[L:>^:K`*B@ZKW!8/9ZRV8,#JBSHVZ6G3C&(4;S6@#)(30_/]B@U/
MD)30>*F/4%T:JW@>VNJ2)BOU1IZ'",JJA*M26K@J>`2$BV65-JSX,E?:"1:&
M/"LQ#$@Z2DZJX:KED4*>8/8JO)JOAJN*!^D!K_:K_ZKBQJ_6,/\JP3JP6F/\
M:H>4K!0MR`N_>DWT2VK<PNHO_1ZF&P.99_DDUTXUXANQ=R?=.8(&N2U6F15#
METYK0@O)^JFA:MC'I+I8JJS?BZG6LJ*L3<RZ6I:Q83K(%(9;V*S:YC1CB$QA
M;0G/&BX%<1X<T/J2G2FE!_*"N.F')2?2&L25/M@;ORJQ`A^C&%("2WZ:<-*T
M)J>R=_`9(OCIK#2]RHG2LW%,X%RK6IF99A!;3W.O$2NC6;RFMM9K:VNHU;;2
M:S]-O+:C7FIF:X^JLR5FCD>6$K;&<R86=M*RE"T?Z;'5I+9BRVGPYACU6TI+
MO\:JEJE<#UF*SQEG2^GCFI4RKJQJ^*%>O8<5ZH1J)6VNAI^$ZKE2J!K:Y\JY
MNJ68&-.FH6I^EV:91-?\K7WKR!2VLJJG65$3N\9A;IV.2IO):[CKVTJ/Z*YO
M3>[*MM9K.^KM6K>223K;T@9,!9C^B2!G@&`>G0KA-'BT,'#-L%5[U*PP%OU6
MP6VJ>H@7@MP()7JFZ7/@%2S#"#K3F4I(6][4LX[Y:0P9`'&5KJ^/$-"F>?QL
M1VE1&I56I?U:Z76)K&/=*4"%L?`T`-S+@B7]*I<KB86Q#)"+2/UJP#:K@(Z>
MUEQ^.VUEU`C"$60A#-H6H;4VFTY,H+*^F'Q'X^:*[I9-J/RV@JZ@_%ER1H7D
M-/Y0E=>W87<**GV&G6$SY(>W5GGP-]X:@AB2V4.*S/GA."IB,U%[UIGBF0GI
M_7JX*#P)C^A6YU"@+)31@KJM;JG;#(;$=FBV3@[U)#VQ`V@-Y:%!L<Z33&I^
M2K$?VA4[0]4U=V!>LJ'J;Y]IG6H(+3>R7/.1P-5>T6D:"YT><*,HJH;&KK']
M*1S[QL:Q=.P<"ZPZJF=L'@NJV;$)W(AZF:8D_V;[YA/>'1I+1#1U/')O503;
MZ"E(_9L6V+\J/',(Z.81N:='JS'ZO9%OG&3"PKIU:C7.$Y9YB'"^Z!.')55A
M^$IY9LI.+V19SVKZN$4AG(33RLHUODK!LB1-I/H*O6+Z^*376@Q7&)T[H&*L
MZHY5/F0J3+KRX+%6V0('LJZ7L"K[AI$V,O-21HJ35AW,[$'V>?RH\FJ_U<1(
M<C]-2:IM>6UDV3!SLV::FXC"HONL:C?3.*NPV#UH'*#F=KAQ<0<9P\ZJL^WD
M'!<?83WET=ARQU6H>^N`,B814!>)P+FG[2QZBOYFR,5-8^SP^#/.2_]F-"ND
M\#LF9Z8JD2@D:1(:%\\"*Y%<C#JZ_BL-'F,()<%^`N$Z0JA=9BRJSSK+H86:
M&#&+S#)E.YN21QQ!0X;J+Q<I*B&-4TQKZ<RT,FU-.]/R-S9M3DO3[K0Z;>,$
MSPP>F><08*X`I$R'E5F[9)O<)K<I;7:;UMBUZ=1.B3C`T,)L,ILPD2@"4'V;
M-\!M]GO^M!L@=.'5`C)@[5<KUH:U9.U8:]:6M6CM6>O5*H`_[8-`5`VU06)<
MY=(AJ#9(I+.^`)9+ZOW2+ADI-XP5]7S5+/)JN+3H21\]Z]01\7B;:9HW8S0&
M.Q2(E>GKX;64):,DV5)U3PCF(ESN47\+:^)HRA[W6&?;CGZVEX@[RF@&+EH(
MIYC+K%4IV9M2U=!'EB;GJ9Z\)5;MSW,T11XS"QO),1D?,U48DJ\ZCLO.)`/%
M'()ARG+7B8J3GFAQ2]PJ6G2'Y`*Y0"=.XQ\:0I*>VN@NE8V"6-1M>I6'2"'-
M[;.*LMA:K12ZA1U^?-R=YQE=SIZZ9O!Q2@E/Z*WE-X`>9]O6Y`%VF9PN:_W6
MT,Q$4HJ\"-QV/,A20`C,!!_C5AOIWQH?-@KQ(<K\MPUE@<MJ$KAK3*;"0$V9
MCR*V%HF((LKEFH6`N'3XB55IX=Y.%RYUFU:A3@;8*ZFDN7*DJ.&Y#QD[!2+U
M"'W@F_QLBIMX9$OL9@$HO=!4$]3#T]*^2'3+8QO9%H&3+0ZJXVXA&XJP9K<L
M*"G1ZD0I39=;C"!5Y!ZYDI(>E>0:N4MND8LW;B85"VN+9PZ)MA`_5Y".>;V+
M#D9O:ISR9I?[>VPDD5INTDF!IM%+\E/_A$>[)(V3PQFXYNV!B]N^N6PNG.OF
M#BFFRI"R/5Y33J/G(7IDD^A,+;F;V+AW[8V[XUXN@NX)XA;2@JW:!J=XS&(Q
MV8K9>%0AOR'FP?C$C[C6<C)G^AY%)&RYFN$]]T><NMKB*<^(UR>-<KFD;L9I
MZFZYI(R6Z^6>NN:=+&EL5IJA1XV[*@(VDDL],XN=(>\D2Y+9KB<TBTS)>(PF
MON[O`>S&E*.N3!GL:K;([K&K[,:4OJX.-IKLC811,^-5OBC(YI]+_?BXB\>"
M^E]AMD@N^3'J<DK=+KC;Y(Z[0ZZFM#=N3J5+O.B,@+<K'D2)1`Y:R!RU1+;,
MNX!K)44RD2W4$K4D:-%6",R-I]C*B]K5?P+8)`WRTL!T[)Z0@F:%J_#VM0RO
M9\N>U+8RY9VX[;*$/VZ/.^@&NACOHY@,82>B2V4(WHXAR:T%2WXX'2"4<SM+
MY97H;1[">D:WTVUZ9?("HC*5:P;`W!Y6;7$[K#"3PZV8@@8Q=D9C7?BD6"H+
MBBX"/\%/D\XNN.JBND@O*DD[J;MCU/=S9+E9,TS]\K9,O;"*43H_=J^JIC4V
M=8!=8)?;YK9=1G]7=5F'Q#*DA]&8M:Z7"-2YR0$R'M3/.7+TKKK%[I:KGLR]
MBV[=*[G`'=C8W1'+*$1#U-G;:D4C2JXPRN26NX.ON$OXAKM*;J1$P2%_=FT(
M5IB@'T*EQXL3%3>-V&B%F"E*F&\9RE'5<DIJG-9W!++PF_O&$FXA>P@GEWYF
M=0B40N*/RHMT2F<%^)9FSQWU^/RU+.?D=4E@;I?3RAH6D?BIK`H+.\.TE7U'
M/9./0"@KFJUR`WQW?U?_$JCL'2U,V<(D-4=;C+3R_.TAC\PX8CKF>G4*YH/&
M;)F,7V/43)TD3]A$:WB`BU`H+LF8DJ"6Z>?BD+AA*U2="#]1*)-A!%*D4"DU
MTF%#!.4>EZ\6DOE6+9$'^@:C=;Z'+$^&M(@?HN_X8?HV'FPHF)FL+<"9*":*
MB09[ONG,%)-%N==DQ\OZ2B8#3B.RP>@>PTLT]H(Q<\^)0DEMC9'J)`G&+7$M
M?T?$@Q!5/Y.,?3L,0KD2T=&R>98S'(,K,0-@D`B2D(C=4%97%0\,I80?)`$%
M(HBX%NJ*-F-E6B'X*R?$(&Y$)$^6^(DXP8+B$WP,0<&B3Q6L+EW!5#`6C/Y(
MP5PP+])U:<%=L!6<!8_!Z$_F908#(!S(9/@_9+5!P"X3TO`JW2GTU-1<.DC6
MC4:><"2@GR>%]:T]A`P?G$!=58;,#[SA=:]`2C@F04U=\V."1QMNP9J-ZK,=
MV8[\2B]HK%0FK)GB@<T5;9&5727F.#U@U"ZBN34Y51F/4Z1<?I??,G0W&9QN
M\#?5Z30AHI[1==;(@1'5AQ1!,8]_<$>E9]K"]QV4Y3S6B]=2318%-\)8BG.W
MGTE0-6AX`P4GPCW)(_P('W;]F_-X"^O"_H>>&0V76<0(-1SC^A_%3D>E#:<H
M$%B](WP]/6Q?,J2HY#^G<!N\R&Y;-)0CI-/P8?V*+UR3_4-+&"*SG\$Y`-Y)
M<N&X37Q8FH/ES)G*B$H#HD@YVDWX<\/H+=;-'H;C8#A+2*KI^94\EQ\CW`4_
MQ+]PRBAW3<2<D+RCZT`UKH6/<S<A.*FPEY5O!D(=4?!FW7DI.HYZ)A/=;)P?
MFML7-;$K<9;$%QF$B4_@:'&J-]#-)/SI+'?*<*EC"/>'M?"TXP=+P]!P4$S(
MS)SO6)/#\!A:SK#3<\C$5;8><D/KC23D<$'7$7^2NJ0)EXPM>+!+M;>DMC[1
M"E?\NOAMNUVJ`X^,.AG-FG0W`7<.08,6[0V;&`E;3/IDK)T<7$RP)((@2F]E
M)=UL"6[!@J`T)0MCLC<)L5WO,+@(#P,DQ?`G[)LUQ"#;B5>@>)EVX53'BF0A
M04WTRNN!8?[07$,\`86SS<ZGN67&F#&Y([XB..%+;A:4ZDC[D95'&C?#7=&'
M&`2AQL6/3,0:WT.CWFM<H_`TS7#]=.L8+C4-;MP'WY4L#:?3H_[!=Y&>V.[%
M/-+.S28-^\8$6F_LZ4!*>N:DU!PC2LTQR%@-5W6$,!ARL$W'3E)UG!N#CC)1
M'RQJZ<*G3O=:^^Q(4:>CI2/%*@\"!6)PJG\42PXP]T53U"%_5,(J-_1QC&4?
MPUCX<2<28WW']7%^_`_]Q_/Q?:P?^\<!<@K"'PO(`')_/"`OR`DR@EP@*WJS
M37Q,V]@FXJL1$`2X%N',\4OBA<7QH"_L0Y7$;Q)Q#!8K=IW?FW2'(";+2F`#
M=Z#(/XGHTR%=QVD9.@(CYS1-<#[B(M?(?<>-K"/3R(NPJ>+A4!X]\B_,3)%W
M0G)Q8W'>R)D-+D(C)\DCY9*\^1#%]$EZVX<(24M-'Z(-=\$Q#@2&@_4AH$N4
M==T>1$5RC.LESU0WD%(,H@RAG`F-_(FX4JC4.\0VH5)F"2/<?*B,?4A\(WRA
M4H3PC<P:Z\G;39C<)[O(NBDNRMOX-,*Q0CA_VD!C#E!(C(`PZO&%O+8L.(75
M4)<25\1+$BALK`C"<PW^0<+.9A3.=TSS%#3NR%.<&J,_B+`S+/497QD.?[,(
MQX6K<HS;*H,N<"%0;!/[P<OQ516PE%FS,E95".O*S7"LC"OKQ+PR'0*RO,J@
ML':DBR[&I3(N;!<!0J*R(?,%,\+;(;3S0W'*QC"<H]89PIZ2*VO=24)<B`R0
M_U`@0FUHO.#(ACE2@5ARZ4B73FG2O>;)/K'N2`@7.X0PZ!(ONS3`'DQ3+R=0
M-R^]O"O/R_;ROGS"8L<<R;L,'@N*/2-J;!C?'@E?=;PK[W;LBL+\&C]KU9[#
M_`<SS*A.PQPQ7\PX[L.L,4_,@V#28^NE2\=:>ES0/1T#;3:5(RVB<Y+"MXMH
MPSRI9W@LITW'<FFFBU)PCP=!4JH:A$0O@J*M)<-[YEX,VQS+9-<(:W$N(3,Q
MSXR1P,05CFF'-&<X,%>7A!8#S4GSZ[(T+\9',W`G-$O-3_/4;#0[S4ISUDP<
M<\U8<]<L-E,K"9^)QX54?B6>MPP,(CC';RTS[%Q,293EI^ND?R`SAX<P?Z0C
MW8)<4L6`!IMO5CNBHWNQ4K>B)$=6B+!YQ5;'LYL_9*)5QERQMZ8MUR&ZY$:B
M2QJ$8]++7#6/:\OQGXGJW(E><2?9B>BO9/,*1C9?MDS5_>$E)<.5,^"&0Q7"
MT=Z(^[JP*;WDW_:ZP(5R%UDL/L(N<,XGB>;H*ZUSAODZMRYC%`5B(8O+,X&5
M21=S1)#@I:.++#K^L*L\[53#0W&E,^T8*UB?36Q`:41VX"G8%1DZW#-Y0LBX
M.$_CHD.`:,9RDOA,!BY+\R.4,@V'+W24!,:+))035%LB!#`O9\\9I3J2S>S*
MI&SM37O7'K7G/S-5TAY6S#\/T`)T`0VM^,]OC71V&!E0C:$X3.JH=6#0DNH4
M[20)\0!700?0M&$0-'TL(1NT[HA!QTP<]/[L/.XG(?0'W4$'Q&.)!)U"B]`0
MM/AXTU@]XI2Y5O<].RZJ^!!A(3@X`:J5'P_*Y(]]1PLO)MFRH8,+3RI$M//X
M`X_)$+$[W`Z[/DGT$DT1ESC(,%XDAMC,V\V,A)Y4/JZB2S+78"?FROQ\BD1J
M#NZ(7"+G.JP.;[C;U3IG-*J#1L,Z:G03BSUU1[EH'(V!<$<`"&*"TXS%(J!G
M]7,EPI).'PTY/UD(,QI2=J4AD@XAC6*57>\B7F1(O\F*M$7'2$O/CK1V(^DP
M-R\T7N1'HR$#"6ZEX"6"80W=QR$U/+")(<2&0&J#C0M7[>:9!UL_,XIL5E]-
M<X-AQ4S0<\K3Y4`Y[5.3IVI"6CV7::Q+/]$.\2]LW;##UG,M.!/1T"G)%*7I
M:($9JC^4BGC1.8`E!"G.AH?QNM>,%C9_]*<42-.&4XX@C4UC.T3*AC,^NCG@
MM+6,+I'$)+&;D^*U.;ES.NU-0]'A]#J-GJW3Z#0\_>;(T^VTA-.(5L3E7C\3
M$Y#2./31F-6(7TYQL:-GU2HKE_:<!L-$LY#;9-V$.>)/^,-0/]1OUS,H[2$\
M5J"_@P-.C+K5F)*R+4F)\UGR"2<H.!JD5]X0QG<*!\WZI5YRB-*C4N\A(,^@
M,ARN-3#>\$BHY(^B'K"R-C?3BZS^O.W)7?\S`7U`]\]`M4_MF^3-/6!0;4`7
MU4*U@F<M8S_RHVR"#>UM6\Z#$TL/2@_T]$PJ8\_=$;;7;VG5(F#/8S[OSUYU
M5OU52WMAM6H\,XW57#58K1&AU6QU(STM:C[\$-U,V]#-HW2$97#FT+I9=J-G
M[M7Z<G.\W)P_L3-/??,51UX?8;T_&];2'F*M6*=WA75C?5C/=]$49]R*S<\&
MI[GRI')%M)-GPE@_UIQU8NU8>]:=M6+]65\VH'5I+5J'UJ.U8QU9<WFDM,?E
MPI5S7LFYE"U'P3OC_LC5%#;'W09DGL`T)@N3PZAT'I`+UB<^<CZ%=/OS55_+
MC30P7$C[C,OU<V(#GM#?37-=18/0X8UT'5U3U]-UPL1<8]?7-73]7._/W35X
M_5U/U.Z5]+Q=>]>:#C6"_2!OZ]EZO2>2A^YU^B>_N#M32A``;>)$S;/>9/WH
M3?Z@91.6Z,/]%/;\/8\^7N-5+2B7U0CV6BU6+]@/-#*48)_5#/:#W54KV`_T
M5TU"1]@HUENM7LO5U.(Y\EM1UCBU#LTQ`R3D[RI-]G$B^\Q4[=)P.50.E+,/
MYQ^J)J7RJ,C89"-\%&/CR-*6C4WE6'U93HO=7`NWUEZ*S0=IT_1Q<`S7Q#+,
M-`B3M=9`EHT3V(&DC)*A`]WSM#\1]*@\04O08\L*'4#K*2>T\VA"B]`9=`FM
M08/9V+6735J;V5JV4Y1E8]G`,,%L=%DHZIFD.%3/-J\1=!=`_]1)M0B-9Q_5
MW5-/S6>KUW)7@3<IC](;<8B-7[<Z[W.G2^T,/:R@>=P$F\?I#Z3M;N%.@.ZZ
M5U1;/95VIHU4Z]F6-I;]_WS:S\^ZDV3_B:+*2/,C*8+W#E)*2<DXK/9%R.^<
MV7J9(JKV/3OQ'YV#+B'"'\A8U(X53+QV`99Q!40TTMK!F\G%Z>ZH+<5\4SWD
MMA7"VKOB4&TT[A79B%ZT/>&L=B6.:O<C4]ME#K8];2?!,0XX4BRQ@RN./-.;
M=-LU#9=FITAK%\W2`A@%`>Z.<.2WV=8HEOYXGZ759#6%+6&KU1!VA8UA;]5M
MM;[M;]_;]7:^C6";T0&W"+@(CSD4=L/S*69$>P=B$MF]0Z#TSR5*JP4@-@C3
M;L';<#4>#>'X;0"QB<-52G/Y,F4:XU8OA4RF?+"P-!T<U&;E<#A$JHU]1B?.
M`51!$V'*W&=2JD,[A\2C3NZ\.V^#G=U;[(11W`<)"/.D.ME-<F;,FTG(A]&'
M)&<[>%->^(?=W$(U<5*,U'G/"R75C7LL/$U.=P,%S54W$!3T!(8VY9TI$O?R
M(D.RG$<[JCL]"F/)(7$ZS8YKEE`!UX9/\<529S;O<''4#B-^I&N#UP2!27?9
M[4$XDSM13-#=_M6IT5/,5GA#D"UV<NRG-3>_BK`W0Z5?#-[:'1;3*[XP1&QY
MJS<OF\WMVRF%TXMP%_18.)1OF03=-3&Z',$4U-PW\."R5'RIW@")W!1XNQ]"
MM_=!`QL!04&#P!!ID#M2W5<>XVBI9H[4,:/!*7/O[7N_A1[SS;8@QEBI-%RX
MT4`[OG*UJGLW(2XU[8PN'=^8&`1%?<\Y/QCM3)5>WUL*\BVARL'32.:M1VO?
M9PGWW2"2N!7.^/V,-6UIT#-6?NO>YW?KG7X_W.YW&K*8D-_S<?U=9#=C$R/\
M_9*&WY(0(O1\Z].Z-]V,?K?"Q/?LF$TE=,1@W=?4G,?$-[JL^NQ(P<K]#8%/
MX$\S\6W::>#F#_3MRG9RZ!+LXH%K+R-X]E*"Z\X<.`D>@K_.*SA&<H+SDB^X
M"]Z"@^!XL0Q>@]/@7[,(/H-SQ1DX\KV!^^`72:@3@^/@/[BQ4X23V.:/!7Z$
M#^&_-_PM?)/%.A+!'8`CQE/XCGG*U0#81UVT6GRF$%CK81CGWM,.&%YR?>&Y
M-U`(AB?29#AYK/85QW=SNXC3*-R@7V3<='W.4+,!3E6ORG:X$=U#U7U"]!YN
M_N5%Q%T>SHD$X@YX8F((PX6)R2.<375PXFB[QXA?I'EX`YKK;*T5-<BI>W,I
M-K'R_7TZXK#L3:Q[/Z!4\2>^B;/AL.SF+!:;XK:SZQ*)PRZK^%?LA&,DK3@`
M'8NCXFS2+,XAD\6AG"T^B:?BNW@M#G_WDKHX)W[^!..D.`!]B_OB-S<L_HK3
MXA\X,V[^$.-V,S(>?P36PO@SOHP?X\-X0\B+5^/:"S2N]FWCEG@R[HQWX]=X
M+YZ$?^/2.#@>C;/B8'@9W8Z;XCI2K)-[R^,[$O5+O&DS=5$-('4441G8$&Z%
MBSG)MQ7.F[W/QY`4!5%=.MC>'XUP6W1V-[#7D$L[M';T#3(.EM,PD&:A!,=U
M(%G,'3K-8C$R@B2^XB!Y,AZ2=^2T,Y0-A8ODR?A&GGYKY#<X/$+^/E0VN+/"
MRQYXS2-B6@SC0KX9ZWFSF4(RD8*&T1"!7?`#/@EY9(6IX3H+[FD^3JT2!!`!
M-W!LV(_KSTU-Y/TQFR&&*V\6)Z/;=+CL;!""Q=WK5;Z$)=,W8$H<I^+%]2\Q
MS%YK1P,YZJQ\4].\'>"FDJO.:SF=G>%$R#D27:X?@>'\$!@>FY#D?/E)+A:_
MY:+>??8FK4E*V.9,F-?@L9;G+24"-7:RX.>5NZ4C,HIM'.]"H#)$SET!))5?
M@FJ4U\V!MGG:BA6<2_D,,%CA'1E8ZT,]>^5"8$L2#I/4"E&,/2=ET"[-K\P%
M4B6\X?8*N%U5?3&2E>0XY.`-17[8.#W1MP&%;3G?`GAQ'GT?YS$6<IZ"*.>R
M\_W-G!/D*8AP'F-)Y]'Y8RSMS.7A>*[S9$[@;)-,'IO'1\QIH,)[@YRM>>5M
M'Z[.%FDLBW$5X>EYTH=QK<Y57_;2Y\S?^.FN@S8'*6EX0',:7W?A^3Q>$8O"
M;?C)+'S['W1Q$](O3^!6B9A4&,F/U_G-'=<XZ(XV#1XLPU@0>K"G-3_#P+.^
M'#7;YI*0I49&LX#=DR&M,EKDPW=Q7$X#Y-'>AWR'R'VX4D$GBG1>J$N\$WU+
M.SBJ%@V0T-H3W4J;HT]T7IZ-7A:/T?!P#W[E9B_4^'ONE!WI.@Z2[J44YOMU
MDQXG'>3+>90>A+J),!.4/J57Z5+Z6X.E7^E6>I-.I7?I7WJ6[O,\Z6+ZENZE
M=\AB>)I>+8X$=9$>`Z'=)%7,FVW"SNER>IW.=EO&>'I'LE]+Z7RZ[.RG[^E_
MNO$MJ.?@@'JA/JCGZ<GY6XBH]^D[".$<J-]%ACJD?J@KZI1ZHLZ33>J6.J..
MJ6OJDGJG+C]&ZHOZHQZJ@^J5>I3.'X_JF[JH7JJKZDQ*G*3YR,UR#BE,G[I(
M&8\!0C'%UOX7B$XV>R*A7`^+@7_,+GFPOO$JP=-YL6Z?=^C;N77>J-74E_D2
M!JCCT86YM,/?B-'6#[6.#<.%2"%@GJUCZX]>6PZ<#.#F\:?#"H/K&!-X7JYC
MX&DQMQZNF^LB&_'=KB/?8\];2'RQU+M<O'Z4:^OPMB)>#1_"!#I>;`@A/$.Y
MK1VP4^;#^A@M.^_I(W*)M]$,YO`(%R*4Z]_ZL\,T.WO(?X'T:7`RY>S70QJ]
M&(0U^,J\@N<B'_4@N)>'X)5?2\4*4WE/5C2-1'7J'C,#/@P'>T=Y8!ZS2SO1
M]R%>L^<ZV;?#OH#/[,8.SVZ=U.ON.A"*B?GL^\GX?>`9[9VYT#[GI$%'^\,-
M02WM2KM+PK0G[4`[)C:U!^!3^PXU'^OL6SNZ'K5SWIRWT-ZHV^P^>[0>MMOK
M)SLGI)\7W^S3]`V6G[`L^RZD@,/;7+M=SK3M<B&[O`XB(^A9.=]N@D?L:AK@
M[K/3X+USU$ZX!^%^NPZN%>OM?_OB3K0?[HU[X5ZU7WOC>16>@UONIEWPO:OO
MX#;G7Y!]+.5_@29DH>BFL/K#5-S<UN@.[50>[HF)#X7"D`,JY7><1(Z^WRD6
M[:YZM]]2>\^>T<#KNSL06C`+[0:-5GRV9^H3^)KTK%_J:/'QWJ>OZLP[\5ZJ
M8R_*NY_>O"_OSGOU/M\F[RUY]*Z]9^_<>[\#O=_@^I'E3NMMRTO7^&Z4HS.^
ME5+.E'^F+Z/_I:),)>^0%%5HAN]8%7'D4L,T2=V*K=O`.7!/#X5+:T_^.Z^<
MWUG-Q3`/W3%KYD$:<VH8WX4<48[4E`;?AO%8@I\:QL/Q*@RL&]YZD>G\-PO#
M.2HOR*\[7YX._&$(`[VPS@D2<L?!T/D3#'[O1\!Y>=QR95Z.UUF"GH#%)>4'
M^KG[.%G1GD1H0%S&Y8F)LOG.FW:M+*\XQ1USDVVXELV*=OY<[>G404H_I,0_
M\?AS%"]83_'<LJ:ZK%?Q5'S!CL5O\5K\QAO*,?%0?!:/E7/Q8_Q0O<2?\6$\
M&7_%=_%E?(B>QK/Q:WP;'\?/\=F3IIJ:I\Q]#LKL00GH!DX[@XH<OY_I2'`$
M!^TB[G6'QZ'LW)#*W$H;.PS/&7(/<WX5UQ7LA]/'O:"(_GT3[-RKRIBAMS_`
M'7&-DI/(%'$-FGG3\<[-\+[6F/(]=$L.UFPDH5Q;I,K?(&FY[`.8+T*S_$I.
MC9?C[_K$?HI#[=F+-JZ]X/+`O#C.RU\OP?PN[X%LX[7\FY2*C[`9N%/3S`OK
MUQXT?ZV@\K4M*N\O+>[X4N5=CVGS_1Q<>/-:Z;I;Q(Z_XE"HCQB]#>[7?!B&
M&KAFXGP;#\X\<^3U.;2"-IMV#WCCWJ_X4UGMNX!]H&/X3`%/4KNRG[!==)L[
MT/#P?DV<0S?*>6X.L*?+#G0=3%4[].H-A]Z`2/3:N3+^(U?T57B@70P3M"CL
M1:ZL2_2+>#S\#W'H\S*5PYL/]`X].*S)`RD>CDHO?/U0+SVQ;CB3R+EY?54'
MO\B1G7NU\750I;$1WD$MS-%3(!?Q&)Q21RW3V$*D'3L?OBV_3)5YI8,S:R8)
M-V]'(W';HL^#(M$_*+GY()/5PR9;/34=&<<F?=\$M2.-[`S26`_&2_%J_.#\
MKE1[63U0/QDK*X.Q(5*3/9#V67S#[^S&[T^3ISI-77G[EN*=*VD5RU#/;OM6
MN<K.$^^LSMB@+*C14^[<_&->EW'S%/U;OSF[XO!Y9)^=*^.5/62OV6?VG#T*
M'@^'Q91]:%^'3_49D>O>[[0Z7&M);UJ)Z%.K0OX5*>1C"4)NH"#D<PB9CD=S
M5V"QY&P%(^3)$&\O57_VDG,BC=OO]L!]4-C;%_>^_7#O^NCV5W!R#YV#],;]
M;P_1,_?'O6K<W"/WV/UT']VK3@Q2&HZ\W>>+3^[]7K]#9$CV\2YL/Z?+N#G5
MF\0[O8XSX)375IYMCI_&S6D=;;\P2_2VN43?`:'VE#I%7Y%7\?Y];(Z=4_1Q
MLD3?F!/XU2$N"-'O[@B^,V\B-_C6_8-?DRV,"+[^".#79/_]<6_@[_<=_?SY
MUG/E";FFC)!S\FUXSAB."\<)E<.VO<;UF[UH/]G+XBT^9N_B@_8R/BPNW-/X
M+[Y&[]M5[NF2=UZ>!"P]4T$G=1Q)X@,<O,@+I.?=R3Y78SYP-:1"W<19/7H"
M)26NB$KWKE/EX]%;>1Y<(OO1=8A#GHN;YV`^#F79C_EA/K9RXU_G.+YDK^:C
M^1C]FN^'E/EI/IOOYB/Q2[U%!F5S?FE+22GDHS.A99*DN2ZF%NJ,BO0HILI8
M!55!84_84ZL<`W9`[W3PKO%Y(K[W\%V@+_J4O@4/#AKKU3FFW[=O^I.^I:^`
MKR.N^EOXZ8OZI'ZQ/L"@I?L]L11V>:QW':M/AY_ZGR-FTIUOI5EW,YQ]GWB5
M?KNT_?@@0D!@/\40.7O2<R":PP0Q@099H>H>UFA2B;`\?P@+R$*4>4W86+(%
MJMU2_^_G4>V_'E$K):ILH2];Y_$;=]XVP4M,=K.N+1W+Z5;NQ20-;3!SP52!
M?T%*IE*U%M=,^!;I`+\+);V_E*UD\(I*5ID:H2X41&N%?&(@;F":2KDIBDI8
MM:H5'MN1ENPT&RNC-&LA!-C7OX$/,'7P.7?GM]DKL1:.\LHDU!$^^DH3F\)E
ML3"4(^2M[FG]RLG*J1DK3U."E_+/8"3I1TO]"OS?RN+MI^5JO-CDRHT!L/U,
M<&F2]3196?$[><*CT<<SZ\`E1Q#;5$H4`TD:64%GX(C&F`QRZI#YI@V(]_16
M@L`+$R9<M`DLW5EV5J2":W]JM"*_GJJF.W.&Q]VV[.M`UK/E1IO'XCM+J:IL
M?V_J]H=K65EIBHOU-C%RI_+C^)SGL,1^/!EL2PDU%;'=KF(*EU3^="MFT:`"
ML<4K1MK5%J^,9OJ,-`GX6TT,$WV6TWQL"-KD3Z+98YWKY3^R%4P#BI%V^!.O
MWY:RQE76]OQKT'>`^30,2#R?YQ=)"<[<8@-83$,=E'*EN!8W:/^'2N61]@KJ
M`QF_48,>4O+9+4\:Q>$&F)YL'LRR4OS3:AA:\G_")2NA#GSN_,_.-'ME":!T
M*V)8[_'-)R4"B^5?@DRE^9G7NMUU6YQ'%#H/B9)Z2/K!9X_2V`=.C6Q6('"P
MR[3>#FB"/XDFV1QH'8HMQZM"J,OV<Q:B_6<CV_ROPAIHORI>5?[.)%9YJ&JP
M_M0"MRK:SA<D+L,`5&&%KBPSHBLMUA0KBM6ZJ0"::(AJMYL,(.WFHA7HXP#V
M*YHGNA13U;&(DF.N89(,+P!37@@PC?U&+Z+]^-R9=41WJ+*`"?(D]9>$^I[`
M9=Y2T`C,AB.'`?C.:F@E9N0RD9P#E;A"?32O6*KX@V1R4R*9G"G'-Q&$24PQ
M+&9="0LFFHGJ.C.D@4+)<FA.!QK[7X<"\]?&DO.HIK0><9"7R5CI[M?Z@P'F
M99HQ5KPM5NR&?O3#VP`Z`#.`PQD.X)^/B47%"OFM`=DG'RX;((?B^!?$$5B8
M;QA5<JR/4UD*B-/VTLLL0PZ`-9N'WE[,)**HP(@T`B<Y1QH\#5VC*#,)W#V8
M_)`X51JYT.ZA(V7*42?A:?A0,8E(S+Y"!>BN:M^8`!\XI\`(C@F0'*&NF=Q<
M+=H5_(=&S(O*%<A`B?FME2!_AXO#"V6&B_,^.5[U`ML2$"\HC-G&`P5[D,0L
MP(P`$2N&$Z,C!$4H&S^0;K8S0JQJ#&(F\?>>FNU-.@9R'R@RH/C@5\0%J_+H
M;5Q2_*;0B:*"1?.`(`=&*4A6H<"&$RGP"2/(^60E:]R!,*I+E)ZF"C,/1`%*
MH%12T(Q93BG+)\3[D,8<+OR!O,"@3%H""16T`M44!-U81BMD5O.K<O")60BN
MER8;,!IFH"_IC;)I>@J%'R93B8>GAWEJEY%R$J[8889RHC-*1^\/MZ7IRD,0
MN:0K!Z9$$K`B#..#:=.<HZ87WXJ^RSKBYU4>D7PT*WHHSJO-PW$&765[\!P-
M;GZ"\Y.\F7K)6G&^:C)9308V8Y99S%-"P)3>>'WH/]1_!R4F!4-+'L6A((A]
M3^`Y\!SO2?/D(2.2R?IU9WXS9JSB`_LJ:8,2RRH=3ZH0PI.M'^V!*Q@ET?J!
M!<M89:SD"%?J3%6S.KT05B08*22\X"?C-%(FL?MM/_!^N9FGPR#O!A'^"CVX
M;[@6_*P&1.-F)I;/B#PM'QQGM1B8B\^OEL.RN5<LSL!S8KS'W*;OUB'+JMW\
M\"R`RYK<0R`K-`CT:XS8FSX4,AI[!;XI\?3>BMR<3\X:"XC\AP3B['%L$Q+]
M.;@D^)-MB=M&0^&V.4^1H906MPH3BQ9J4D6Z.=T\'Y)8WI`K%FB0#>BZ<0/:
M;OIN$$#0U0EG`B@!E-U8![D5&,#632)F"^3C6(,E.!@V1+SMU6A*8)&404]-
MLA`6E*ST(+.B.,,>7`\"J>(54`O"'WR00V&4:<*02>J#Z*F%D]5$/;@?I$),
MHA`5):W<G[T"X(>)LELX<%J#$I&#W^+(T^'**7O<`!(<0S>-6PY(9)60`00N
MKO)>$2KKC:&'&\,PD42M/T@QZ@_G`]0/C?3%^62):JHW*:L*3ID(A7$\>9IX
MLF`5EJJQS"6"H:7-&E@`!@A;A!L<(3@K^["J83M`H'J$6J\!&,&%5P.M(,K,
MD*P>]<$.CE%F4,,$A#LP"4E7B1BO1Y20\]>?D4)U_L85/A_2#BN+-$+"(>N4
M/6P`YHHBA+`C4J:BV$&L>!Y9E)B/R!6P4;7R4&956V`N#AQ"ED#F@D./J([@
M`.L.'9R$(.Q!<Z1_<`CV@\!7TL$Y(!:K#I@..YNY;I:#/3<K7[+FQP$F5&<(
M.^Q+U1_11EWJA00=TUL9D09)I:>^A::0&]%$(FUY"@5;<YJJQ>8D:`&TJ%_`
MD%A)`S!72Q#"X><BL0RE8W`\J(RDD@1#TY6XRDH5:.Y_NYO\GW*F/Y.K<4)!
M8480:B)7">G*[,(JA'@XY7)UIQF_F7%+`3;!L$+DH`A0X*,WS*30BC1@DBWI
M3_@0C`\1TB)B6UBSV'5U"D&%5(O8%ZEP9Z%U.!5BD2HQ-IK*S?;CX<>&`&_%
M4FX5S0Q[U7()!5:[T$&0/-0GGH>C%S*$1!6KP/8]=UPED*R1!<:O52ABP]2X
ME%@7`Z&!4*<)Y#1.2K8QQK0Z0SM!EU-'F:0@`ISAO*`ZY*2'(3\*LI7Q(JM8
ME"1@,Q/O!06L0W$=POY`:E)(,*!:#%2K][#<0K8L6S*%HZ=/H;<0KB3X$K#\
MD?)2FBY:87)K97A-F:M<BC2&'HNQ&YFIC_+*L%M0DOPM/!#FA;'PCK%)8JP@
M[@I2HD&UA=0P)6-*JAJ>4S)A!)C,T@NFE=1/JF#L'=)+NP<J$1L,]F!+BG<$
M\7)<3@G+DF7I8IA*J5QLF2P@P8?EE>$!)"6-"FPY,QH/[IO8B/P/$2(WI#Q$
M,"(8)(MP(>6!BG2K&#[@D_Z%Z@E7QCRD,?$7^`N>/49SZ1C2FP-F^22`&7#)
MN9)>#9AD3O/I%O/FNB9LE#!*H$,.1A;*U;7]$&HUKT1*UK[NQ7X)I33I>)JT
ME3A;`:;>0Y8F-6'XXI3`N_9=P0<:!IMF[M6(6-/<O3:&42[>(-Y!<E$LC&(4
ME:H8?BLLQH(J]B5(P1EZ,:!*`AKYE?SJ#D7=<DV5M\9,=JT+"5=)CJ'ZRFJU
M"ME=^:(:7ED)I61Y>)JTEF2',(C=A5QI?1A7:A\*OO`K=*7XH>V)].3HP&6@
M'?A*XY335]`0;?A-2OTA0BH0OIRUQ<<GUC*[B'(]ELY*JQ)C1.RPE/4OC!UR
M#!DE:L-E$I@BLX0QY/@]($(JWL.UA26CU`8$&50("V<Z;!C>B$/BB/$4TL_@
MKWXH?Z$!5'FKAO5Y.-0$<1X9_(?@17J#6#BE6%O<MR:'`1W*82\,,U'V*76A
M672(!I7@0]`B:+$UW#M@"`L+4)G2@_;A07.!(/J8EGH/,0S#33.EFC%%C!V6
M#YF'+:0"4[40IR+*J"W-EO86`)5PB:+CMC0W[$M@E$0/%#"82!FB%%$\/.G$
M5!P"HJ2(!.Y"CLA,H2("5&P8Y\/$C\E)3LA[R'R95E0K@$1O"!6'_``V1-R4
M#QT011/KT:`"@UB.61KN2=X`"@`LG/\`4#+4<=N,1]9'JJ&%!>2&6[%)3!"Q
MLGY0=9D-%&6$C],MZ?AI8$:)2R=GQ>M!E:B28"5VCS*)*#M$&>_M!\5)'+NP
M.#Z)\PA65BF1XT=*%"7N$GMO3AF2V"K1UF%)#.VHCXJ)>BE-HBT118)+7"9*
M1-PB^ZE3XB^QW=1+/"4.$X=.KL1E1:]CG`,8X//=P"A^9:=4Q33C[-2243M-
MF^Q<>Z<1!J[D7"(E2HV047``M(QD$\@#[W3Q2R=RDU`?G)9,A@:+,H)$`D0E
MF%R&>PO!5^]D?2)5*BCFS`Z*NQ.$8L=FH"A5$M#D3HP3$,7B!`@)6WC40+8P
M;BQ*+K5RH*^CA6'44#W`_DQ.@`@"1/')^412'"F:%/UNF\.4(A"QI+@T@C[!
M(CP?0JT\1MKC1[9_^D*<IXY_QS^:USVD.@$_@:4L`[DQOZ.G'0`P%!58,F1E
MG=9/2"@HS`7#7P5"[`+M#`V$:I]%%)*NHU$E:F$\(UX=#J8[S!8J*Z7S:T$8
M6F!?+0ORTZ]J`+6MR1V9'ZQ8Q2KS%X%F)P/W(+8HAA1#LP><HG[*-YBLX$ML
M5SH:!PZKHNZ%&G/"T-TIA810&XJ7C`XPJ7B]2F6%I"H/T:2'QVSIJ#&F4!L*
M!:M_EX?C"D-Q9];"<D#(%?D0-9B@C(4IEG17[%_D%66*4@?DX4G"[[22F7UA
M2_A=EL1M246$:<(LG%Y-'UA<:P<Y5&R1,N*$T$0,!6^+"<7<8EJ,H-A7/%P<
M5XXKN$/5XJ1%GXAO(8;@%4MI,D7M$/V'!?6-21"B2)91G1$$$G&1;-*7>F^=
M12(H',(/1&#FHL,+>O!X'D)O6`?`$:?)`7%IL3AA1R0W*Y3[S_VG^B!;G'38
M+:R+/;/.XD81M"@L644D:BHG^\2,2NEIOW@[N2V.5W"+"\6&AF[QH1A9%'Y(
M(:`C&JU)1X)1<I&1>D)4+SR&#$,N&0YG4VCI$8_DEGA1*(_CHI7H&7',21!!
M[_(PE<$W8(*Q_#!BA&7T*WB"F4!'C!3N+NB(:?DQ2>@TR1H3(-PE&1A")$$Q
M3XHSR#,UUO*FF(70FI?$"3%1Y`C1E_7A>,+0"BSN*0I$?D'N1\1O-&;KZ?()
M,KA2"L2K#'`*..6:@A7E8^)35<:K"S[F^`&L$DLUKD@@/+TGXVE*EA.<LC*^
M_1PC@;+:5&QJS:AFQ#*NIN8QB)KTS`\'1S..R2L*2+`UVHY\1,Y)"V%-6CYD
M5+!*-0[:6/Q/5/B+*=`0:(PQ+$9BDD?+HL698<8(^I0Q)!%13@>0Y0>G:=-$
M272`#`AC(,-)(EB%&!VN9*Y/OX<G3!61X%&7T'\8G/IX+S"JQ^*J3R&<8OPH
M!6M3"`N9!:H*@(44*WE9*^XGM<:SE>T*-(.ON9^D>WR-I!DPQJYQV&AK1*],
MCZPF`:P`UGA#7/.;`LE@4K`>V;SWVT91?'!0"KZ5)>2"CC/X5'H*/;CL0UB<
MIZ`POXKSE-UOKDBI*C=B+/`\>!M04+IQ@Z5YJ%1Q+3)_[D9+E*!PTIBYB@#V
M;K!5PT(#'MXA_V%GI)BD'?Q\F0=Y3`*B#2-VV3<N9GA#H[_E23ZH_">9:=.T
M`O,8,)N5']40Y>>MBS1:'!F-D$:+5A/"$?AU(6#-'>Q_]C\OH!=P>=*WJ$K-
M(5J&)R=%B7<BX=(Z-''8_6:#!HZ+&WNMVW$%^@)B_N)34\9'A<UQY[AEA/OU
M',N,0,><8WSJS51HXCGZ'(^.0<=F(\Y1Z7C'$CK>')^.1L>D(RNDI3&KHC_8
M_?J-<I]&2@GK_6=^TA5Z';F.W1.PHWY&[+@K[#J*'9LGSA(Y2='%IV&S"#*:
M'U09HHWMX0.B<0CDJ"\M.'`Z[P@.G2M,68-N;(`%J'2,VPIREBCF94-WN)2Q
MK)0X5)(@(*:*KJ6PZ+LYA<05':FY`XH1[4`2L'"T,.`5=`^ZR.=H?E7V*<ZH
MJ>XY8*GDC!80[G)S!-F@+XXXTQVH'BB,I/0GJ3N>THQROIUYH_HJ4&AO#%W1
M'F^/GR398^V1WFA[Y%RI9)I2!AP`E8ID*U/'$@3N&-54@1`Q4-L!)V!G[%!I
M0-AN)9Q22.Q(5I*%2#"6&!.,ET!`1?`/4>',XCXV,FHO04;PX_>Q\A!D'`66
M'U\TY\?9Q</*"A-D;#\V,MR.`4?X(RUPFA%_9&;=K-R.]T?[(^WO2V+.<CN6
M"MV.ZRS^(S0B&:C&(4"B_J)9/T7$#6_([3A;&DT<5VX<Y`^>1/`"`#$^F#:2
M=29?*(B>1F*"<)9WR@.:_):*-"FT$A3F"C."'`6R'V%0V"9XH"Y0D(/`XL;H
M:9:*TPH8)%MFFC&#O,3`(-,3-TAX7Q]P9W&TXH?<(,\X#[`;Y"MK%-/\^C&^
MI2H30L:W%`-2-1'$0GV\@SY<5T?78U10S\8^,H#EI,)269E>B%S)]^"2JL8P
MEB`2B!0D"$2H2'-QN0EJ:J9Q0`W?3*3+X*&&;$.>(=^00`TR9'IH<S*'!#FF
M:[J0`),\Y(5(.&7LJD+N4'XPID8EF\RQ"K9Y9%,)JKI2PJGK$9QQ$2EE9$16
M/A`UOQDOXR'RA@,AJH@!^G2/N,=+I(2*N<-[[$3Z8=1YL4$+9!A+`Q+EHWJ$
MCD1NA\C0(_,&#&DP?$2>'EN1.D7F3>G/"ZF\`3UZD$!'AQ/,U?^*2I*MJ!5B
M21@6Q:DT%5-J<[43),Z`1!Q7D*OD3`<BFN/[\E.QL`@8L<*K!$9)/1>K$)"X
M'@.#%HOJTP4CTS']ZA?"6IP3?Z8`$)EG')F"*D?6.72%%Q$2%GVLO6+)ZR["
M>IHS*L0O#L'JI11Y./>I%Q,/1\-25:;CO<4>,25]-R(0@4@V1&WPO/$T`:^`
M;L`NZBDDAGLJ."@BE.7,D$@Q*!G<Q$TJ(EEO['#L'C&1<L"+9.T1W]A[U$1F
M(BN2T`KYD>;&[F"!+%PY\Z9CC*#`$8+&67(?C)<TS;Z-V9NE8Q"G],@''/EE
M96R2T0><9!AC986J"3^RK'R2*L+4UB!Q/9&F>1&R:8:2W)<AB`)H")@+9$K>
M`AE'3<EFA;<)/%4JQ!,J*Z:2<[=XENG!77&#T1,&(%4C,ZHI82PRZQ$EG*LX
MZDI4>C$VBN%)??2$\<R5/2QD'8TQ80;$#/:*N!#U*>PMP4'*2=EBDR2/Z4L2
MJ]`DXY#3FPJK5\6L^(:D:%@T+!HT%K#*R2)YZ%:0`DU+>QRLGSWFR"/;N`XA
M`ITA)`$K$UQC!8.OB,AL:C*&7R95D]RPMRA[DED<F>H3Z*H:!FJR!K$JF5Q$
M4M(6#2L'4T$"@](J[#X<]<X.@"Z&Q;-P-WGQ>B)))4H?7)0>Q@8K2=&MT2M!
ME%87R,G+0W+R=:-\@&U0%A5,TPI(1'TB]+#!(EKD'B1!%++MAX5,((G6R5N-
M7=!07\5-XD6$[/AU-#MV+/@P\:?)0V1J)1/?ZHQ0;C"(IXBEX5`G-QF4<(P]
M$'F3]TDY1'M"!+7"6+X\#^=,C0MY%W-B0)FW(%`J'O*%SPK-B.*AB-3AXF$`
M9?J3@`?"R;9##48!H0VB=30M@JB;"KQ+:3$L,U"6QI@^9<<7"GLK.0-W[`()
MLIY(LT*!!YR"M>!^D$]&'_);Q1+!#)H(P46C)%+A8%Q'<ZX<98TRSI7`L!Q.
M*@X;IB6J@R7$D'.^2$M\6L8ICAO9D1>Q"L4]:5(ZC<"37T1D#OZ"\\#1,BPF
MB+Y_5;OR!!H,:A/]<:@<!CV(8$H51VHP-5@2A-J(QZH:MHG`"(JCQA7$TTWV
M)O&3-Z[:'ZZERX=>Y.0`+IPEAJ9'DZ)IT.0?A#2-MO*4@,KKAUGB.J2=M%!>
M(.9]YJ/HQQ&.(.7UH?Z5NN)>;Z]2ESL%S/7C@$N.,+1#\S[AQ]Y#+3FDHP)B
M!265$)1():L+5,F`"63<N0PNU*5M2>$A_V&K@-3D+-B46S$W97[R/BFGS'@%
M);ID0@I)2>-"&_.6HO>5$1</#<K@C@1LG>.H1#SDNUY+B:\MY!7E7K@B:K^\
M)<\>)YW`Q:=R5$FMQ!PV'E1=I,IJI:@R<'&@F(#H*2PAW"3`5V\NSB([6ES(
M']A?#1E/X5VJ."E3VL.,)LJ4'XIWI:)D8".O5$W`*QT2\DK-&;V275FO;%?.
M*^.5UP]=$8&C`L&B=)%`:FP9<\/RF>3F&N(IQ%/^*1^6?DH_9;$K4!FQW%,*
M*NE&!<NU16VP3[9/4@WY0;HPM,+(`^1!:$.RM#V4+.<.)TOI`^2A]/)M*W(Y
MQR087#?.`QOQ(+&V\'EQ08*38I'A9!O#B7*%RJL<+I:3STGGI-"R.6F<M,Y(
M)V,010K0Q%G)\#`;@5/:*B]>$R,`PHS+>&CM$N%I,ZXA7"NN518E6VFM/$Y@
M*WE="JZF`\T2M-2^.Z)DDWHOTR^O5THF@D/(VK%-S+(I#(UVENYAT['I.&VE
M9%0;R:\BAI-";!F?!"WM)M)>#*?U4OT'[$3U*P32;;:5B,MIAN+&<#/J6CTL
M+IM56J^6%,["EP/`@%6:*K8<4T"+9:#)$J&Y[%QNMB"6"*\:UN0BE<$TH::M
M.S*65,OG(P8B.&4/04&B(&TPV:<\A#<'I?AIC!7V);80X:_<I?[ABD/*RGGU
M)`F6-$N%1,?JR`AY\U'1E!*'EL3[%UQ)J^B-S"SFD9R7:0<6)$[I:.47P"<-
M#JV7N:YLDOC!B*&`X%[6.)Z$2AMFQ>MA`]0`@HN,+R\R&4ORE>JRZP;:*BUQ
M8UZ7,\D^(`1F=BF[S$N,%G&7^,O%0Z6*=[DL%%$0%LHC`;]+E"7J+=5>*EN`
M#-U5*BQIU=A2Y\&&<+^$F(P`%@?*@M@!]P:K4[TQ.A82!XGAH>H!>D&_BR72
M148Z_+NAE.^L0`-9Y+D9D+I_9[/3C,.N(',EF1("\>@E-#F#X3P&`RBR8O!D
M*AF`44)S%.],AKG(,10"/6Y'/,P?Y@Z3Y];#'&+F,$40&$`AIF4PB'G##,^4
M)9N8*X]$C)>J+#F6U'JX,&68I8]$S$`F'$-`(:H!&S<SDXUR7@K1=^9U`?8T
MX5YR'<S9A1``K#0$:.FH*UY_))Y7G2!MA#G&-!@NJNR8=<QM4%`Q4;C'I&/R
M,<-Z?4P\YA]SD.G'+&1J*@V9>LP\9B`SD4G(;$7"[$!D<@X$H&V"")`:0:9H
MR"XF'#G/3R83G*;>('<(YF1)39IQA6!H=F'J&&6BQP(Q2AJ8#59"29.(25ML
M8UR93I@-!2Q3+J2D2838+FJ93AI9IBU3EAD206+P,CL=DQD&"C"3E\GZ&<9X
M-"@SQ,Q!A3%S4TF,^7#Q,GF93"MCYB.D:/'ABF;R,KT>W;`\8!T"S(C8DM]<
M,^5(TDQ]!Z:&`464R0.F0(PR><`Q!#J3X:3.'&<>,CP8><`;!#PS<!E_H'F=
MH`H58TEC33XS\,`DO&;^B#),GYA^9A[P0\3"7-;(?@::!\W<WZ6&ZV&Y:E)\
M88@;[#>3TW%#ZF";:&/2=R!E)!XZ73\#XS.,R6+R-`X8@LESWBL"$A+&!(HX
M9*0S8$9"V=/N,(28V@ZF-%F:>[^$CL&0[3+&O&/V<V:11L8,D]FJ/A<EY&'Z
M-`F:L+@4G5`SJ$G4W.04-:$D/4TBYD\SJ<G4'&H:-5%P3<VJV>:N=@07^@VP
M,=V)N8HNW,:.I+1184"97Q8FR!)QB]U*Y3;&,$HP=7Y,*Q0)CPME:_D.=.6(
MI$@B>4%JI-]GN;/;J>11-35S;S@2W<ON;Z;Z".OA?9([N1TIUF#*\$C85%B<
MYK27X@K-(UWD"F'Q,THH=,!_XR\01=_P'07N8`7^Z%(WR@BF7.FPV3*W"%\8
M^0@?3!+$C!LK"57``!?I,*,ET)(WQ0KJ4'@')-E`\K**F\H.(<#&>Z+:[`I:
M9?`EJJDI36YSF#:NLF?V-H4?*4*\!PFR9/6]:%LBK%XESS/G2#0B&/29NDUV
M1]X\80ANC2X0VZ2Z&!*9HVJ8/#]'H(WJ-L29801R9BXB$"'ZC"<P'<@0?%:8
M+W16K<%/3Z+CK.$1RE54/(8Z)QN%F<-,$<D<1!2:;.R;G\'6YG-"O\G:O`X"
M:+)`[A).BFHE(^5\2#"B22AA+0_"7X]J0!19_%&EK6Y7QYYNB[$%PDGA)%9$
M."^<PJL,)[&"&FBD<?91LPJ:A8<$H^"AP3B(`$Y>4R(JBH_@19&$LPG9D`(9
M)<J*)PH.!;1DGU/^.-HT3/I/MZG[3/L!5;4]>=4E;QZ-DD:,HZ0Q#G@5TP".
M'UA2E"EA%@/'AV-^*#(*)4`OIRNI3)"HU6/^XV;`+!$E<Z*IA2")_O<AXG(.
M%>M_7LXPY\,$24>@<=1].0DT8LXIU/\OS8G487.B.=><<$XU9X5FH6(RZ[X-
M#_L7\X=4A-@(BI5_,&+%)<Y*C0B`"HX)P_4%),RL!6^82LQ$YTBSB,GHK&VV
M!;LS``L`EHP);U.3.')>.-1'F$YZA:;S+1;*4>+!X:`GFAO*5"'C=F4+VEB$
M8\@'I\Y49^'CU%FYJ%Q0)*8V(`B%IN[A5J;S(7<$-[!?SX>$$"!DUUE#&=(5
MZ7`4S)(O8Y]JV'F(Y%-YJ5Y5@2IDYZ!*(#&-8,HU-H(`H)3GA96I_>`SJE3T
M7NQ<\"'I!%)C9H*\`$*221Z$=@<^X/.JDK*].<;P-C4SYTY8X^(/ZB>VD@'J
M')LDBZL\I+JSW2GO3-J(:.R=>RW3X[H3WFGU<G?..^.=_Q+/#;]361/PM'?N
M._V=!D]Z9[3";Q*W3&P0(M@^O8B'Y^:&'L3^Z4I4'::=XS-QV+5S4,*7`A]=
M_II?<IZ%X#J&\J>9N;:Q.^>=*,^$9\KSY*GR!%:1'%F>,,_D2<LSYLFL:'GJ
MIO(S1<&:)\US>4(SB=DLB"*>X;??"GMG"FEG<[6H5M(Y]8@;#D*F`6%7NCQ4
M(B.+VA:,"+=E7J-ZD7JLU*(>5\]*"D&H4*'TD'J>U*XQ"TZ##)U(\7>F`E;U
MPP1+W!8HY_H'C*6;\8)4(Q(0$HKN$TF@;')Y="#-(^:0R1C"9%HQ`,CW%%;A
M&_6>@$]<(>]&3G?>:3MTA/@AS0O93MG2%X(M.9'`F"(/J<$S#Q%J\DF944:0
M1/(_#KVT77F"B/?9JVO4,YL5Y!-%A5OE)&'X&^GD';`3/,']ED-E]#FDD'`A
MK&X1A\_F1;3R3NC&J7U*.-PX`Y>LD(0IO#DL--`Y_0"`US\Y)Y@SSCG\%'Z^
M.8.?/T`Z4?+3B</\--4T/^\P^:K#!:^R%$,X6W_\!10B08!4!'@KX7D\4AD!
M0M0E5T9]9[,OY_GRE'GN/,F?Z$^<I\M&YVG^;'^R/]^?Y4_XYSKFYDGP3,[@
M$\.?;L;UC?;O$GB=;,O]+'1EO+!J)*-'I+(GN3!<"J):QKZ+Q`^N=2:@^8KU
MSI*:>!^_S]EPSR:$P^8M[B@@KXL!C]&IP;.+PD@D#71N>0S`IFA#!%J_(('^
M+%9GJ2$%Z'8%>U$-Z^00,ER@W)UVDP@4'J)T$H'"7&R@5Z9C#F"S%N.)`]9]
MPHP5X9U/YHW'(K@*>VA$C^H:E2/VTT^N,T+8*'V9/O80<PW1YQ.4,G9L3&]`
M=T@:$<TP8_9,`KG&_!^\"[`2KK^F7_EN<^>$8W)@`)D\71(1)H4F]DBJBH0E
M"I\ST\>0)(-0#NH=J6LD0NR@%KS945('#VKX6`&:%9&@Z[PYZ!(4Q1-'(\1M
M?=AHL1XZVB.,#HKAL'H(]+PJ:0ZG3T(GY38%;5/^,V86G`Y'F"`THA$#!826
M.FI"/#?,I]V'<P0*W5I%01FA,=`2SF###9IOG&C\;EZ86J!*V1QS$-2T\?%M
MYHR(8*5WP=Y!Q/-1!";&$G%]3<%73WHHI/GJL>5(9KPJ$1%('7HDP9,,12IR
M0M-"%)$E*#3T2KE=85EI=]1'MY`\3&-"0F4/`01M"4L;:=#^PQ?O%DJ^JX/D
MST2;&`WT$:;#UD&H4(>:8N:@V-#OXFZ''8<[RYA)0/-`]]!Q$"OTVK.!*Z^!
MX&QG%91*:!N-#$H0M>)]H'*A[D3OQ[_1?1?/&X.*.!)]NJISCQ?3C$EJ?`@M
M005PRU!.*$;T4D<MDVB\.@I(#PUG6Q(L=Z3(,069.7=`%=%`$'''W-/M6:*U
MX$QFE;>0!RM4$#-3T]GA/Q]!@5"`QJUL"3I-ZX-R0GNB!`_N2(QGZY,O"P0E
M=](ZC%!KF:9,HKD4=2<YA+PAO,Y27E04K-$="6LX_6X0'TKI'JIC=B&*``SD
M\_8.V$ABAQJN#,<*P?9\3XPN43^+4\&%<*9R$^]T=_X9M*"!QJ=GH"%=E&C4
M16LC18T+E/1"+YK)X(NV'%\]E[+>&0?4R9,5V\`U\PRC]+Q37$#T.P80/<61
M0'.@GU!77#VT&1<!Q8=:1O6AJ-!]*`KN:18078+Z0?^ADM'0*)+H,>I+0]GI
M^/H5UPRP$DMG$%-$<6#>&,@`00<RP-"A;7`&&`TX!XH.N`:(`)^D6#`1R`BH
M```+9(*,06&!#(`M4``<'=X+I(&,`D2`+-`JD`-,`=8$&8$P`.DA-HH;A0.,
M!5`)=P&V0$D@GU`H,#U<"MPC)8P$@A$@#O!@2`&4E)@#*``I0`K@#(`""`*D
M`,P`*``C0`H`#8`",#$8."X%6TD0@,X`@OE@>`.D`.0`*(`Q0!W`,.`&2`&X
M`5``=`#SJ$-`#(`"2"VD`-(`*(`PP'L4!3`%(!;$!9@"9(#U*`J@"7`6X#&8
M!5H`4``#:81T#I`@F`M,2),`!=(#J8)!0-!(2`&\_N0^,@%$P7[T#4`A/1'0
M`1*D8P`4@!#`:2`'R`/H"E@`%080@!'@0)H%2`&P`2*D4X$40+&/05H%<`/D
M"%(`?P>8@#E)`3`C10$H`<(`AH$Y0`H@1WH22`'02!$*V0(@::1@2+HA;1ZL
M`?RC$%(F`!T@0VI6(O89%JJD5](Q@)<4!;`&J##T1^<"90,@J5B`3-HDS1&X
M`,RC&@,&*5)`23I@8)":&(ZDAP'+`(FT#"`B992J`2*D<8$4`!D`!?`$D`(X
M`9@`*8!!!+'/Z4`E%9+22(,`;(`)Z1&@>3`L`)(>!\BDE=)+*91T!S*J&#!4
M284`J`91*6H`#@`'`)*.F,BD00!5:6Q!:OD_N!142:4`,@(SP(04"5!E@`.D
M`,BC0@4@:5&`3'H$:`(0`:"D%0N8`+=$8_`J10@\2%$`2P`G:4M@3OH:<`,`
M26NC9%(4Z6L@5&I^D98R'?2CGM+TJ+$@04HCI3"P1YD`QH(U@)A42'H@S95B
M2H5*,`%<"1Q"N]`QH)"^!NP`<U)&:1F`4GHC?0/,2U&E<H!&J8CT#(`BF(^B
M`(X`"=,#*4^`5_`:T)"B2(<%*0#6PM@!..`J39<>2E$`#=-VJ89T"K`&4`,(
M%68$;0`@:0V!3-H$^`\D"!($M-(T0`K@45HAW0_,3%$`?5*`Z6IA"M%T@,54
M2<D%-`1)*87422H'^);22U$`20`A0!/`84H%^).R1Y4`3E,4P!6@(O`D*)"B
ME!`%ZL).:;^4""`AI9%R!#*D\-$K@)$425HGI9$Z#4RE1]-4Z;WT/%JZ<"V@
M2_NE%=)%0L!40ZH%.`Q$!=``WU(.Q(%T"5`'&`/42=<`*``3P(0T"$`B]8\>
M2,<`:8#]@);4M0`B"#V]36FD0%,Y*8T4#6`G_0U\2U$`,0&O0*94:CD3D)'6
M1]$`_P$-Z1U@3GH1J).R1T>G--*9@<.T>$`K/9:"3.L*P`(-J1A@3DIA@(\&
M`:0`(=(CJ7N4/2H9R)"R1YT`4P#Y:&T4!=`H<!IH2$\$!5(:J7T@##`<T)`F
M3XFG;8`YZ>P469HPA8^.`*ZGE]/9J<B4/6H[8)3NTQ02S$?]Z(BA(B`E``HX
M3*<`B-/#0(L4/BH?/9(:&J0'4H)K*?HT6Y`B$)A"2C.D$-*/:1E`<HH"0`,8
M%&BC%`8%`'QT"'`8X)8:3P>H_E'R*$K`=>HT()\"3,VF+E)SB<A+?!H$4#54
M&0JHRM,)J1/@#?`G;6`R2-TJ4H`6@/9R+]!T^),6"K8*UU&S0%I@Y:"08`Z,
M#G!5'1)$@7BT#8`"4!K``10,*8`9`**`01H#@))^1X=]^]$CZ=`A!3`'")!V
M2%,`JP<%@*$T!?`AV(Z"3(VE1509P1N@-,!`U9+BJNPL;U/`Z6NAA_IO9)"B
M2$6D]@'_*(#4OQ`_C?M`M%H+;]-'J7M45,$@G2^X3AL))-()*9;A+6`L98]6
M!JZE30`H0!+`3AHZI8]*2.&C)X(GPOZ43'`S'93"1E$`!5+ZJ!N5/`I')1#,
M`?ZD2U(40!&`>3HGI9RR45$`BU0C:AP5/GI'A9!V3^VD<U1"@8:TCRIBF!DD
M",X`EH$,*:X*`>@YE9"R1P$-IE,4P/04!<`:F).B3FFI!53Z*`Q`0]H[G9"Z
M`3X$'=0%*=*T0(HD89!^4MFCD0$B*@I`#7`1B`K03NVD@U)%*E,`*#`5")5"
M2%D%$@:?`/D41:`EY9Z"3K6D9@`1`ZF!*>`PO0@8$3H($]*#0!75ATKL.Y?F
M`1"IS@4[Z42`"T"*&*1J2(^I`=(W0&'`2RIB@`MH4PFI]%&70=^4#K`GL)]&
M4Q&DS`,-:2:UD7H6$)V"3OFGE%/Z:.@4/FHL8!:P`2@,8@$40'%`P=`&2!V`
M366ISU3XZ"=UE:K_$)\63RT->0!TZCBCC8H:$`-,!:*G`U.S@#Z5-=`CG9#V
M4A4`]-%/*GST>3H@=1IH4ZVI2%*&Z4K`=A`]I:@2",@`'=02!H/T"9`4**!.
M,(VI"57XZ$*U0]I010.44B<"[%3912N53R`9,`MD2">E=]2<Z@)5@4H;_:DJ
M5"L""H9`@YU4=1I0E2!(&!BEUU0MJ08A0GI/M:623O<`T-2$J2<5#3`1<!7T
M!`BD"0(4@?D40HIEH!U`4FT`5X<8JOBT??HZ59("!J"JC%+ZZ%7!H>H?98_.
M%[`,6%)P*J3488I-O32H".*G]-&&*7RT>`!1Y:4J5%$#QU(10R-50RI0'0X4
M5.^I"55DJLPA0;I3Y8V:3U>I-`!SR3OUEMHU10%0&`"G@]+AZ43`5\`G0*=Z
M4OVC`U/N0(Z`=L`L2`$`3J>JBU(M*5A52RI6M9-&&!BHB%,S`$85H=H\2)@.
M3T\$KE-S:F5`<3HA#:MR5R>DT-5N*@J@L(I4S:IR3,6G58#B`365PN"*89!*
M2`>FZ54-J3H564I=A:?25ONGO=4'*BWUGEI9I9,:%.RJWE1&*7M4C_HLI8\6
M2!4`--(!J?24@2H'T*P&5X6DU]10*8`T5&HD,`(\2M.K5544P!TUP:HA9:\"
M2<VH/5-J*4@56?H3X"<X3$\$^]0(JY/TL]HP98^B""ZJ]]0P0-F4EJI9E3`P
M3R.K*(#9@>W@M)I`5:U2536KYM4_JA&UKG`X2*0B4O$(E%,:Z2SU(B!0"*^Z
M3LD`>M+[J0]5(1'E$I\:2ZFG1@./@))4J1IDO9N:5N&COH+1*7VT)X!6>)[^
M5T&LCU3S*`"!0;I!32BL"O0#+E7O*1R"0>HKX(TV5`>FEX8=*USUO#HPA0UD
M4Q&G"=)'Z:5A6(!.A8\.2@>FU-040.G!3Q+QX`N\4ZD*=06?0$>`?&HBS9'"
M64>I!5(2*^^45NI9W:8Z64\$$@(LZWI4Q-`]':X^%92E*]8!JQ]U3BI@?0/0
M#H`%E],6P82TU0IDO:4Z#1BE\%%7*@K`,(`?V++:)K@EXE.+P,WTNLIB;1%0
M&'*J4541JQL@M?`G`*T&61^JE=11JF9U(C!??9"*&"8"<0"AP42@O5JZN#H\
M'52L!H&>`)F@VWHDO9Q^4@>F5X7I0!F`GAJ!2*4Z3/.KX5040&N5H(I598_^
M!$*ML58@JZ&U;1`5B)VR1[6GOM5=:VQ5WYH'&!94&<JK!=*]*J,4Q0JAV)>.
M2$^I;@`"*;=4:!I<Q:2B5AFI1U:'J;(5/FHTP"KP5K&J4M6/JR;U25!A!9+B
M5$6LPE)H:^B4/<H\8`.(6:NK8-4V@!O5:SHWE;A.2&&LT5,9ZS^UC"KWB0D`
M43&I%%9JJV2@16IC=;(J64L#`M9<ZK"5DCHY31T$4Y6H*``D@'_T2^I818_:
M#D*G$-+(0,S41&I'5:\>!"P#H%;]*FO@<,!A%;&J5]\"B8%;*VQ5P2IB0!*,
M50>LCE9AZ2KU)I`3>*=^7;6D@-,VZ^X`JZ`@,+7>6V>EX54>`QO`5*IOK0RT
M2"6JM%410Q\509I`!9G:28.NQ-/2ZIJU#/!EI:6*$]RLU]*&Z:3TDRI-S;0*
M2/4#"5/Z:,F5#(`ZO:J6`?ZDN"I9A<65"I!0G906!Y`$*X$;:OP40FI(I:O2
M1[D`7`".0%VAN6I95;FN5KFG8U41@Q3U#)`'$`$P7JNL7%>S:=2U:*HAO;$^
M6S6JG%<&JJH@]%H@'9CB4SNK0U<4P8E5[F,!\95J60&G_P%W*WY!=3`1N)Q&
M!B"JJ0,,@3BA\WHU.`S0`?ZD_0NL*^U5SXH>-0/`!88#4@+UZGW!)Y!M]:-B
M5?&KB%<%ZE'583IB1:C.7#&IK`(*ZY:5#1$M?:=:7X6FQ0'SZ>G4S"I2_::N
M3N6N-E9A:0=6P3IU';N>`0ZO"(&7ZF'5*G(?[;M^3G^M:]5^:Y`U8/I$V`.`
M%6RI3M;7`$3521IN;:BR1QVD\%&Q*[;`1&I57:^N!,@`+X!8@K'`NCHK<*UF
M&42N!=;5Z\D5V$IY[;R^`5H`[%11$OG@G5I6;:@^5?6M?=-L:[!5O1IE]:W2
M7VD(QH-U:FBU>FJ$I1W$64M*6->@08+4N,0@E9N:30&N#E+9*LHUGZIS+;6^
M!C*DCU+,*AR`<CHIW;<65/NK#%,K:QQ`Q*!*O12D+7RF_=,RP)[@/U`C&`-H
M21^E2(%NJ9TTI2I4P)\^68\&*($:060@5`H?S3)("!(#&M(M0`K`.FH$H(_^
M`%:Q0M)':1>@@[IGI9024VNQ.E60::O586HTB`OD6H6E"589[`/VP`H?Y:U*
M6K>G#=*+0!;V+[`6\+LF5+$2Z-')*O)U0LILI:5F5RD,C])W*PJ@K)HD0,&F
M5E>N-E6NZES@@@IZ'<.:5G^OP=<TP/!5`UN%#:\"4)VO"E>PJ^1UVCIH,+S&
M7E-6XM/0*>"4HX`QA8_V!.BM-H#3:Z*5\BHTG0B`5WFN9E/OZC9V/R`'^)/Z
M5LBL:U0R*Z#A(!`]1:9B4]&I95<-*3\V0<H>#;328*^ON5CD*8&@!UL_I<5B
M79\`5E-'K-3!<_HD,`PH22\%#-+W:R4U==!?_;N*3F.E]-&I`$]@U^H?I:C:
M"_:G'5*F0`"5/HH\-:"Z6>.G=E2`:R[VCJH\=1H@3RT#S5,(Z:?!KDHC+9W^
M22&D1P&7K!GU-^!.Q;YV#M2K88`I*XW`3CH;`!;T!F*GU]1(:1"6(E`\&+<J
M5).N]=CZZ7M4\JIS1:TB9&FI&E?E:7]U`%M:?:6>!4ZQ&E(S`&J@J+I>K;Q6
M7ANQOI4.AJO4XUIY;:36!Q@.Z55E[,!4"(M.#:T62(.PAUFG@9.U]?HZ;0,(
M%*8">P!&08W`1!IL#9I6776P_-80Z[]5=LI`#<R^3].N6]D9AOA4%5LH:,6B
M`%ZQM=E'J;)42.J*A<5Z6%$`L]@4P%X`45"!+&&\4WNH)]3]PG(4.[IRR!CX
M5ERHW=%+01.U)"`>?93*`(2SXP/F@)"4/3H$0`($`:P"10#U:#$5<XI_A<FB
M`*``ZE$:Z1,@+#$%F`*\9/6O6($G`!/@"7`$V!>X9W%5&)C]J!;5!7"=[:*B
M`*P`ZEB"JOD4/[)$;0'P!02EQE(`Z?+56V!L+46D48>IA%*OZ\)U(PM*/0PT
M4(&J/P$"P=SUYXHB@,H24B&DAM@#K/(5&$M798^."LJI(EC&[!LUY$J4E0Q,
M2&>I0-:)0%F60.!FC9UN90</XE.$*X4A1RIL%<2B`2"IM=C]JY)TAPI/O;(V
M5$>K%M(,*7W40>I]3:A"2!>I1M;H*N.UEPIMI<(""\P"_=6GK#TUY=J89=%>
M6PFPD]/CJ3X5"[N5[6"(3S&O_E050:_5S,H>I0CT976Q^(5@*GHTC[I'O:3N
M7%$`7].&:D8U2^HA=150%4BDZ-2!*8R673J#-9M*75VTR%BJ@CJV^IJB_;1*
M5!^L,-1QQCM50DI8913``3JHA=(7+%;U"SN,+;""6\6MY-B-ZP]6&>MH_;**
M&.RF)M)KJIT4HBH9L`P`50>NFE:I`(7A2(I_=:+N7UVM[=<Q*]95R0I\[:@"
M:DVD,-2[B?C4T[`&$`&D74>P$])X:W&`WDH#L+<^:8VO1]1\JX\VG5IY#;$:
M%-ZL$X&H*^A5U)I/Y1.<!:RP<0'CJHIV$;MR/=(V2`>S[%3;A8JU/%!)[:I6
M9H>M05DL[9\4<)H$F,,>:$&F;@`<*S*5(J!6'9[:#BH"\5@M*8142PN`K;&Z
M77VII(&IP'`@=OJHW=#"1X6O`MI0J5C5"LL&P,).6D$`N`F+ZQ1U5HL"Z*`2
M:0FG2M)[K;!5)&MAH!743[.L+MI@*XU`GTH^E9,&82^R1%A6JV&V[3H[>"(X
M3*^U=E+[@+N4(,L[!=2B4D6N"]=/ZS36C(J%L[0^69T'$U8%ZLO@!%M\[=(6
M3BNL*U@0`'3!!2ND98].:X>GRUJXA9/T0]L@_;\24N&C=%I8[$R@A#&US9<V
M9W4$I0M_P\-4"O"=10*@5[,,&%0$*<-V'@M;G:A"8,^P#M/]*H_5EQI/3<J.
M`68$Q0%VZFK!XHJH3;@.3'VM2%M((H(4(PLR3=&27OFP:-H9J^&5/EIK19E2
M88$"*`*F[7F5/?J/_:O\6I.GK%8-Z97V+""G99`.44&NT=67+'J4*6"EO9L:
M3W%5!$OQJ64@<1MKO0AH2=,66%=2K7_U3_H70(\6`?``9UCZ:8OT-X`>%;)2
M3@>F"8*.*NKUGKH_K:3R8&D%_=4&;.Y4Q'`[;0*X1VFD0P#W[,"4-LN;O<WZ
M9G6SZ]'N+6XV%@N<1:+F!!BD486MZPRVOHI0!=C";E\$SM@';&5`Z4I(S<BR
M1RNJW=:`:AT`()L^W=8F8Q.FD%9)J]76,'ME=9A29N<"O%LG:KHU*E`^?2)P
M;(&DQ%O[JM"4H["'+<LB3C6T9M2G@W%6WTI_19PR:VFLQ-1[[2WU+5!$>-&V
M9O6P]M/.;>E"('LS9=*R6A>NTEB>K;ZUEGJ_K97R4B.ED-<)Z0@WU6K`U;'.
M39NT@U:F+*O5:<`BG;@>0!&@[U3_:XJ`3-!?I>!286&LA];]`+D5L0H":!6*
M3[^HSUK':T<@29I1E9#F2)6X!=N(Z_]6X4J"S=K66QFX#5/>J[`4>1N&#=/R
M3DNL]X%![*I5W]J$3<V*3DFG/-R#:VM6?\N_I9]N7*^H,@'QJ8.41VNS[>*2
M6L.O@88.ZEJ`0:IUI<K24J>O0%)H+(/4O*HK>*:.6J.X3%R@+:-4@&J$9150
M3DVT==S7*B>UOSI]W=E.!,X`$@*FP.6TE[I*%5J0'IRQ*=RUZ\$`+3O#52L8
M2_.N.5LG;2=7CEN,Q>.6<.FC,%I0:U$6(7NJ=9+&;3FR8UQD[?V60)!ZU;*6
M8F,$>X)&`NZ`FSH@1:>B6#TO[]2LP=)60TI=4,I*$%ZO2M):[!KU?+N0E0.8
M!2:D@EGF:?VV<<M++>2*&#"MU%2A`B_UD`O"5:^Z6+FT*]HX*O*58CM%9=#"
M1SVR$-2,ZM)V#C!^)?:->"RP"EE"[0@7K^IH;>:"3EL"3H/IP#<WT-#`=:ZV
M8<D`6M(<J3*V"!M+2`,`:=&C^U<-[24U1&NN9=V*:?NPK`&APG;5C-NL-;B"
M5$6F^=:1*@8I;2&[G9-*6*6L$M@0K'YUHAM85:NF93.D0%SGJ4T7\SH]/=56
M6%&T;UNGK2,U[4H?==.*8?.IX57"JQO`9KIF5<<.4J4$BERL*ZCT21#))=+*
M=/T'>XYWZ@'W!!M:7>->=/NK5%K*ZTJ`CRJP%3&8!2P#]P$'[@UW0LJ6S18H
M9.<+>=;H:97V,MN^_:\>5-^Z%UHXKB<WSIHZ,I2688T%!5VLQ-'5F7I)G;S>
M7M6Q8=DD*<Y5H^H?K=+V<$VPO%2YJEOW""NP=>:J=66FK]2*`'X!MNJBM;&*
M`9`$DU@B['F5DTJ/?3087I.RQM8.B8I50DH?]=%&;2,0^5E-+?NU#,!X3;*F
M$-"X2EGDZGF5L&JAC>M*6N&C5]L`:5KA+)`X!;B2=-^N)%JFP'9@>5I3]<?R
M=(FNJJ^M@/C4I/LH99U:86&G[=4,DF'7>WJOM0CP<YFO:E=F[=9V]RIB`.,2
M4@>F8=M"08R"L@`<X`N$%(Q+=X`:ZNUT;&IB\+>6=@.N#E-^PD=UY,J(/0N,
M`58"P=Q'Z91UR+I*K0%48,^Z2M)%KF>WH\N:1<8R6T^UUUATZH=5`CLI!:\J
M;>4"5%V-JE4WC.LPO2^P!D:[0=VF;3Z7NEIW#>7N82>OP=O#+`%VE<I@%)\J
M8P&GU]IY+854@G`P(*<.3-V[`=BY;(1T#SO,19`V65VZYM4B`!8`/5L$:,^F
M8GVSO=G<;/GV4=I+G93F3MNCQ87K;0UU"O`GS;=N4"NF'5B`K1\5X)I0R*I&
M/,RO?]7#0$^7'5N&O1A06`6DP=R,;+#U,BMB2"BD>2FZ@E6@JA)6KEIF';*R
M1Z^S*E[4[5)7D2J!!:0:9J6Z5%U&[(B73`![]9,`\L2GM%>;+D%W==K!39P"
M5;V[4=T$Z8]7&4MSI9V::FFI:-A@;D#5Q6NNG;SB;'>J0%D2J5!V;'K;;2UL
M876DQ@3?*;Z6C'MO3;P"=]6K#5A\*L26^-J.):MN;&VJ<]S\:HL6X-HV"*_&
M4D6I)%;X*(/U9CO43=J">JVH15>_@.=T4$J@A=,:3P.]Y=K.KHYV54M-%=?&
M=TL/&C*QPSKQOCM@R.\F`9P`40`&:Y?W!4MD7?'Z8(>\5-AJ[/XT#<"LC9TJ
M>)^I<]7NZ:*V(]O/[<;N74ES[]0#*WDT<)NV99#R5(FZ%%;-*A=@EXL&X`*D
M`*JOWM5OZR"UJYK*O>M":_6Y4-T/[WCU-=!?7?BR5Y.P%P%C@</W3_HHC?1&
M6">].5)GJ@(@(TOH5<`F"/*L6=4=R&)6V?HHK0R$6ZVZUU(F[7F5/KKL98\>
M?).V1EWH[H3T`@MME3F08!>^:5:';U+7W;N79=-^:?NR(@8^+2I!LVHTH+7.
M36.O<(MD:V47P-O4S3"T:\>Q[=7MA_XUH5KM9<KB:0.F%582+)#78!O?K>)"
M*%8.6=_[+E_`W(ONG<\.`>:CK-9&@WZ`X[M6O;?2#H2Z$5:$+_4T[:H\+;#*
M='U+_\9WZHG`6UN-11%,#4*VZ-&?`.PT09"RS?B^3D&\'-\5K&^E4[$O%9+"
M1R$,`E)`+8I`!Q"^Y9-`:(.Z/%\J@`S`*K#31>V*?@&NSM11KO.T;YMPA;#2
M4A.DFU?$:7%`U@M]G<'B<P6]#54J+U9U4AHGR#(<5:^NAMW0:>PUL20^1;46
M$2*Y3M0\+"T5#X`E?:LR7H.Y$-*S*Q5VVWN_?=[2746LQ8&C;+VWY5I.9<-R
M?[FK^UX4`"PU>MM]];T:8>FHD-0Y*[N7BF%,O;LN7VNG`-:X@*?A!!M[]2R*
M3VNVH=)[+[+T9LH38!7\87FR<]S[PGY@^JIVO>!:6P'`0E/LKY%7T`K[!;A:
M!5:_3=,);-$VBTJ>G0%`29VH18#HZ8%T=@H@!18\?L6[TE8-:=@V]JJ8U8]R
M($J^S]A,+:97:8O,!<+B:0.TS=7CZGG7GPM@U:PJ6X&Y)]SVKH0`Q]JP;<IB
M5@_`K-T-[0_V/F`8&.'*`>JDN%SV*)TV:OI%C<VR*KRL:06?0,47@BOAS<7N
M>MFQYEUW[*\7S>JU#?)F?X6[.-LBK-EW10J#W<#Z>5>[7=LEKAEXC(N`5>JN
M8A4`*-3EK`HU8X"QE5]`9QT$TMDODGB4/?I:H`'@7XFT3X`YJ14@/,M$-<\V
M!HH`8M."+Z54/@H?I0(@`8H`&E+T[)PT/CL%*`(T6$4,85OV:17`"3`$H`(D
M`9X`P-.,J<CE>/";]0#C9RVNH51C:;7WP$L16.?V4MW`GUR$JM'WN#O&)<K*
M"!2V-8*HZXM5GQJY1>3B7\FL0MI9<$GAF*MVQ;C.<3NN7UT^AI?UXJLE'<^&
M@7V]Z-T?;!F8F\J`5:]2$5RZ#5-.+CZ5:_!$4-_.#E2[IM0!J>Z5FTKZC4!H
M#'@9;]-)*;WU!@`H90Z\@#>D>E35[22WORJ8_1406'^NE53#K(9VS!M2'=>"
M8QNVL]:Y:BS8-:N0+=Q>7XN]C-37;@K8LBM2M?\"4%F]YM%KPGAW4UNR6#FP
M%K:[F]I[[8'51%OI':P:A!FJFE6^;+:5YMHU%3$(@RO"K-D!L!_UTH!*=>D:
M;PFLYUW\;_;@N=M!G4(D?ZO!'>'MQ':71*H.)J3*@^$6J%@]+G\5]TN0#>"B
M8R'"REV)+844"N`L%?)R%(RT;`!C;</V=(IM=>,B2=NN0ML4<+)7WXHE]9Z6
M+.07B=_WKRAU/`L;V)_2"$BPCUL>@TN62XM9;0-`4FT7&%N?*0?B*&R;J`>S
M@A^E*%D2K%LUTUNX_:_V6>VX.ETI<#Z8=RJ#?=RZ414`@EXYJJ4VSMJ['>^:
M1\FY]H%:<%X603KTC;G>@->QH5*Q@WO,`*CUW0&;:XT&ZE5E*_?4APM!]:8^
M8)&GC80;*@/6S=J3C9#:$@P-QU@$Z3$8I$OV)>>N??NU'M>SP#$W=IH$WJN&
M3D7#D40TZJ4U`COXE02;='V^M%^B+Q^6JE`C@/G21V_"J-^3<+1VLTM'G?0F
M6'>V=EC/J\B5-8QWC9!N!%(`--3","JA,SQF=8]U+\ROW5.8ZAB76\O27>^F
M<=FYDUF8+5G7\GJ7=1KH!VBGX-12:J24<YL'F.IV5.6D$-*)P%@WG9K:U=RV
MA06DA%31L-2V*RN*!>?^!;"N`%K0L%]8.XSQO0:#3+NP9%BA@K&T8:O,!</.
M4H<$_X'XJ0)`C2LT%?:JA<6LQ=BN</^T/>P@&.:\4^^H+]OG*84!TDK/-;5>
M8D4,J.&<;6U8`JS];>=F;I>^D6%_ZZ$7\PMD)37$645S6%?&ZIZ@U>K$C>1V
MA&L7R=9G+)&V/@S<#;V:=0.IP.`G:4#7K2O:C>@2:MV\`^`.+S'8IBNYY=HF
M"30$,6'/Z[P5*:Q>%<SJ4VF]P].I+K_5?"HAKF?8>+$*/E75;L?542L6IJL"
M6ON]YM-L;/+U0_SKI=6R4W<@1MNJ[6<X8HL3%@-G@_._9(#]K\.4'%SL_9(&
MB#>WZ]7B+CLV;/M*K2XP:@.SV^"IKE3X/RPR3<AV$#JH<A\&J9;77BNA->)*
M28M\[]0%KT6`,.M,9?G*4F.]U5>^[N,6L&O<'9[F5ZVVEMJ?*[=UG?L;QJ/F
M@^6[N(FK`Y%$(4&<!0&@;>>^-50I`(*#OXL)EN^Z1Y@(1!(0`+E7;7L$2,]2
M2JL`(=)6KGO$RSHCZ.PJ6=.L<UP/\?V7M5KI_>!>2Q?$/]Y4\9/8B?I%17&P
M5+6X;]6;J4TVN:I9+1[T<9G!2UK)+/95O6O-+;I2&TO#EF(><"_5J`IDC0]#
M7#FK/6(FKN8WXN*"=8_N5)N].-W!KTZ7Y.H\B.A.!:*N`>`X<!B7SWNGS=/.
M<?^[:V`B[H_5H0JFG1%+5`O&/-[E;77U<&LT0.9>%:"]]Y&)GP566!I)I2KP
M3^NDZ6$LK884H"MKE:0";XV_-M4!\7EV;%J]U?)F;_&^\%YT+I;T8)`X;>8:
M;_&OY%S:ZW&X%GLRIL%>2U>S@MH];I!UJ*J)30)?;,4'K-))[<WTNTLLL`X7
M:NFJ(M/DJAB7HVIA)='B4SO%0=8]0-E8<2O/7=+JBWFWY-S%PEMU,TPLR.3&
M7P2E9EU\ZD/W=C`XIJ622XNN-[!FK,HXD\LSKAE'5%^Z9EA3:BZ7!`LX5K-N
M8\/#A>.IZS/UD)K@-0\#3-/#;E94PEM`NCKK!='.5*FQ#=?70!L`UYN#=1KL
MCMG#*-96Q9FVRG`1V-%J6?VMDP*1ZS<W6=NGS9Z.95W#T5OUZJF7KIIO_=1:
M=1G'C=X+4FA1/TN>I0%\@-&C3P"`Z8'TPY`M&)U6>P>E/E<N;8)6^;J`?92&
M;?/%<F!N,(U7'_>@%1O3CEFU-]0#ZL6UI^H#UN6VA,^^Z>$>[W;@TG`F1NJ.
M7G6YG&)S<*,5'[Q'_<'6@@^Q-&/-J^LUG3HGKK<R;%/`J]0*A.;8N3#:'<_B
MCQ4,:`$E:1%"+;*8?2U<AM&C00!BJH07-D")9=P>BU_$$]*%[^OU#.`"4+\"
M68,`3`!,:1$V%JST'9BN9I7"`]8G;1:83$`<OI^^`'2W?0*0<<#5+8L<%CMT
M+TRJ)=(3K(0X3B$C[=ZV?=$9$!<*!-:4+Y`30-N6,/*[0P!ML7OT2$H%Z!9'
M$I&M5&1QL4V`7&PN?@*@BSV^?]]"0?C"3Z)%5B./,_*[,@)5*QUVO1I'AF@1
M;]/((84[\I/U#L!X70C+=]$9Z8PZ\GT7#I'?%;0^<(>^@.*$J76TZ7#/`"3#
M!+[(=-*`:1Y`Z=MA?93>A"7$Y=>W*7WTW'LM+0UD2*VCW!(X1"AYD:RVS2.;
M1W>HY-N%\'CV[UO6)<NR;D&OM5U+K978/>;YZ/S:9MW()H9`;!QYZ4"<M4W`
M(5C)^5W+@/DX4!I+3A8W';"NM&1V+JKW#D`$#I`NBXO(V8.%<&+XZ5N`A0._
MB<6UC^'(L.PWV&H>[0CW\<ROA@'!+ZAWE[QRT#KXDD?)3H!2<K+8.BIM:B=7
M'=3($\Q&LB;YA/P73@$;@8VGX]G7,9*45G`M%?#:2:6_Q]1W[A!92M!!8"?3
M+JBEW5M2,N\UD@R+E>VVDSV;]UU,LB/9N7H/CAF;!0"X`.2!\J#5H+SI5<AN
M5'W'E8%W;2YV_<O4/:]R<I7)<%PZJH9TX4L@8)2.#U3)M@N+*XRV=.SP=2BO
M9"&]'MA':;-X>&JW?1/3<K>]D-9"+H=XJ:LWEB?+E+L#1@#":A]9?`"+L6IB
M3:O%:-MR[X<8?TJ^A0H;??6U#-<40245-6!0,!;@6!W%,2<OZAS6G*P7T!S3
M@LFK7UC5J4561[S3I;?.`#ZWHEH3<2P8K?LIYK5R5O>P*MR[<A(Y@\H>%2@#
M!:"W7N(@:539""LBE2E/DBNM'N%SZ;BXD5P&H#!(>6NUO&&SL"JY!?Q.A:6B
M4QTBD]P<[,)5F0Q6?BLC@5_$N-[^ZDGYT>!1=9@BE7>^'(B)LHC4B`"+C4"8
M:8%+`X;),IVTLOP>)=\:EF<$9P$Q:9\W%_Q)10[GD3RG^=6!*4L9MDL1AL`.
MECG#R&*9\J@VH9LMF..*`;BM:X!7,2PV#UP"(`OL@1$%++H_,*YJ.GLS(-]Z
MCW$"2M7M;`W5.PN>%<^:9TW(WT33;1N9/>N>?28;2N.S\]GZ;)-7A+P6R,^2
M;QD"_&2D*=$X4,I=%<:B=9FPO5,,Z9K`$RO$E=O*`53%H%;Z;?P4D$IUC<2^
M:UFD7.,"<KMUE(K,7<W"1^.\_=0%+!`8ILM`IA%+@SO+<%>:[#\82?M4N.$J
M:=6_--5L@3"8J-S:K;:*5F',>U]:KK(U@(OM7:WFDN&_X5S>\''8)]P@99YF
MF)^IU^$YJ>ITBOS@G2]881>P367++G<V9"JWQ0-H>BFD:5AR+=`U*O`:`.>N
M5+.NS@/!,>HX-.S5M0C_>N''*^/5Z9VAPM#BI2XX837+!Q*+Z_RV'LLLUMT*
M6UW$L>#+J4HX3*L&[A\74#NR#%D-J4%9CXN,E1=?A%F[-]^:JE#Y<-P>]JUX
M!:ZXM]C(KS%!D_MSK3`S#]ZUA@%6K9-T#E"1I>RN4W>JM-^BKC7V=EQZ]>N2
M:.FTC-=/J@[84HS_G3/+`;"PR&$=JL75QEP@S9'^D/W)#F95,8X50AK,93&[
M90^W9E;>ZRX6N9LLSK>ZFFG-U](&;.77K?I2/>::6O&J$N*4DOBT.$!__;QN
M7)/,BMO>ZB.Y<UQ:A9`Z=;W"VMJ#`!OVUJQ.[=EJ6PVXLU4V<S[U>:JM]>,J
M3Z.V(P'SZZW64=H#CA/_"IRN%5JX[F"UP.L`-M@V8$/!!%DD;5K!IFJS?93^
M?$/&H%[&[4T8/KI+I3$[7'>RVV03,JY*'T>U/>Q.>@V]45TF,?N7L\KMG?PV
M=^>X)-V_,A46!L`"B`$P7ET`*&?A\E\5F/I*1H_VBS.U^%2Y,!76&"LR#3&@
M`"ZG`E_LZ\;YC8NKJBZ)3XG%YE-BLR<W'$N%/3@OD=&R(H8%`6JUAIL]3H^]
M37.DA>!-@BH8/<H$,)P&CLO&X^/0,)DU#*R@/30+@>/':E5<E:CD08N2M>C^
MC<W!`5.,*:!US'PSW2O'8+^_IN4+\K8765O;%16W78?*)69HL;!65$(M/MO"
M!+#%8>1M,1FY6_QW'G:,G77+Y>)-,+H8(RQV?A!027&F4601<JT8U#HMX*6:
M<WNJY5@,ZR`Y8@HI-9V2;_&I1F6]JFK51>M#_OJ><Z7,2^4)*4MY*PP'ABG_
MF$6I9E3T\E!X&*QS9=W*>E7#H&),*S,XNDPH^.C^A+>D#=(',LIU].QDC?,2
M3Q>PT]A"Z\'8S8IC?92*74?'WEC@+]`X1IJ/W1LG5&.JR>+J*MT9Z:J`O?7.
MAO'$O5Y&,7K7YJS(18\R5I6Q;&%+\XM5/X#QA0:;F4L#P>6Y*ZZ6MROD]2NW
M<M<6^5C-ZKLX55SBE1%_CJ&X;V$^[^,6ELH>]M<F5%NT3X1W+;ZU4(Q/A2D3
MF^FHPN5O\$>U86K91;%6'1:S58)!ZRV8CNMF1@Q+DT'%AN9&<<<V(XQU_?*2
M=R6T`-OD:H(40OJ`%;;^EJ/)S.90K?)4(JQK1=;F6UW/ZE_)P!H`VKLIW:I2
M86^M1]ENK*(8^*QJWBIS<W70<5;`Z5%`92IY3=%*?VF[?&1MK4;6TIPZ<-AB
M4O4#C03&<6*Y#OR-10GW<`6M/&BR0TD@X%L;#BQ_;AL)PN6E+$J7<6QXS:@^
M6D'%!&@EL<Z51B`1_@U'C^^I*P&.`%!@8ZSG6ZR.317&DE^.[\<91$OJ]3.C
MBL'.W>"0K54$#/I.SCNO'%:I-[!T!A?96GQ)5MM:;T.DAX)B'R,:GXQ)%FJI
M1\G(<.13,G4)$KVK0"9OE;.LX=K=,:SUKSKI;?DFG`^SPF5E,BQ5Z0L;_<W>
MA'&KPX[]*#RYE#Q,OH_F2X<=@>22`!ZYA$O3[2?+DF/%X%^DKE3UEIQ7SC.[
M5W4+NFBD:3Q9*LN*]@O?@XW.,-J$Z7BVXWKG[>EV=M_0@6CF[G^7I#M^Y;+"
M,:/1$F41[^YXX:L"4/H6H\FWV&@)K"1X4/K[S?:F75^NW^89L9(XX[SQI<+V
M!`RR9(+$;FQA#!U1GD9SGU_15U9VM#LZ5DR^C?%>66.US]0]LKS7@PNW`.$>
M:VFIZN=]-+E6O*HG]D<O>K&Z6=6H5M^U>PM,OIG*HG70SE7R[43`G/IKS9""
MEG/0;@`H\`>Z"/U-5NVF5Z.V/HO%K)#6AWP1R#*`:Q^_&=5F,9I580QT!JI.
M:Y&T'6@(<D:VW'H@>?UI3>FC5^38:]N4$VV)_L["8@6(3>D21D:9C=RV#47?
M@=,566E\,B/Y%&V2SLQ>G*6MQ0$\`,[Y#+!HI0/$HLL`=X!9],.W%NU)-K,N
M?UTDHF1I-"_ZE+QR(-X:./#2P>A6,C&:F?R;/49#DU_,]&CG\N[Y15S0I5U8
M6@O2U]*<\^T54*I$A4<KD;/1D%_(,2@UCOLYEDS'G^^QRF$.Q"Z:!2U.P`,H
MI%,`L6BV-"7V-&T>A<F2;[G$$6("\QOZ:MMF'J@65-O!F=KSLS9ZA9R19OC.
M?HVT#-BD<"VW`%WGA;+"FMG*.M0<;52WLSMY'0Z/6W.MZ][7JPUY=5I+C0*_
M<ZG!(=:%,S<Y3.MS'9AZIJ//X%C[;6&VT2JS/>D>IU7);>4S+9OXG\HHW<>F
MF]&LG]IC[EEY!/T;P+H^1^6RD52_\G0U,BW<1=QN2Y6G[]J.ZW=:2?R371F[
M7'.X05C:[5IYLXQ]4$ZGB6>X%%V8[Q`Z1SJ1=K9R7\'*MH-=\$L9RNKLM=V6
M>#FPVVF;<8'Y!WU@-O12=(T(D5T--$<!+L!/Y0R#DF6S0^-5[9I8Z`K"-:%Z
M"I2SW67F['<TDBA>#@0;%@;!W>-#,/A8$<P(;@$X@O<%D>![[1.`$EP?O01G
M@MO(4(`G0"?X$UQB%@63@DW!J&#WK#XNO?R;K0'0B'.[NFD%*7HT']V9SLSB
M?8T`D]P<JFOZ-[OPW:6*=X6D1^'1PWQ42)JF7I;&J;W'%B0T-3QU,BW_8@4?
MA0L+<^K?;`S`'>U$?=RVI9&ZV>'9[7^Z=MO,]4QW4R6O!>,[@ZP78#M%UN[N
M1PV^)]@-J^N4$ON]10$L?'VS#%(U`!'U'JSTK<TR2'<`.50GJFBA4_VI-E6+
M6%G5#U])+IS:4]WV\;;JJ475>>H[M6(YM)R69E6C`$#5KVKZ+_EV!>`P'50_
M?,.I1H`_]2YU3/HH-2$7H^.C?VAM='EWX<I^1N8*>SD0O&K8@*\:6"TS%5;_
M9HG5]%%C=6;Z(&UK=;,"A=UCE1NMKQ*85AV!J+#6@/NJM=[N,T`U!?RP#9@.
M!W2W<X&V-*RX!.U<.$%#50&VW-I20:`@$6VB]9$:!@`%8X#>[I^TJ5M#+J\2
MC<_"[4+9K9GZ5,J"[BW_9B>O2E9%=1EVRMK,34Q_IZVJBV51M90WU=R+_4T/
M?".KFF=1]:FTYHO6U1#4AH6M&NL.=<=:6/I2-E./22O6EV6+KOT8^.QDIK`6
MD%_4YM=;LZCW^!P[7?G2@3>K1>!<L_F4*%M);=[22+/+9->9]`%:VEIY9@RC
M<AG'<=:+K6C..$N2K@*8&*2R<&D"M"OA-[N2CB3'3B7!!&A<+K)V8-OMC=DN
ME;/'^CB=]#-6P@N;#O+6DK/#3(&K]3$W0&P$"`/LJ1NJ(^O2K]]Z51VX'O/Z
M3H6D?NM\-:=Z62K\#>(^$=:E]X$#<!%6.YV+32#;4AO&4EMH[#LU>1LPWB/#
M!JJ_4X%V,&)U%#V&;H\2A5VR0%RLJ@&6"LLUV!,@B>W1$%*2LYW4Y.PPE0$P
M7CW`UV$S*T<WVFJY_I*^:WD":H`?:XI@9RNPM@LH20T+#P(7;'X5.(!UC5DC
MG#W47Z2[B<5UESJY0(_2KL>S'N`OTAQ9?-I#G5Q@7:G7AH62A0L6T(L"R%X;
M%FAUXE,/,'M4=CV>O<XRI;$Q0.7#P'3Z45NUOJKJK<W5;^=VL&'A)J%B=51?
M2WL`&5,GJO?XBP2!<`C<B$O3XVH`MH,7/<J^)M+:KAVF,P#&*PU`N&P#.%Y+
M,*FX`5_5-,:4/JK`)CWP4+NZZ-$(ML-4=@T?%6'K4AFO[FLJ+MG!XIH$$);Z
M7/>YK&8Q+>C6R%L9J!/#I=&^KVLO]%Z5]#RB%CFW>Z7/3-T7+A56]^R_=4:3
M5'%5L%SG:=@:)5U81@^+E/G!"N.$,HPY,I!23M4NE4NZ,M@3+4P8*OTLEI:B
M,_P'P6._<]HVO^L$J)3F2I<`"VNDZ949[+I9+;3R"3B],->L*K?$!8M/#4%G
M@PN\ZMT0JQ,WA^VE_=?R=9_#ZV9NZ9'WQ9SKC:HJE)_+R-Q8</8X`K$]%I)"
MG44"_-FI,R,WS(QUMAP32K&N7&?Q\\[6#NU>[9`\:+&X'E>`\50`96NS;=*F
MH`^V&57+@"+A]EP;CCO/=17##>34,^^YCCI<AL)^>A>TW5@;:R09<]UTV`N`
MA+VG!.;'K4*7=#HA71`783G9O%.I,3ZU*!U31O9:DVO!$V;U;XK9,H#\S;JB
MG:6O:-](;C#;`WLSGOTF2.?'+E@%\!S6/099G>=B<N?`EU4FL&$@83HI-;1B
M5U&QQU5JK#_8,CLAY6:?CA^HIUJI\!LZ+.LR4.>"I(L0F>7YLT"ZB+'=O=9V
MD(G,K.*$:T)6&;TYMEL?;#FW%>26KB=6]-J.U>DVESO%(H9Z0^58G@LAM4.7
M;C^GQV$B[>38>)J393O[=U.ROPU(K/&9;AS9;36OH8?##&9AL>^X;[RN'ASG
MLZ^E.V5SL(Z7J3JDC?R^!=*^#E.`<PR:<>RA7EVC<^'5%%?\B-]UZZNC_=.F
MAJG5UVQ0[]*8[9PP9L/&G,G#W]^.ZZ`6AVI9A<NZ=N6RNFQN+C27AD""-1:@
M$C;&JQ(_M/L4I!R.IOPZ7:7&1VD.M&WZ"4MB-1R#G?NK85NYP231W(I&E?NJ
M;3W1_-VHL:RW[=LS;9SVM?_.7&DH@-O6WWI--K9Z!5JI/^SP-`P9%VS+CACG
MLN7:;V8=[_Z5PM"GYL-*3ZO0S>4W\;54V7I`!K(:LQO:#5,4ZTU`<TRY7KB*
MMG?&H.*%,%%V68R4E69'":C9"M*QK_>42#M9I3`[68L#NM]!JXEW%QO4+<7J
MH-^UYM7#KZQB,0M3KM1*EU7')&8)<-G:B%!$1OK:F36R+>8B;`4Y(.MNABZ7
M8(>P9P"E[QK63IKC;4V[G(FI,&=J-5KUVJO<U=`:H&W%%A#/*0%Z8`H-=FVW
MK4^PSUH[,,%X&(PM<.G:B8NJ0NRS*B*[F7VI540WI4O70MK0ZCH8X.JQIOU.
MMP/%9-T`=X\Y6@N3WD&_6"N_$F!^@O^5%#L1)K2VMX&LB6D7[<M5?3M]36A3
M&):_QJ48M777KHQ7SJ!.;"/&I%L2M&58$MS;5NZ*EO_,75NYKB_8S>I$L)/N
MF4744&&+-(V9TCPP9=:ZJRO%V.`3MR/V?Z!B/1%H<2?3$%+L<(CZ<USLA0PK
M=]>Y.&)0,8$`>8J8QFT#3H6TX]G9@$^@U^I_'OJB74.KVE.7L(W`K(S_#1)/
M8Y?1S]3^[Q?[@#W:]L#Z=S6TLE]HZRG;05J$O<`V72O&[V?\+S[UA5PV&,=J
MH7W;..T@\!-5%+M@QDD;MBBHU6`);X6ZW@N('>.6MAVFI6,Q,\IXCLO)1E`_
MM#>K\%$>*1Q;UVJ9)<&NMW6NJ%COZ]:W/JR!5C?;L97<*P=<23C;S.I\;C'S
M>]^H/F+2KE)V_6IY)L&&D^W1S&4X,!%[XUJ/]C&_B#_:+>PA+309F:NW???B
M;)>Y\.V1`.&VX(PW#BFS75/4X&F4L*DTP.V3E?1>D!?0$.`$,6M@3]#^)6R/
M'GC)TFY\LE:YC,VV=0(L`3BK?N9%+7TT;=WA_NI:%LRO,&7L,Y"YW)J8Q14[
MHG\#)8R24I'/KPU&WN^2D0G6"V.MK4MWR3RZ/B[GI:/2CEC9;-JVBUR)+GA_
MHNNC7NE"`47S$<VJ4`"8HO/(6593,BSV05!9D,V:H@/1.&=6-.-5Y8U>I;#:
M"*ZL>E*)+TN:^NJ=7F+'I)6^*^M:=G+6.JH'O@SP!0`(!]H7JH^:.DN^K6#+
MGEG!W%GV<AG9O6R]+L^B1S7!ZEGZ\GOVOARESB_;9].UC>ATM,C;XD"\Q<!,
MO"G1@F17,N[6&.U,-L]&DQ/3PV[",F-:CMV(+DD+DT714`=SJ1U9&*W<K2OX
MA9O),N4]\MD[1=O6_CC/LF?*<>SOZGW[6II</MB6FJ&IGN&H@'`9QB`8EO6^
MH>T,C>:8@-&6AXR:SL+.!/+2I&0'*\N;<RM!F`.<IB^G#NF!+VNZ/MU/KELW
M3/?(O=>^MXN6$)V4SM46N>?#7EFV:V>WIEQ_GEI3!\[3&8/>[0&[2UQ+GI2V
M?;$/?`$=:DY`5$'Q;K_D=R_1L-C70^Z;1X#8MGCS=Y6^^-G^!>8[GOPH?7`G
M3.NK*NGCMHET/)M,1<8:GZW?%V1\M7.A'$T:CD:[O3?/*.FQ=?4;);V-]AO;
MMQ/05NP%](B5VUWW%D3_=[7)GNK&*BR[MNQT6`N0A@G>(P8SMKM[Y*N(MC<9
M;8,`F-9W]9UXM$IJWL8V9I?6TV$Z-!.7\?KM76)\1[6[`'#`]L&[FWUP!18[
M6G?=%6-'KG]T4MHL5@.,GI\(U6`J+GCTX=W%[I5.B"$NDV@O<E4:$XVQ+?:!
M1SW>%6_][L7;Q/![Y2/SI=TC.8$5^,?[^7NS97E;=U71+6_JZ<N;7*MJ!5O'
MI7702E^F='YT/TKEC90RI?E<+/`]JL5!["P8W$J#D<7(W&)8;"FB)(`%-T4G
MGM6SBV?X:,:[+_#%YG/AP,/>1/#:[C"9L##.*(.OD?.[*&\-*0D;_7WS?OAJ
M$'ZSM]VOH5J[L2ITEN..>EO?[]['[>+7)QU>#=>27;^MTVP2M8&;)E)%MLU"
MO(E]\1<O^-JV*^T#OP.S%M(9Z@RQM&!:U?HX[H1W1U>IH?#`='[71\MX=53G
M6DO3>5-$J@;;+7TMM7ZK3/G@:P#HMY]DW?&@O47[2480+F#;+"DY1[KU[DO_
MP@T+JG`C]#NZ,%WV1H_NO=&KS&C",G>84)#855CEI<_?Q?"X-U:")##W5MM.
M:XO1]V!9,IGU&8XL'CH_H)W9"U]2=U184YS?7O$*3>6QSN4K<\=5\>TP97PS
M8"?0*5K(]Q2Y1?=SMM3VE!NTVX_I-]_62.L=1DO#!C[?-]M9^.A[3?TH-7T3
M4Q^K^&'?-"@7$2Y<MFZ#E#>JLN]K*>U[+.P0CWSK!52L@U+`:=MWCGU!>C03
MORG1^-T-J57Z4+#`[F5K#.2^"H#\;KFX*_WPI?%Z-M'1U&\8\\R;GYS]CDE_
MELVSW>^$*Q#Y^PO^1DRS8<O;&60-F?G;:VV2MGG_37OB==+_I6::6UN3QF^G
MGJ/,L6W.-$\V)RP9EBD781>^<&S"=@<CG7$W>8DWOP/@[>XE``'\?<UTB!0_
M8\G9R=AR\.4Z:OWJAKA*F"G0GVXM0Q'Y)HQZAM)*MA?"'V8D,_6X?TK)9COO
M797BX>=Y\2&U(][13A6W@P':G8J/\'&V@QHV]O2V9NW+[%P8=I(;\*WZ=@.\
M`'RT47#(N!!"?`I@1@&'J3O;4.C..));DTWZ'3V\@\L>\6!V-3UX&6YPKD:_
MI!>^\>C!;Q18':WF#<#^PUWC]N3'=+):-DZ9+GUWOEG3XUG<^&4ZX7LJ+G:'
M7)^T.=V,K_(5T0OF%?$"I*4$OW&\<-G#5SJKG@??O7^SH6^-*G(<&;WP#8\+
M!YRI(E/2]%W<#9`=?P?C2BKA?.'9N$^8?&L.+I!N'%X$HX=Q[UG\R0S<94WG
M2,'B.-@D.,@T0<"UO:,:K4VLPV`>;K#596W"E0E'P$_+_^TC=$S:Q5Q.YB4#
M!S3'K.C3M"X\LJPY#E,3?P6[<MR)^%R;!#L2GL>NQWFQJE.8\%!<S?Q44+4&
MQEFL80`7*^HYKBWP+?`R>P._SE[]L?+7$<M9WOE6N"_&Z6/?]#G<AEN$W4#'
MG-<$IV)N;5R;C:V-S8U+M5G$7&@KMQ<:(=S7S<+"J(_=VV4<M7?Y,C!@(!\4
M2H7>Z0)!L'HYZIQ#1003J=6C1FKTZ",X20T^9E);@C'!"U8HM93:$XPU!C@;
M`4;!I>!3<"IX2ZV=_<W2@U_!3^<@M0>8?ER@-<\N4+O.OUY_L;0UT8S_Y623
MHC_9PE(J[VI\7LP2UJS":`NH)O"$MP7YHZJ=1A&08.O;INXIJ]6W-4P8;PEH
MNLW&06E],<F:"EL7W[NZ8(_-AE=;LXL6"#P`_N<:9NNDMM\+LC/;6+!`MOF*
M6[>K'NT-\68[0FM?M=DRAJFP06[SZ<OU35P0GQA[FJ'#WVQ'K(T8QIQH-G73
ME0V],5;B:9L8),WOUCIX3G?2J&TG:]NWJG$I\):;;8O?6N5S;Q0`^?W,Y;<"
MA^O8+6HT<=/X#;T@CG*7N<73IE26@+U515ZBQ9)WRWW9T>A+>(?DZA`#SX&K
MRR_1H6@@Z3Z65;`6'UWC)KC6OUEP.=RU:FWM!BX_2!'7)5A)*?F6C>TI/Q4'
M=3O:O^"M:T:[@]`.Q@L['4;2PW'O.&W\W^TV/9F?RU'B@&>#=WWT*@`%:`<C
MHU7C+^[-^(;9'2RU16)WQ]U(WW'W\;/X(;L6.//BD['%,W'%-LW<9HX>3>[6
MQ7?F>.'8@GML/QH?#YJSS-<"4O.CN=JVC+TTUP<7:37CFFR,,+][)N""#5-+
MRB?<&%_9=BV;PNQQGI5??B'<$>06=2XX2/PBQZ6*<>/.0%W0\?65L,W8Z`M$
M2V'BSF\R<D&7Z6!Q%8L/&`CG6G.Z;Q1``UX?M9-ZE2W<\-81\6JWO1LRGXOO
MA^?,HFMI<8,@8-X";^7:W@KF*`[%.>.<"I`P[^'B`?ZJEU/4.6MU30#Z=GG#
MHN/5`_(>\CW8%T[L\V3CQ!VF(N_',=Y[+4RD_?MB8H6EDU*U.5]\]-PVY^N2
MH[.J:0N(LC#<(!T9.)U+$*SF`09+*C*ZXQIUO5<?=4VT:P*$N%35=9Z01@&T
MHRO?/UT!N<R!->TVSL9>G]?AX&340%VX&OX_N(8SQ:NZT=.5>3<Z?MI^T4RG
M>.O?XFCG+JDWL=ON<Y\'DQNO"X+1MP?;,HTC1S@#E.^U;^A/*\B<#4NF%M/R
MHSO2<]Q_]%57_.I>%54LQ?_GYO&%>)]\PZL$E_$B6N/EQ'*%-H_U!7!@+2F+
M;GO3'M[+;S]ZIWL=IZ"C6'W.%_2Y<>)5@+Y!)U<3R.GG"'2^]^"[':YE/J)B
MQ57C(O+,]B3\N3,(5\9^R-'F+-[)=BW;OUL\I\;NSRG-9&!$-(2T`KZV`!$0
MT4_BUV*UK;J\YXL@U?N25X.Z&63)N`.\-""$'M=&:=6K*72.-'F57_Y"=L/"
MN\FX.UM`MD%YQ"QB$'1/K:VP:^#';.@@O+H&5CU'PD/([VN_P-3<BMPY]Y,(
MTA';Q6],\A8]"4`$*)TK6A_@`6F_+QF`%CT[MTO3D;GAMW,Y>(94=\X,SWOW
MSBO=O5?AN>Z:>&[_-IX_T;&^N6C(-(0T64Y(/8^*`>[!:73JN/?4/%L]CR4D
MR9?*C>DCS5/Z7(Q!__MRTC^LU&"ON6'5P&W@N(E#:&>MHU4U+_U9U$JW[0\#
MM17<%%;#*[^\[4N!*`D4TYD(6&4NJQ8=W;OLY8"K:+VFMU99[]P95/P;SIPO
M;'SFEO!">CN9QBO&5J37?=>SCO0*-^.5E2XEL)5&?<,`SO,V0!2<(5[+CKW:
M/`3B4N5-.BRYD\X[/TP74H'G,.3<]9"U1=M$1TJ/R!O3=Z]@^&CZ1_ZF)ENS
MOPWET=W(]O%UN-Q)A2'_P?W6Q?#?;&,:1MVU_I_3TU$$[&C7J3OZ0$N^C:4S
MB:?>9U^SJ?6\.8Y+SY+SO'/4>^`2AGM,J0HF)R]79U$`.`#L+)<ZZ?V=77I[
MS>'+YEFH-Z54ZHT9IYG+9^FS5V]`^>T\[(I/_ZM"S[D)7G/JN;W:E@XN]5NW
M#2S2.>^.>DAVA\Z8K0L+3<'B^5I@N<)8U-W,E9P"B9W6=-(.`@&<QJMB-9S_
MG;'I8FQLL;K<[CO:]J+S?7G,WU:4=!+8?&X_Q7^O@0NLPM:Z^*T[(LSH+8"[
M=-ZFG]__0.BWI]L:/]\*20>F1(#L*[+4$2Y%SM0:;!^WP.T4,3=X-5PV+>9>
MC.O:YUG5+^MWM)IEAMQRF7\%%/`NMFM2.,HS?0?#S+?IZ5Y&.CLU$GVF55`#
MGR7`FF:O*A16GCKN?C![6^'0@G5Z]7#7HYZ#WL7NL/_8"M5A.M$6?NO(#E)[
MCPGE4V.):::53/!9)K,>5%7C#O4W,]`8L4J0_LTFNV>M?V^2*ULUX"IUQ9OK
M<)V^W]ZH%E^`O/XRSZ('SNNCTVEM,"*:BZT%EY86S^CK`/`KK\R<"G#W/6DW
MR`>LT.X7L[(5=IOBCH=WB<4'F.R%JV&=-LQ:-1ZXG;G"GN--\:#!3MKF/</Z
M6!6E,],1K=#T<=M,=0Y`P%_()-VF,V(<9`LXK?Q^KE&Z,>_],>JZ2K[_CLYB
MS35DNN71.8I<L\KJ]L3>5SG#T5?EJT07L%K1K=3^?</K=MP/.#O55;+=U:@?
M46?9E'&LZQ7`S.H</IY&6F';;5_&:5]`ZY`XGQKK3G?@=U_CL&95FTQ\GKL"
M7(?6$08"LJ#YEHMKQCVS69FI??0,[N5[<VUAGPSK<,O<\V[.*]S6?VN7#;+R
M>>'8@=0!J4]7FBSA?IUB%"#,SNW>\[542$L"YS\7K&/'>`"VKCF=`M&(OH13
MVA'I*'%,LH`=S!Y/;QL,"U3G5ML^<N>TBFMZZ(8GD^'2/63R+>V<)@(QGZCG
MS@?J@5AGL@<[&?T[%YJ*TA?J^'.WMA.=(HX\S\[R2R?JGO8UZ?/\EVX=GZ"'
M<-&C'G;MJW!`0N`Z):?NC"6^Q8-=P[NVPTYA_;#'N"'1[?,8>D`=%JMNZ6CD
MEN&^:EN8LOJ;N0Z$YI;2>^$6QM-:^Z6[T]LN];"G"N"JTW!C:5/97IYAMT&C
MSTVDP'0[\'ZZB<Q,:?Y2F0T&J=3;+IM.?'I%%KE$((X06/2S^*:=OWOWQ8SS
M$PS1^G42+W]=;.O9/+A_VU/B@><Q<GW4C$Q8.)=:W+OL9_!S<8@T^>Q@Y]KF
M8M/>WFTC=M%5'Z=BY96;2%'`)_=@ND9:A0Y!)Q$7VTF\>U*O^FS5J@Y5IO(^
MM0>M&^6!Z6^95H!_%><V5:_?&N'!N-H\2$SCI6+DBAFH3E4B;0(<N%M$/O]^
M>QV\E%8J1H"=:@QFGTXCFG_E.5]]L0IX:`[LR+J7!`#@ZG(=>S+[HRH6QTNG
MN\[N9_%%^K/TA8[!7C>_3#6QRM/F,XR9N(H`5I(?85FKQO;H;73WD#NW)<A^
MR/6W8@!%]A`]_O).37:OVV79B?&+,+Y\C@M>QVRG9H7+(]M?\%57&`RB!9TF
M!:"I9UB),(4VW\HT5NDFF\/0L@<H,BT7<TN:[9>[U%?H5=T6NAL@J^M%):::
M9P'.PM:H0HN`*7QW;:!^;0W?F.*IP(OYM?RXW6/C@4/%^N;+\24Y(+ZYOAJ$
M9H&R8N*F<;#\RTQ[W05#V(VI6.W,+N5Y+!LD+[<#J,>_B.I^^9,@F@MD]8MO
MU&W`^%2#;/,@ZIK8+5G,=B.EA/5[^#'WW!Z!8&_3HTNIS>#1[.06\J[S+4+3
M:*>X5P=,R.,YV=T@*&='W.?5X_(&=4S`00L`GP(@`9(`1H#^[L&6PBQ(]<0Z
M2`^IJ?'EKJX=B4[@SK4RA5O&MU:(^[V=_TM^3<E,@^W`>^36-I`U+&ME[0^7
M5\._YO;Q[Z0WH_KCIIR.8`&N0NL3+@1V43K@-?Q.K?_OS_=&0O3]^_L;SAX[
M,[[EY_/):D"U7HQNK\F>SU_O-7=%K^R=(0Q^UKU_W@W75?C7`"T[>FY.QR!F
MP;GM4NF/\-=;!I[?=<!#X$GG/G!;Z<T]D@[*Y;R>I;$%&5*]-AU\P."%-T6/
MW\G:H.\Y.#K#$2NV%(7G=V^O=`#9N2W:DAX<!ZAWPHGMLN1/^D'=UIY]KF47
M82OOQ_-[K-#"$"]!)_$2VZ'P-M.7="5^G9N8ML+3POWID_BI.AW7#<\3_\TZ
M7(VE+^GH.>`;6.T#V)*2;V$`K7$GJB@U^CKDQ>CVM-&WGG=:^)Z40<H#T)C_
M9F'Q068&J3KU2_H\/;G:XD>ZN?A_.`NXXQU#?Z[VHCV;):4K<#+\#M\B';?G
M5S'CWO?%+?@=2JYO_6DS76OJL5>2^B^9*?YA[2./#][!)F]P^Q\>EI"2!H\'
MTR7!V?@:`?B]]ZUSUK\34E?$;VN;>@KU,I#.<`CL67OJ8G(C`"'8!1`2*).C
MD+WF$84\*A,`$TP?5?(&`13RF&#Q0:S"'OR;S0$8N'.[F?5J\^.WR*>9+A&;
MQR'2Z7%V[J7[$:^!]WO#D(O#<.!)-[K=$XN)KY@.3#?Q]71)J[J8X"Y;'_%(
M@Q/N8VP*Z0,^`C\W[K/G:47PWG=6*_V=!N`TZ.Q>X-V_B%,TK,ZXL0II=;(Z
MW]\`=F76:BX>2(MU[1=[=:.M&=I/>707X.I\-_.Z8*'R?Y75:2X>\_Y?Q:?.
M3JW<[]-5KR)5YHZOU<K3>B6J,/CO.[K]J.M-/]&JNN>XA&W;!8C@;WX69W>?
ML;.LRM7/*K"6#V]Q_==>F?W*+&C-ZH&U""O_%BT#;*V[4WCM,^1V/:VFO<G:
M#C2_+O#&>X$4!7QG)@S#?)NV9O7MLY/<_IZB#;!*6@/(>-8D:;Y]Q>NAGI3B
M;^6ZB7EOMIWT!DN,YZQ&R^47TF_%KSX56Y`DY9Y^<YW>M?>,\.3YSDV%[;B.
M;$OR_]UKL/)5\NXCQSOGY=&H)'$`N/5V"4`$2`(L36FN(F+>\99UZR4^'16,
M9JWBN=C1/%W^`TTHQMO.W/VC5NZ7.N=;]JZ&IS8KVP.UL]X2L7@>>,RB6R=>
M6K'3*7!G.`B\*^[,WD"'8BNZ.^Y^]AKX4UR#OW#S=='L3/CZ^_`=W^LCORJ8
MTZ4.PO&)^Q;\4@"AQ[23X57BU'GK?.E<\]WY7GD?QX_5E70&[W=4.:Q*/\3#
MVF'(C5U0.D)=>(YGAU2OF`&\0?34K*KU?8LRGZBGHF^W@=)K]'*\.8Q1M[(W
MT3G?1'9N:D%W)F`5P8F_`,[?U>B5^7R^_>UD3]W"=KW-E%3;[_'6\JM&KYBN
MYXWM45L*1,6943HI#0LGIDFO\?;W^I`50JI;]T[OZ*7:8U*0^M^WDYPUMN[F
M:2O=JM-V-C[;\[IK'I&291.O+U_5?(24HS"8EY+ZVC'F-_J+^6]V?BZDUXBG
M814#RU1[ZEV>*LY-79[VT;VI`.NO,.$;/\]'M3X+3,/TQW)!\_'7O&T9;N4B
M<=?A`.5:;%!\1]RUK2N,=A_QC?K[0"'[4QYZY\2[OQ^PHMDJ-*%9*,[!_<;.
M>[6KXEJA@@P:04K3AK1R5>/<NW#\\W[4;UV-9L4^2GO"+F>B<:$48YXA%['B
MO#?F_54MM@P7"LT?#P;/37V^+>J;[A(YOV[;'LV28"'`OU>X1:3=WCZ?KR4;
MBRGUJ/!`+IW[/"]+9Z$;VP77KVID]1"ZPTJL/XX[ZQ^^.6L4\.G6'BT)#G=S
M5P_TK=E\*YL54"`&>`O[V/GT)]B7_$=:?HQ!DB3N5GG=I])Z_3KZ7K]JO5BK
M5T^TT]CU->,U>Z!,-9DV3ZNKW%H6O`)U5(Y@M[L[ZF?8B8';;A%"<VR"-COW
MC#FK?%VV^DV6VMV8%9""E$G='`B)O>>;8M]S/]ART`?D#-P9LV>WV2T]CJ>&
MNK6UNV9%K\NX`OT+/^@B4L_T`&79=*.64A_LEF(KWB.I)(8S@`-U;LJ1IUJ/
M92FW3NS#<HCUT<JLM]?3>T'T@WAJ]X!`N-MB'0B#ND&]J(&&;%;U+^`Y!96&
M2@&GNGJL=7,\9Z^.WME_SRW6SF=)+U,8S5Z=#CBC`);5L&\H[E1@7/IL+:6N
M;*NM+EO(^\`>P1M8$+B'=:6FS(-:,SF=_UR$G0BXRR_.9?N)_=D><%]FI78'
M<Y&W-%S#_>,V-V[4O:6'A<VK+7E;<=/AZ`J3;Y@*<EC!@^M.-2W6_!RM'K/V
MR77VZ7!.,CR:]HNQUYM#T4/,9]-`-?">8I_S]M?WFM_F;EGVZ,+7>HL%L,Y7
M`9H`L%:4<\,:Q?H1)[B?>ZWW30`"^*0T"/"K%YFFZ?OVY'-HO:$^*H#MGBXS
MC[^_<F6O/5-XY-JME]4[HIL.J`N7>'T=)J!5'ITW>G\;0%0AZ7[62^V?=8^B
M@#G72=)0-_47I1N2%AJ3;\'<$/$7>\"8]<RL1>7N8;>HU-C>[QV`#(MVGI'_
MW;&V$6W[L!BWEZHW9I2'W>_:E6:`O8/<H)P$IKCBI2>U!=(6>\;8VIK.QI+J
M>->H]]JI.SO6#(W(MO1BC4NVIE;&JPU8@B_9!16'2*NR+E.#+1`_DJ[:=M#>
MB%/#0V*U\9.`#1!UG4#CFY^YPP&*[_*6<\NRK0S0WN.CZEB,J34X:$NI7\-J
M[9VD"P(R[NY8J!!UW3@GA('LA5HA>Q86[3!MON[F>9>MI-ZKK"15_1SF#J;O
M=>>XOG*K+A0;I/RX7?9^C`OH2^3^:F(Z*M!?=5XSJA_5&&1';/\G2\RZ_FF[
MZU?&Y><9MWGVX.M3[<:NY5.P#U>B\L5>1E#%-^$B8V'&"H:M/:G\8%UE'?AR
MZS'B!X,D^J!4*BVIG7+WNNO9M`,8/&F:ULM:ORY'PL_4?NN)@'X@TIZS9DI[
M/HRV7]1"J_KYF3O,EPB?XD_H;UKS^Q'5%SR'YOM.DS6D0_<0*_I]X3K%#RS@
MSO_N4702[\6VCS?;'6>O;I7*>'3\M:,5!UMU%XP/NJG!#EEDZWAW,]\%/I]G
M\]W%:^P:K1S`12R6O9"N!*JJ0&+3/`05)KS\[0@_W1WD[-K):5?U@JR==N1S
MK"NSUVFE;HP[(,X@#5-_F8GX].?X>SO;ZZO0'\>N3HT'L?HS=]37M][_O6?H
MYF/'=U1)KNL]TKI*3P,(6B>D5_?X2]KBGM&`+P(X`005"U_M/0L@9BU'UI#-
M].V[^W':P<+76,T"T-XK?0&GRM;K.X3:$RM*'?A*<;'Y87O@<DUV!.XCGPHD
M!?8`O=A&;*P[5O%X=NA'=6^FZ?`/`0M`#4``?Y2V['.DAGGYLV!8D9]6GY`F
MRZVIJM49M;8<D7M:=\!J5A/Z^=_3\Q,UFMY8MXYRE[?D:0$))D2K1QTF_U&3
M;PD+PME)/-)[O5Q49P2/9Y'J3^_Y<I.WOHR,=JI;O??+OX'AMSMU8UZC_2@[
M3UG>]-$V`#$_<XTU+6KAY+'%,>O,?JQ[,0O//5@;3U_?-_H>P`,[[#K:C_L`
M$$JJ`'"-=0^`!K"0S@F8R^G<_V0VK"E9N%P,U\>1'LSENN4\N,)^8G^C_X<[
M6#G4\EU?B7`44:`)IPXL?&4`__`;-'3?BUTNE\;S[]6V</B%KVB_MHR;0!0@
M]W/@&NO>OOP"NE!]-J!Z]D.K`?)#`0)4-`=WS\E7Z['CB-0,>>7;%>U3+;**
MQ_/['WKA<AH`UJH&P#DW>^6[10@X!'V_RZZQ5CE+$"ZG!.C,/F2JP<YM#976
M9O_4'F`I;U"=HMJFU@$L,5@`L/@EQIST'TX"[_!_^$/\NU0:J;A:PH]]4+$B
M$*ZEU6@(Z0O`EUJ-'I-B^$GW#6<4P(Q_XLQE?Z?>?<_"']3&]GBV1_O!M[R_
M5H/=.&1,:7I=R_JHK9;S4D7-<-?J:X`<OVKK;:57-4`"<_9..(04@`VV[6+[
M,K#\5A$`>))?<*O[KJ%F2FNQ10>O.9X9G`]`UT!'2JG\Y-K^_D/Z@RXR5>V[
M1PKG76P=*J+@SM]EG\Y7Y\/W:?C/?H<>:ZS?;TWG!.(^YM<,.N84YXT"`&!+
MZ$$">&E$_]$\)GZ>902K]ET+RFONN>@;!8#=/U8W^H/:76R]`*(`TS_IS^]"
M`2S]5_ZQ+4V^OZ[G]YMKI<_B:O?\]W!?CMI'CGBL!53]R?VT0BN<Y9W]'?1O
MSSOH,&^'J5S:T+]N(=Z^4T?BZT2<P*4`[8[NU;'WP(OAB%4XA+*_U%__!I).
M2F_T6590>]^>\6H>%R[7Q^_`V_##.?$6`'[?1ZG7Q"\%,@'-\8^_%EMU-O9Z
MS46IS>5N>IT7:G_4'4HG=$?+'.KG-=16.+]412C`U%W$L7O]LPPV'3[6GZO[
M22@/XM-U?PDZW__('U>;=-7@(M;P0<&_\@WQ3P.L`$S.9/W*M_1>Q#K6#Q_\
MPX>G!'\UP,6_MR\E?>&_JK?\0]_X?@T<7`R8WH]7^?'[*_ZJAD*B("$^%56S
M1P'8-E:5OPUQ4[H6(/>__%'JG'[UOD2>N;W=7_`/_=7=:EOK_J+_X7OS'Z6&
M#PS]_H/N15>_Z,_>IRJ;Q5/B2O].OX84Y[],A?IW-$K7W]Y6_]>_RRYW=YB6
MSE&]2-OH+-94^4657L>;`7#.T/UUBYEV[*];#N\O_4G^6`EH]-%V6[IQJ/IO
M/X#ZQF_LJQE@J,])_O3;42_^7G]UK>R6ZD]94/SKEK/^A7^NOZA:PO^8P/.S
M^M>)E7^R/S==M_[LIQVTPK?[<9]B2L:V[2_XA_NG_:NX<__1?]U?J!_T3P'@
M_8NV4__3O]%_`_SX-PX0_IG^AO]7M6J_=#&1#_C&_8W^9=O:_^"_];_UUY"V
M&WJHN__![:J_HHSY']SBP'/R9?_.OXM\[T\Y5?O_G4O1.7#J@.F?[R_WWR)C
M_U/B=O\9@,,7[Q^[]?W+_JO^L5MR+Z5?Z2^N;OK;4;W^=Q,7+$\_8X#^?Q$(
M_Z_[D7_C/^*?\J_!7?YO'##__7_,?KEU#5:R?IY_"%NG?Z%_1@W96=5]Q@';
M?]5_J']84P&`WWWY779_O'VN?P]?NW_9)*]<3WLX<O]_PV\:@`Q^'&H<;!I9
MHWUZ`1^`P&AG<3%KJFW">F9^'6&U=PQ<0`%(<E]8VECL5>A<8G=8>*!<`V>7
M;IER!5>1:_%3NW\W`8M9HFU)6;UB^6]U`$)\*0!T`)YJ&(!7?I%Q&X#E9IA3
M.7Y1`3T`)F=8!SE4&22_%:5KHFWB;L-\=E(+7T>`@5E)@$N`$UCL#@E_9WZ^
M6QQ]>7VS=.A1+WZ4;3Y?#'\<:]EN(5?R"UB`?3S-7U=VTU_!=?937X`.@"-O
MI7:]#E=_``04@$)]YWY]:9=[B'UP"CYM1UD\539E38#<$D9;HFTO:1-S8UD0
M?_M;3(`Y`;!)ZUI6<`UJ7%F+65%E%GPD6%M4I%]*:*P!^P3&4I-2"72H55)R
M1U2L;R-RZ%RZ6\-L55E#=KUQ=WQ"9'%=U50.4T=\(%-)?-U7=5>D?&A?-FK<
K950`JGI3`7(`>&!Q`0H`:P7+`2\`5P-O!5\%<05B!7$!=P4M`H$!2VH*`&K<
`
end
From owner-mpi-ptop@CS.UTK.EDU Mon Jun 14 17:23:24 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA28673; Mon, 14 Jun 93 17:23:24 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA05687; Mon, 14 Jun 93 17:23:38 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 14 Jun 1993 17:23:37 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA05669; Mon, 14 Jun 93 17:23:34 -0400
Received: from b125.super.org by super (4.1/SMI-4.1)
	id AA21282; Mon, 14 Jun 93 17:23:49 EDT
Received: by b125.super.org (4.1/SMI-4.1)
	id AA00380; Mon, 14 Jun 93 17:23:48 EDT
Date: Mon, 14 Jun 93 17:23:48 EDT
From: lederman@super.org (Steve Huss-Lederman)
Message-Id: <9306142123.AA00380@b125.super.org>
To: mpi-ptop@cs.utk.edu
Subject: comments on latest draft

It never ceases to amaze me that each time I read a chapter something
new pops into my head :-).  The draft looks good.  Below are a few
thoughts I had will reading it:

1) p. 6: The comments at the bottom of the page about what is stored
for each topology seems implementation dependent.  One may chose to
store more or less.  For example, you might not do own_position or
store additional information.  I think it might be better to phrase
this as a likely choice and not a requirement.

2) p. 7: Should one be able to get the dim without the size, period
and pos from MPI_INQCART (or another named function).  I assume it will
be an error if maxdim < dim.  If you don't know any information about
the cartesian structure then you don't know the value of dim when you
call MPI_INQCART.  But the only way to get dim is to call MPI_INQCART.
If it generates an error what happens?  Do you get dim?  Will your
code potentially crash due to an MPI error?

Have not thought too much about this so sorry if it is a silly
thought.  See you all soon in sunny and WARM Dallas.

Steve
From owner-mpi-ptop@CS.UTK.EDU Wed Jun 16 04:56:18 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA14161; Wed, 16 Jun 93 04:56:18 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21958; Wed, 16 Jun 93 04:56:27 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 16 Jun 1993 04:56:25 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21950; Wed, 16 Jun 93 04:56:20 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA15897
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 16 Jun 1993 10:55:16 +0200
Received: by f1neuman.gmd.de id AA16290; Wed, 16 Jun 1993 10:56:01 GMT
Date: Wed, 16 Jun 1993 10:56:01 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9306161056.AA16290@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: revised draft
Cc: gmap10@f1neuman.gmd.de


Dear All,

after sending out my last version of our topology section draft, I got
a few comments from Steve and Tom. I now revised the draft accordingly,
which resulted in the following changes:

1. On page 6/7 it is now made clear that the listed topology info
   is just an example, and that it is up to the implementor to choose
   what is actually stored.

2. On page 7 I introduced another function (MPI_INQDIM) which returns
   the dimension of a cartesian map. Steve had observed that otherwise
   the dimensioning of the output vectors in MPI_INQCART could not
   be done safely in the calling program.

3. I have had a close look at the example on page 11. It's amazing that
   each time I look at it I find another bug. I made everything as
   up-to-date as I could.

If you have any further comments, please let me know until tomorrow.
On Friday morning (my time) I will then send the current draft to Steve
Otto for inclusion in the global document. In Dallas we then will have
a first reading of it.

I will send you the PostScript with another mail.

See you all in Dallas! 

   Rolf
------------------------ LaTex Source below ----------------------------
%     MPI Authors:
% This is MY version of YOUR chapter.  It has a wrapper so that you
% should be able to simply LaTeX this.
%
% Please work from this text so that we are in synch.
%
% --Steve Otto

\documentstyle[twoside,11pt]{report}
\pagestyle{headings}
%\markright{ {\em Draft Document of the MPI Standard,\/ \today} }
\marginparwidth 0pt
\oddsidemargin=.25in
\evensidemargin  .25in
\marginparsep 0pt
\topmargin=-.5in
\textwidth=6.0in
\textheight=9.0in
\parindent=2em

%   ----------------------------------------------------------------------
%   mpi-macs.tex  --- man page macros,
%                discuss, missing, mpifunc macros
%
% ----------------------------------------------------------------------
% a couple of commands from Marc Snir, modified S. Otto

\newlength{\discussSpace}
\setlength{\discussSpace}{.7cm}

\newcommand{\discuss}[1]{\vspace{\discussSpace} {\small {\bf Discussion:} #1} \vspace{\discussSpace}
}

\newcommand{\missing}[1]{\vspace{\discussSpace} {\small {\bf Missing:} #1} \vspace{\discussSpace}
}

\newlength{\codeSpace}
\setlength{\codeSpace}{.3cm}

\newcommand{\mpifunc}[1]{\vspace{\codeSpace} {\bf #1} \vspace{\codeSpace} }

% -----------------------------------------------------------------------
%  A few commands to help in writing MPI man pages
%
\def\twoc#1#2{
\begin{list}
{\hbox to95pt{#1\hfil}}
{\setlength{\leftmargin}{120pt}
 \setlength{\labelwidth}{95pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#2}
\end{list}
}
\outer\long\def\onec#1{
\begin{list}
{}
{\setlength{\leftmargin}{25pt}
 \setlength{\labelwidth}{0pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#1}
\end{list}
}
\def\manhead#1{\noindent{\bf{#1}}}


\hyphenation{RE-DIS-TRIB-UT-ABLE sub-script mul-ti-ple}

\begin{document}

\setcounter{page}{1}
\pagenumbering{roman}

\title{ {\em D R A F T} \\ Document for a Standard Message-Passing Interface}

\author{Scott Berryman, {\em Yale Univ} \\
James Cownie, {\em Meiko Ltd} \\
Jack Dongarra, {\em Univ. of Tennessee and ORNL} \\
Al Geist, {\em ORNL} \\
Bill Gropp, {\em ANL} \\
Rolf Hempel, {\em GMD} \\
Bob Knighten, {\em Intel} \\
Rusty Lusk, {\em ANL} \\
Steve Otto, {\em Oregon Graduate Inst} \\
Tony Skjellum, {\em Missisippi State Univ} \\
Marc Snir, {\em IBM T. J. Watson} \\
David Walker, {\em ORNL} \\
Steve Zenith, {\em Kuck \& Associates}    }

\date{June 16, 1993 \\
This work was supported by ARPA and NSF under contract number \#\#\#,
by the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615.
}

\maketitle
\hfuzz=5pt
%\tableofcontents

%\begin{abstract}
%We don't have an abstract yet.
%\end{abstract}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Process Topologies}
\label{sec:topol}
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process grid. Usually a process does
not have to know the PID numbers of {\em all} processes in the grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

Additionally, the user--defined process structure can be exploited
by the system in the assignment of processes to hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail is outside the scope of
this standardization proposal, since it is too much dependent on the
particular hardware. The description of a ``virtual process topology'',
however, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function MPI\_GRAPH presented in this paper
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph cartesian structures of
arbitrary dimension are supported.
The topology definition function MPI\_CART can be used to describe both
grids and tori by specifying per coordinate direction whether the
process structure is periodic or not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the PID numbers of other processes by calling MPI\_INQPID.
The processes are specified by their logical node numbers (graph) or
rectangular process coordinates (grid/torus). Thus, it is possible to
inquire for the PID numbers of only those (few) processes with which
messages have to be exchanged. The inverse function MPI\_INQLOC
translates a pid number into the corresponding cartesian coordinates.

\discuss{In the PT2PT discussion it is not yet decided how processes
are addressed. This could, for example, be done by unique identifiers,
or by their ranks in a group.
The topology handling will be adapted to whatever decision will be
taken in PT2PT.}
%
\section{Embedding in MPI}
%
The support for virtual topologies has to be fully integrated in the
framework of MPI. In particular, the virtual topology functions do not
interfere with the functions for process group creation and with those
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this paper are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic remapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a logical topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
process group creation function MPI\_CREATE\_GROUP plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and use them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
This chapter assumes the availability of the following MPI features
which are defined in other chapters:
\begin{enumerate}
\item An existing process group (e.g., the ALL group) can be
partitioned and/or renumbered using

\mpifunc{MPI\_CREATE\_GROUP(gid\_old, gid\_new, group\_key, order\_key)}
         with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_new] group id of newly created subgroup of which the
                    calling process is a member,
\item[IN group\_key] integer value used for the partitioning,
\item[IN order\_key] integer value used for determining the ranks in the
                     new group (see below),
\end{description}

This function is called by all processes in group {\em gid\_old} loosely
synchronously. It creates as many different subgroups as there
are different values of {\em group\_key}. The ranking in the newly
created groups is determined by the {\em order\_key} values, with the
process ranks in the parent group for tie breaking.
\item If there is a standardized internal information cacheing facility,
it can be used by MPI routines to store and retrieve
information related to a process group. This facility was proposed
in the Context Subcommittee. High--level topology functions
store structure information for a process group,
which is then later used by topology inquiry functions.

In case the cacheing mechanism does not become part of MPI,
the topology information can internally
be stored with other group information in an implementation--dependent
way, which each vendor can do as is most convenient.
\end{enumerate}

There has been a general decision in MPI to start all numbering with
0 instead of 1. Thus, coordinates in a cartesian structure are
0,1, ..., dim-1. In the same way, nodes in a general graph are
numbered zero up.
%
\subsection{Low--level topology functions}
%
On the lowest level groups are created by the general function
MPI\_CREATE\_GROUP. Using the input argument {\em newrank} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

For cartesian structures the function is

\mpifunc{MPI\_MAP\_CART(gid\_old, ndims, dims, period, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN ndims] number of dimensions of cartesian structure,
\item[IN dims(*)] number of processes in each coordinate direction,
\item[IN period(*)] periodicity specification in each coordinate
                    direction.
\item[OUT newrank] reordered rank of the calling process. \\[4.0ex]
\end{description}

The corresponding function for general graph structures is

\mpifunc{MPI\_MAP\_GRAPH(gid\_old, nodes, index, nglist, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN nodes] number of graph nodes,
\item[IN index(*), nglist(*)] definition of graph structure:
For each graph node its set of neighbors is entered, i.~e., the set of
processes with which the node process is going to communicate most
frequently. Since there is no weighting of node connections, it might be
sensible to specify only those neighbors with which there is a
considerable amount of communication.

For each node $i\;\:(0 \leq i \leq nodes-1)$
the list of the neighbor nodes
is stored at $nglist(j),\;\: index(i) \leq j
\leq index(i+1)-1$. For the
last process $index(i+1)$ points to the first free position
in vector nglist. Note that the matrix is symmetric, i.~e., if node 
{\em i} is a neighbor of node {\em j}, than node {\em j} is also a
neighbor of node {\em i}. This property can be used for an internal
checking of the input arguments.
\item[OUT newrank] reordered rank of the calling process. \\[2.0ex]
\end{description}
The definitions of the arguments {\tt nodes}, {\tt index}, and
{\tt nglist} are illustrated with the following simple example:

Assume there are four processes 0, 1, 2, 3 with the following
adjacency matrix: \\
\begin{tabular}{ll}
process & neighbors \\
0       & 1, 3      \\
1       & 0         \\
2       & 3         \\
3       & 0, 2
\end{tabular}

Then, the input arguments are: \\
\begin{tabular}{ll}
nodes = & 4 \\
index = & 0, 2, 3, 4, 6 \\
nglist = & 1, 3, 0, 3, 0, 2
\end{tabular}

If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to MPI\_NORANK. It is an error if the topology defines more
processes than are contained in the parent group.
%
\subsection{High--level topology functions}
%
In principle, all that is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
group creation routine. However, this is not what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For cartesian and graph structures the functions MPI\_CART and
MPI\_GRAPH create a process group with topological structure.
They combine the call to the mapping function with the call to the
group creation routine. The user can decide whether the ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.

The option of not reordering the process ranks can be useful in the
case of an overlay of different topologies. The user can then fully
control which location in the first topology coincides with which
location in the second one. The price which one obviously has to pay
in this case is that for only one topology the process arrangement
can be optimized.

As specified for the low--level functions it is an error if one attempts
to define a topology with more locations than there are processes in
the parent process group. If it does not use all available processes,
the unused process will return MPI\_NORANK as their rank in the new
group.

MPI\_CART is defined as

\mpifunc{MPI\_CART(gid\_old, gid\_cart, ndims, dims, period,
                             reorder, newrank)}
with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_cart] group id of cartesian group (if calling process is
                     part of it, else id of rest group),
\item[IN ndims, dims(*), period(*)] definition of cartesian structure,
                                   (for details see the definition of
                                    MPI\_MAP\_CART)
\item[IN reorder] ranking may be reordered or not,
\item[OUT newrank] rank of the calling process in the cartesian
group (or MPI\_NORANK).
\end{description}

Apart from some local computations, MPI\_CART is based on the two
function calls

\mpifunc{MPI\_MAP\_CART (gid\_old, ndims, dims, period, newrank)} 

and

\mpifunc{MPI\_CREATE\_GROUP (gid\_old, gid\_cart, 0, newrank)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\mpifunc{MPI\_GRAPH(gid\_old, gid\_graph, nodes, index,
                              nglist, reorder, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_graph] group id of graph group (if calling process is
                      part of it, else id of rest group),
\item[IN nodes, index(*), nglist(*)] definition of graph structure,
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)
\item[IN reorder] ranking may be reordered or not.
\item[OUT newrank] rank of the calling process in the graph topology
group (or MPI\_NORANK).
\end{description}
%
\vspace*{3.0ex}

The following topology information is likely to be stored with the
process group by a high--level topology definition function:
\begin{enumerate}
\item Type of topology (cartesian/graph)
\item For a cartesian topology:
   \begin{itemize}
   \item ndims (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\end{enumerate}
For a graph structure no information has to be stored, because the
graph node number is the rank in the graph group, and the size of the
graph is the number of processes in that group.

The actual set of topology data stored with a process group is
implementation dependent. It can contain more information than given
above, whereas in other cases some items might be redundant.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication.

The function MPI\_INQMAP returns the type of mapping which is
assigned to a group. 

\mpifunc{MPI\_INQMAP(gid, map).}

The output value {\tt map} is one of the following:
\begin{itemize}
\item MPI\_CARTTOP: cartesian topology,
\item MPI\_GRAPHTOP: graph topology,
\item MPI\_NOTOP: no topology.
\end{itemize}

For a process group with cartesian ordering which has been created
by MPI\_CART, functions MPI\_INQDIM and MPI\_INQCART look up topology
information:

\mpifunc{MPI\_INQDIM(gid, dim)} with
\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[OUT dim] dimension of the cartesian structure.
\end{description}

\mpifunc{MPI\_INQCART(gid, maxdim, size, period, pos)} with
\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN maxdim] length of vectors size(*), period(*), and pos(*) in
                 the calling program,
\item[OUT size(*)] number of processes for each coordinate direction,
\item[OUT period(*)] periodicity yes/no for each coordinate direction,
\item[OUT pos(*)] position of calling process in cartesian structure.
\end{description}

The inquiry for cartesian topology information is thus split up into
two calls. The reason is that otherwise the user might not know a save
value for the dimensioning of vectors {\tt size, period} and {\tt pos}
before calling MPI\_INQCART (input argument {\tt maxdim}).

For a process group with cartesian structure, the function
MPI\_INQPID translates the logical process coordinates to process
ids as they are used by the point--to--point routines:

\mpifunc{MPI\_INQPID(gid, location, pid)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN location] coordinate vector of process,
\item[OUT pid] process id.
\end{description}

In a sense, the inverse operation to MPI\_INQPID is provided by the
function:

\mpifunc{MPI\_INQLOC(gid, rank, location, maxdim)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN rank] rank of a process within group {\tt gid},
\item[OUT location(*)] coordinate vector of process,
\item[IN maxdim] length of vector {\tt location} in the calling
                 program (only for error checking).
\end{description}
MPI\_INQLOC translates a rank in the group into a topology location.

\discuss{Depending on the decisions taken in the PT2PT subcommittee,
MPI\_INQPID might be changed to return the rank in the group rather
than a pid.}

\subsection{Partitioning of cartesian structures}

If a group has been created with MPI\_CART,
the function MPI\_PARTC
can be used to partition the group into subgroups which form
hyperplanes of the original process structure. As an example,
assume that MPI\_CART has defined a two--dimensional grid structure
on a process group. With a call to MPI\_PARTC this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\mpifunc{MPI\_PARTC(gid, lostdim, gid\_new)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN lostdim] direction perpendicular to resulting hyperplanes.
\item[OUT gid\_new] group identifier of the hyperplane group in
which the calling process is contained.
\end{description}

MPI\_PARTC uses the function MPI\_CREATE\_GROUP to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by MPI\_PARTC, the
inquiry functions MPI\_INQCART and MPI\_INQPID consistently
refer to the grid sections if applied to a subgroup.

If the process topology is a cartesian structure, a collective shift
operation most likely is used along a coordinate direction. In MPI
a shift operation is handled by the more general send--receive
functions. Those take as input the identifier of a source process
for the receive, and the identifier of a destination process for the
send.

If the function MPI\_SHIFT is called for a cartesian process group,
it provides the calling process with the above identifiers, which then
can be passed to the send--receive function. The user specifies the
coordinate direction for the shift and the step length:

\mpifunc{MPI\_SHIFT(gid, direction, steps, pid\_source, pid\_dest)} with

\begin{description}
\item[IN gid] group id of group with cartesian structure,
\item[IN direction] coordinate direction of shift,
\item[IN steps] step length ($> 0$: upwards shift, $< 0$: downwards
shift),
\item[OUT pid\_source] process identifier of source process,
\item[OUT pid\_dest] process identifier of destination process.
\end{description}

Depending of the periodicity of the cartesian group in the specified
coordinate direction, MPI\_SHIFT provides the identifiers for a
circular or an end--off shift. In the case of an end--off shift,
at the boundary process one of the identifiers is set to MPI\_NORANK,
indicating that there is no process in that direction to communicate
with.

In a portable program the number of available processors usually is not
known at compile time. In the case of a cartesian topology the function
MPI\_MAKDIM helps in setting the numbers of processes per coodinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\mpifunc{MPI\_MAKDIM(gid, ndims, dims)} with

\begin{description}
\item[IN gid] group id of group which is to be structured,
\item[IN ndims] number of cartesian dimensions,
\item[IN/OUT dims] number of processes in each coordinate direction.
\end{description}

The processes of the group with ID number {\tt gid} are divided
as evenly as possible among {\tt ndims} dimensions, subject to the
constraint that all processes in the group are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt dims(i)} is positive and does not
evenly divide the number of processes in the group. Negative input
values of {\tt dims(i)} will also cause an error. All elements of
{\tt dims(*)} must be set to 0 for completely automatic process
distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine MPI\_CART.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the PID numbers of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
MPI\_SENDC(...,neigh\_pid(1),...) to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndims, num\_neigh                                           \\
\>logical reorder                                                     \\
\>parameter (ndims=2, num\_neigh=4, reorder=.true.)                   \\
\>integer gid, gid\_cart, dims(ndims), neigh\_def(2),
          neigh\_pid(num\_neigh)                                      \\
\>integer own\_position(ndims), period(ndims), i, j, rank             \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                          \\
\>data dims / ndims $\ast$ 0 /                                        \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position  \\
\>gid = MPI\_ALL                                                      \\
C  \hspace{5mm} Set process grid size and periodicity                 \\
\>MPI\_MAKDIM(gid, ndims, dims)                                       \\
\>period(1) = MPI\_PER                                                \\
\>period(2) = MPI\_PER                                                \\
\>MPI\_CART (gid, gid\_cart, ndims, dims, period, reorder, rank)      \\
\>MPI\_INQCART (gid\_cart, ndims, dims, period, own\_position)        \\
C  \hspace{5mm} Look up the PID numbers for the neighbors.
                               Own process coordinates are (i,j).     \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)    \\
\>i = own\_position(1)                                                \\
\>j = own\_position(2)                                                \\
\>neigh\_def(1) = i--1                                                \\
\>neigh\_def(2) = j                                                   \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(1))                        \\
\>neigh\_def(1) = i+1                                                 \\
\>neigh\_def(2) = j                                                   \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(2))                        \\
\>neigh\_def(1) = i                                                   \\
\>neigh\_def(2) = j--1                                                \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(3))                        \\
\>neigh\_def(1) = i                                                   \\
\>neigh\_def(2) = j+1                                                 \\
\>MPI\_INQPID (gid, neigh\_def, neigh\_pid(4))                        \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration     \\
\>call init (u, f)                                                    \\
\>do 10 it=1,100                                                      \\
\>\>call relax (u, f)                                                 \\
C  \hspace{5mm} Exchange data with neighbor processes                 \\
\>\>call exchange (u, neigh\_pid, num\_neigh)                         \\
10 \>continue                                                         \\
\>call output (u)                                                     \\
\>end                                                                 \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
\end{document}
From owner-mpi-ptop@CS.UTK.EDU Wed Jun 16 05:01:10 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA14181; Wed, 16 Jun 93 05:01:10 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA22228; Wed, 16 Jun 93 05:01:25 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 16 Jun 1993 05:01:24 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA22220; Wed, 16 Jun 93 05:01:15 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA16200
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Wed, 16 Jun 1993 10:59:47 +0200
Received: by f1neuman.gmd.de id AA16836; Wed, 16 Jun 1993 11:00:30 GMT
Date: Wed, 16 Jun 1993 11:00:30 GMT
From: Rolf.Hempel@gmd.de
Message-Id: <9306161100.AA16836@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: PostScript of new draft
Cc: gmap10@f1neuman.gmd.de


Dear All,

This is the uuencoded, compressed PostScript file of the new draft.

Best Regards,
 Rolf
----------------------------- PostScript below -------------------------
begin 664 PTOP.ps.Z
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
M@"@-!%B^@$V`\("$9?9^88#@:IV`JVIG@!%<R("A6)>`$5S!@#!_G(#1@,-4
MDH"@@.<,DU.C@`B!47AG>-V`J8#[6N"`=SA_$_!V>(#&`7J`LX!]@`N!ZX"`
M=2@`-`#N@.Y_,0%8")=>37^I6!Y2`UQ``7-R3UC09U-_ZGUV>)15/6-=!_]1
MDFXH<,ENUW7G4V>`-P%_6:QM/5FC8H)O=0!0?2D`=`"P:LQ_.0%A!Q*!4EE`
M6`%]EU\]`!UG5P<R5,Y=H!.R5:QM[6$I9KQJ/FZY4\Y3ME)"@=%OUE?T7!*`
MJ5BV6[-VU%/;60@$EWJR@*]V&&N,>M!QX5_V#K]6K&T0?F*!;%+R7C^!9X%S
M@*=PV&0A78N`]WZJ:,)^5%]!9&V!MX!R@%R!MVA.78U3T&OK%CUM0V9,7_9D
MK7Z_=+)?BU:5:34"CF=K</);1('?9.H(#%13?H,(@F48=^91+`%-<E-4BE]V
M4T0'IEP45ZE<[U8&4AI>/FGM9_A<-7?_=#=W2%K+5.%<`U,74E9]>U/27U`"
M;`#$5X%^-VI4`(][4P'68S\':@7+`2\`6`-N!5X%<`5A!7$!=@4N`H$!2VH*
!``#$
`
end
From owner-mpi-ptop@CS.UTK.EDU Mon Jul 26 06:47:11 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA08100; Mon, 26 Jul 93 06:47:11 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21498; Mon, 26 Jul 93 06:47:41 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 26 Jul 1993 06:47:39 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21490; Mon, 26 Jul 93 06:47:31 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA24027
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 26 Jul 1993 12:45:54 +0200
Received: by f1neuman.gmd.de id AA15208; Mon, 26 Jul 1993 12:46:53 GMT
Date: Mon, 26 Jul 1993 12:46:53 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9307261246.AA15208@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: new draft of PTOP chapter
Cc: gmap10@f1neuman.gmd.de


Dear All,

based on the first reading of the Process Topology chapter at our last
MPI meeting I now have updated the text. Apart from some very minor
things, the changes are:

1. Throughout the whole text the word "PID" has been replaced by "rank",
   "logical topology" now reads "virtual topology".

2. In section "Virtual Topologies" the last-but-one paragraph has been
   rewritten to make clear that not only grids and tori are supported.

3. It now says that the low-level topology functions don't change the
   state of the calling process.

4. High-level topology definition functions always return the identifier
   of the topology group. There is no creation of a remainder group any
   more. Also, they don't return the "newrank" value, since there is
   another MPI function for rank look-up.

5. Functions MPI_GRAPHDIMS and MPI_INQGRAPH have been added for
   information look-up in the case of a graph topology.

6. Function MPI_SHIFT has been renamed MPI_SHIFT_ID.

7. In function MPI_MAKDIM the argument "gid" has been replaced by
   the number of processes "nprocs". It it thus a completely local
   convenience function now.

8. The condition which the input arguments of MPI_MAKDIM have to
   fulfill has been rephrased as discussed at the last meeting.

9. In the example the MPI calls have been rewritten in correct
   Fortran style.

There was a discussion whether the topology definition functions
internally require communication or not. If so, then it might be
necessary to pass them a communicator instead of the group id. In
my opinion we cannot exclude that communication has to take place
(think about a parallel mapping algorithm), so this is a valid point.
What do others think?

At our last meeting two volunteers have announced to write additions
to the text which I didn't receive yet. The first is a generalized
version of MPI_PARTC which creates blocks of processes rather than
just hyperplanes. The second is an appendix in which is shown how to
use MPI functions for the construction of more high-level topology
objects. This is the last chance to get it included in the new version
of our chapter, so don't wait too long.

Please read the new text, and tell me your corrections as soon as
possible. I will away from my office beginning with Friday, July 30th,
and I will not come to the August meeting. Steve Huss-Lederman
accepted to replace me there. Remember that we will have the 2nd
reading of our chapter.

With this note I send you the LaTex source of the new text. In a
separate message you will get the uuencoded, compressed PostScript
file.

- Rolf Hempel
------------------------------------------------------------------------
%     MPI Authors:
% This is MY version of YOUR chapter.  It has a wrapper so that you
% should be able to simply LaTeX this.
%
% Please work from this text so that we are in synch.
%
% --Steve Otto

\documentstyle[twoside,11pt]{report}
\pagestyle{headings}
%\markright{ {\em Draft Document of the MPI Standard,\/ \today} }
\marginparwidth 0pt
\oddsidemargin=.25in
\evensidemargin  .25in
\marginparsep 0pt
\topmargin=-.5in
\textwidth=6.0in
\textheight=9.0in
\parindent=2em

%   ----------------------------------------------------------------------
%   mpi-macs.tex  --- man page macros,
%                discuss, missing, mpifunc macros
%
% ----------------------------------------------------------------------
% a couple of commands from Marc Snir, modified S. Otto

\newlength{\discussSpace}
\setlength{\discussSpace}{.7cm}

\newcommand{\discuss}[1]{\vspace{\discussSpace} {\small {\bf Discussion:} #1} \vspace{\discussSpace}
}

\newcommand{\missing}[1]{\vspace{\discussSpace} {\small {\bf Missing:} #1} \vspace{\discussSpace}
}

\newlength{\codeSpace}
\setlength{\codeSpace}{.3cm}

\newcommand{\mpifunc}[1]{\vspace{\codeSpace} {\bf #1} \vspace{\codeSpace} }

% -----------------------------------------------------------------------
%  A few commands to help in writing MPI man pages
%
\def\twoc#1#2{
\begin{list}
{\hbox to95pt{#1\hfil}}
{\setlength{\leftmargin}{120pt}
 \setlength{\labelwidth}{95pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#2}
\end{list}
}
\outer\long\def\onec#1{
\begin{list}
{}
{\setlength{\leftmargin}{25pt}
 \setlength{\labelwidth}{0pt}
 \setlength{\labelsep}{0pt}
 \setlength{\partopsep}{0pt}
 \setlength{\parskip}{0pt}
 \setlength{\topsep}{0pt}
}
\item
{#1}
\end{list}
}
\def\manhead#1{\noindent{\bf{#1}}}


\hyphenation{RE-DIS-TRIB-UT-ABLE sub-script mul-ti-ple}

\begin{document}

\setcounter{page}{1}
\pagenumbering{roman}

\title{ {\em D R A F T} \\ Document for a Standard Message-Passing Interface}

\author{Scott Berryman, {\em Yale Univ} \\
James Cownie, {\em Meiko Ltd} \\
Jack Dongarra, {\em Univ. of Tennessee and ORNL} \\
Al Geist, {\em ORNL} \\
Bill Gropp, {\em ANL} \\
Rolf Hempel, {\em GMD} \\
Bob Knighten, {\em Intel} \\
Rusty Lusk, {\em ANL} \\
Steve Otto, {\em Oregon Graduate Inst} \\
Tony Skjellum, {\em Missisippi State Univ} \\
Marc Snir, {\em IBM T. J. Watson} \\
David Walker, {\em ORNL} \\
Steve Zenith, {\em Kuck \& Associates}    }

\date{July 26, 1993 \\
This work was supported by ARPA and NSF under contract number \#\#\#,
by the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615.
}

\maketitle
\hfuzz=5pt
%\tableofcontents

%\begin{abstract}
%We don't have an abstract yet.
%\end{abstract}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Process Topologies}
\label{sec:topol}
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process grid. Usually a process does
not have to know the identifiers of {\em all} processes in the grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

Additionally, the user--defined process structure can be exploited
by the system in the assignment of processes to hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail is outside the scope of
this standardization proposal, since it is too much dependent on the
particular hardware. The description of a ``virtual process topology'',
however, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function MPI\_GRAPH presented in this paper
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph Cartesian topologies
are supported.
The topology definition function MPI\_CART can be used to describe
Cartesian structures of arbitrary dimension. For each coordinate
direction it is specified whether the process structure is periodic or
not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the ranks of other processes by calling MPI\_INQRANK.
The processes are specified by their rectangular process coordinates.
Thus, it is possible to
inquire for the ranks of only those (few) processes with which
messages have to be exchanged. The inverse function MPI\_INQLOC
translates a rank into the corresponding Cartesian coordinates.
%
\section{Embedding in MPI}
%
The support for virtual topologies has to be fully integrated in the
framework of MPI. In particular, the virtual topology functions do not
interfere with the functions for process group creation and with those
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this paper are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic re--mapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a virtual topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
process group creation function MPI\_CREATE\_GROUP plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and use them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
This chapter assumes the availability of the following MPI features
which are defined in other chapters:
\begin{enumerate}
\item An existing process group (e.g., the ALL group) can be
partitioned and/or renumbered using

\mpifunc{MPI\_CREATE\_GROUP(gid\_old, gid\_new, group\_key, order\_key)}
         with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_new] group id of newly created subgroup of which the
                    calling process is a member,
\item[IN group\_key] integer value used for the partitioning,
\item[IN order\_key] integer value used for determining the ranks in the
                     new group (see below),
\end{description}

This function is called by all processes in group {\em gid\_old} loosely
synchronously. It creates as many different subgroups as there
are different values of {\em group\_key}. The ranking in the newly
created groups is determined by the {\em order\_key} values, with the
process ranks in the parent group for tie breaking.
\item If there is a standardized internal information caching facility,
it can be used by MPI routines to store and retrieve
information related to a process group. This facility was proposed
in the Context Subcommittee. High--level topology functions
store structure information for a process group,
which is then later used by topology inquiry functions.

In case the caching mechanism does not become part of MPI,
the topology information can be retrieved by group id
in an implementation--dependent
way, which each vendor can do as is most convenient.
\end{enumerate}

There has been a general decision in MPI to start all numbering with
0 instead of 1. Thus, coordinates in a Cartesian structure are
0,1, ..., dim-1. In the same way, nodes in a general graph are
numbered zero up.
%
\subsection{Low--level topology functions}
%
On the lowest level groups are created by the general function
MPI\_CREATE\_GROUP. Using the input argument {\em newrank} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

The functions in this section do not change the state of the calling
process, but they provide the information used in a following group
creation for process reordering.

For Cartesian structures the function is

\mpifunc{MPI\_MAP\_CART(gid\_old, ndims, dims, period, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN ndims] number of dimensions of Cartesian structure,
\item[IN dims(*)] number of processes in each coordinate direction,
\item[IN period(*)] periodicity specification in each coordinate
                    direction.
\item[OUT newrank] reordered rank of the calling process. \\[4.0ex]
\end{description}

The corresponding function for general graph structures is

\mpifunc{MPI\_MAP\_GRAPH(gid\_old, nodes, index, nglist, newrank)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[IN nodes] number of graph nodes,
\item[IN index(*), nglist(*)] definition of graph structure:
For each graph node its set of neighbors is entered, i.~e., the set of
processes with which the node process is going to communicate most
frequently. Since there is no weighting of node connections, it might be
sensible to specify only those neighbors with which there is a
considerable amount of communication.

For each node $i\;\:(0 \leq i \leq nodes-1)$
the list of the neighbor nodes
is stored at $nglist(j),\;\: index(i) \leq j
\leq index(i+1)-1$. For the
last process $index(i+1)$ points to the first free position
in vector nglist. Note that the matrix is symmetric, i.~e., if node 
{\em i} is a neighbor of node {\em j}, than node {\em j} is also a
neighbor of node {\em i}. This property can be used for an internal
checking of the input arguments.
\item[OUT newrank] reordered rank of the calling process. \\[2.0ex]
\end{description}
The definitions of the arguments {\tt nodes}, {\tt index}, and
{\tt nglist} are illustrated with the following simple example:

Assume there are four processes 0, 1, 2, 3 with the following
adjacency matrix: \\
\begin{tabular}{ll}
process & neighbors \\
0       & 1, 3      \\
1       & 0         \\
2       & 3         \\
3       & 0, 2
\end{tabular}

Then, the input arguments are: \\
\begin{tabular}{ll}
nodes = & 4 \\
index = & 0, 2, 3, 4, 6 \\
nglist = & 1, 3, 0, 3, 0, 2
\end{tabular}

If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to MPI\_PROCNULL. It is an error if the topology defines more
processes than are contained in the parent group.
%
\subsection{High--level topology functions}
%
In principle, all that is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
group creation routine. However, this is not what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For Cartesian and graph structures the functions MPI\_CART and
MPI\_GRAPH create a process group with topological structure.
They combine the call to the mapping function with the call to the
group creation routine. The user can decide whether the ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.

The option of not reordering the process ranks can be useful in the
case of an overlay of different topologies. The user can then fully
control which location in the first topology coincides with which
location in the second one. The price which one obviously has to pay
in this case is that for only one topology the process arrangement
can be optimized.

As specified for the low--level functions it is an error if one attempts
to define a topology with more locations than there are processes in
the parent process group. If the number of locations is less than
the number of available processes, the remaining processes of the
parent group will not be members of the new group. For those processes
the rank inquiry function MPI\_RANK returns MPI\_PROCNULL if called
with the identifier of the new group.

MPI\_CART is defined as

\mpifunc{MPI\_CART(gid\_old, gid\_cart, ndims, dims, period, reorder)}
with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_cart] group id of Cartesian group,
\item[IN ndims, dims(*), period(*)] definition of Cartesian structure,
                                   (for details see the definition of
                                    MPI\_MAP\_CART)
\item[IN reorder] ranking may be reordered or not.
\end{description}

Apart from some local computations, MPI\_CART is based on the two
function calls

\mpifunc{MPI\_MAP\_CART (gid\_old, ndims, dims, period, newrank)} 

and

\mpifunc{MPI\_CREATE\_GROUP (gid\_old, gid\_cart, 0, newrank)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\mpifunc{MPI\_GRAPH(gid\_old, gid\_graph, nodes, index,
                              nglist, reorder)} with
\begin{description}
\item[IN gid\_old] group id of parent group,
\item[OUT gid\_graph] group id of graph group,
\item[IN nodes, index(*), nglist(*)] definition of graph structure,
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)
\item[IN reorder] ranking may be reordered or not.
\end{description}
%
\vspace*{3.0ex}

The following topology information is likely to be stored with the
process group by a high--level topology definition function:
\begin{enumerate}
\item Type of topology (Cartesian/graph)
\item For a Cartesian topology:
   \begin{itemize}
   \item ndims (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\end{enumerate}
For a graph structure no information has to be stored, because the
graph node number is the rank in the graph group, and the size of the
graph is the number of processes in that group.

The actual set of topology data stored with a process group is
implementation dependent. It can contain more information than given
above, whereas in other cases some items might be redundant.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication.

The function MPI\_INQMAP returns the type of mapping which is
assigned to a group. 

\mpifunc{MPI\_INQMAP(gid, map).}

The output value {\tt map} is one of the following:
\begin{itemize}
\item MPI\_GRAPHTOP: graph topology,
\item MPI\_CARTTOP: Cartesian topology,
\item MPI\_NOTOP: no topology.
\end{itemize}

For a process group with a graph structure which has been created
by MPI\_GRAPH, functions MPI\_GRAPHDIMS and MPI\_INQGRAPH look up
topology information:

\mpifunc{MPI\_GRAPHDIMS(gid, indexlen, nglistlen)} with
\begin{description}
\item[IN gid] group id of group with graph structure,
\item[OUT indexlen] number of entries in vector {\tt index},
\item[OUT nglistlen] number of entries in vector {\tt nglist}.
\end{description}

The information provided by MPI\_GRAPHDIMS can be used to dimension the
vectors {\tt index} and {\tt nglist} long enough in the following call
to MPI\_INQGRAPH. The number of nodes in the graph is
{\tt indexlen - 1}.

\mpifunc{MPI\_INQGRAPH(gid, indexdim, nglistdim, index, nglist)} with
\begin{description}
\item[IN gid] group id of group with graph structure,
\item[IN indexdim] length of vector index(*) in the calling program,
\item[IN nglistdim] length of vector nglist(*) in the calling program,
\item[OUT index(*), nglist(*)] vectors containing the graph structure
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH).
\end{description}

For a process group with Cartesian ordering which has been created
by MPI\_CART, functions MPI\_INQDIM and MPI\_INQCART look up topology
information:

\mpifunc{MPI\_INQDIM(gid, dim)} with
\begin{description}
\item[IN gid] group id of group with Cartesian structure,
\item[OUT dim] dimension of the Cartesian structure.
\end{description}

\mpifunc{MPI\_INQCART(gid, maxdim, size, period, pos)} with
\begin{description}
\item[IN gid] group id of group with Cartesian structure,
\item[IN maxdim] length of vectors size(*), period(*), and pos(*) in
                 the calling program,
\item[OUT size(*)] number of processes for each coordinate direction,
\item[OUT period(*)] periodicity yes/no for each coordinate direction,
\item[OUT pos(*)] position of calling process in Cartesian structure.
\end{description}

The inquiry for Cartesian topology information is thus split up into
two calls. The reason is that otherwise the user might not know a save
value for the dimensioning of vectors {\tt size, period} and {\tt pos}
before calling MPI\_INQCART (input argument {\tt maxdim}).

For a process group with Cartesian structure, the function
MPI\_INQRANK translates the logical process coordinates to process
ranks as they are used by the point--to--point routines:

\mpifunc{MPI\_INQRANK(gid, location, rank)} with

\begin{description}
\item[IN gid] group id of group with Cartesian structure,
\item[IN location] coordinate vector of process,
\item[OUT rank] process rank.
\end{description}

In a sense, the inverse operation to MPI\_INQRANK is provided by the
function:

\mpifunc{MPI\_INQLOC(gid, rank, location, maxdim)} with

\begin{description}
\item[IN gid] group id of group with Cartesian structure,
\item[IN rank] rank of a process within group {\tt gid},
\item[OUT location(*)] coordinate vector of process,
\item[IN maxdim] length of vector {\tt location} in the calling
                 program (only for error checking).
\end{description}
MPI\_INQLOC translates a rank in the group into a topology location.

\subsection{Partitioning of Cartesian structures}

If a group has been created with MPI\_CART,
the function MPI\_PARTC
can be used to partition the group into subgroups which form
hyper--planes of the original process structure. As an example,
assume that MPI\_CART has defined a two--dimensional grid structure
on a process group. With a call to MPI\_PARTC this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\mpifunc{MPI\_PARTC(gid, lostdim, gid\_new)} with

\begin{description}
\item[IN gid] group id of group with Cartesian structure,
\item[IN lostdim] direction perpendicular to resulting hyper--planes.
\item[OUT gid\_new] group identifier of the hyper--plane group in
which the calling process is contained.
\end{description}

MPI\_PARTC uses the function MPI\_CREATE\_GROUP to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by MPI\_PARTC, the
inquiry functions MPI\_INQCART and MPI\_INQRANK consistently
refer to the grid sections if applied to a subgroup.

If the process topology is a Cartesian structure, a collective shift
operation most likely is used along a coordinate direction. In MPI
shift operations are handled by the more general send--receive
functions. Those take as input the rank of a source process
for the receive, and the rank of a destination process for the
send.

If the function MPI\_SHIFT is called for a Cartesian process group,
it provides the calling process with the above identifiers, which then
can be passed to the send--receive function. The user specifies the
coordinate direction for the shift and the step length:

\mpifunc{MPI\_SHIFT\_ID(gid, direction, steps, rank\_source,
                        rank\_dest)}
with

\begin{description}
\item[IN gid] group id of group with Cartesian structure,
\item[IN direction] coordinate direction of shift,
\item[IN steps] step length ($> 0$: upwards shift, $< 0$: downwards
shift),
\item[OUT rank\_source] rank of source process,
\item[OUT rank\_dest] rank of destination process.
\end{description}

Depending of the periodicity of the Cartesian group in the specified
coordinate direction, MPI\_SHIFT\_ID provides the identifiers for a
circular or an end--off shift. In the case of an end--off shift,
at the boundary process one of the identifiers is set to MPI\_PROCNULL,
indicating that there is no process in that direction to communicate
with.

In a portable program the number of available processors usually is not
known at compile time. In the case of a Cartesian topology the function
MPI\_MAKDIM helps in setting the numbers of processes per coordinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\mpifunc{MPI\_MAKDIM(nprocs, ndims, dims)} with

\begin{description}
\item[IN nprocs] number of processes in the group,
\item[IN ndims] number of Cartesian dimensions,
\item[IN/OUT dims] number of processes in each coordinate direction.
\end{description}

The {\tt nprocs} processes are divided
as evenly as possible among {\tt ndims} dimensions, subject to the
constraint that all processes are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt nprocs} is not a multiple of
$\displaystyle \prod_{i, dims(i)\neq 0} dims(i)$.

Negative input values of {\tt dims(i)} will also cause an error.
All elements of {\tt dims(*)} must be set to 0 for completely automatic
process distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine MPI\_CART.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the ranks of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
MPI\_SENDC(...,neigh\_rank(1),...) to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndims, num\_neigh                                           \\
\>logical reorder                                                     \\
\>parameter (ndims=2, num\_neigh=4, reorder=.true.)                   \\
\>integer gid, gid\_cart, dims(ndims), neigh\_def(2),
          neigh\_rank(num\_neigh)                                     \\
\>integer own\_position(ndims), period(ndims), i, j, rank             \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                          \\
\>data dims / ndims $\ast$ 0 /                                        \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position  \\
\>gid = MPI\_ALL                                                      \\
C  \hspace{5mm} Set process grid size and periodicity                 \\
\>call MPI\_MAKDIM(gid, ndims, dims)                                  \\
\>period(1) = MPI\_PER                                                \\
\>period(2) = MPI\_PER                                                \\
\>call MPI\_CART (gid, gid\_cart, ndims, dims, period, reorder, rank) \\
\>call MPI\_INQCART (gid\_cart, ndims, dims, period, own\_position)   \\
C  \hspace{5mm} Look up the ranks for the neighbors.
                               Own process coordinates are (i,j).     \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)    \\
\>i = own\_position(1)                                                \\
\>j = own\_position(2)                                                \\
\>neigh\_def(1) = i--1                                                \\
\>neigh\_def(2) = j                                                   \\
\>call MPI\_INQRANK (gid, neigh\_def, neigh\_rank(1))                 \\
\>neigh\_def(1) = i+1                                                 \\
\>neigh\_def(2) = j                                                   \\
\>call MPI\_INQRANK (gid, neigh\_def, neigh\_rank(2))                 \\
\>neigh\_def(1) = i                                                   \\
\>neigh\_def(2) = j--1                                                \\
\>call MPI\_INQRANK (gid, neigh\_def, neigh\_rank(3))                 \\
\>neigh\_def(1) = i                                                   \\
\>neigh\_def(2) = j+1                                                 \\
\>call MPI\_INQRANK (gid, neigh\_def, neigh\_rank(4))                 \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration     \\
\>call init (u, f)                                                    \\
\>do 10 it=1,100                                                      \\
\>\>call relax (u, f)                                                 \\
C  \hspace{5mm} Exchange data with neighbor processes                 \\
\>\>call exchange (u, neigh\_rank, num\_neigh)                        \\
10 \>continue                                                         \\
\>call output (u)                                                     \\
\>end                                                                 \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
\end{document}
From owner-mpi-ptop@CS.UTK.EDU Mon Jul 26 06:49:24 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA08111; Mon, 26 Jul 93 06:49:24 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21533; Mon, 26 Jul 93 06:50:06 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 26 Jul 1993 06:50:04 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA21508; Mon, 26 Jul 93 06:49:55 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA24153
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Mon, 26 Jul 1993 12:48:14 +0200
Received: by f1neuman.gmd.de id AA16242; Mon, 26 Jul 1993 12:49:12 GMT
Date: Mon, 26 Jul 1993 12:49:12 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9307261249.AA16242@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: PostScript of PTOP chapter
Cc: gmap10@f1neuman.gmd.de


begin 664 PTOP.ps.Z
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
"``#W
`
end
From owner-mpi-ptop@CS.UTK.EDU Thu Sep 16 04:35:10 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA27028; Thu, 16 Sep 93 04:35:10 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA25164; Thu, 16 Sep 93 04:33:41 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 16 Sep 1993 04:33:38 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA25124; Thu, 16 Sep 93 04:33:28 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA08715
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 16 Sep 1993 10:31:47 +0200
Received: by f1neuman.gmd.de id AA16410; Thu, 16 Sep 1993 10:33:14 GMT
Date: Thu, 16 Sep 1993 10:33:14 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9309161033.AA16410@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: Updated version of Topology chapter
Cc: gmap10@f1neuman.gmd.de


Dear working group member,

enclosed you will find a new version of the topology chapter. It
incorporates all changes decided during the second reading at the
August meeting. Thanks to Steve Huss-lederman who has done the reading,
and who has reported to me all the requested changes.

The main change is that the topology functions now take communicators
instead of group ids as arguments. This has been changed consistently
(at least I hope so) throughout the chapter. The other changes are
relatively minor. Some of them were necessary to make this chapter
consistent with changes in other chapters. Some formulations have been
changed slightly to make everybody happy.

At next weeks meeting we should have a short plenary discussion on this
new version. I hope there are no major problems with it.

The following is an uuencodes, compressed PostScript file. For those of
you who cannot print it, I will send the LaTeX source in a separate
message.

Best wishes, and see you soon in Dallas!

Rolf
------------------------- PostScript below -----------------------------
begin 664 topol.ps.Z
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
M4656M%L[>U!/?%?54B%N*&W)?G5Y0&!64P$"@V+Z`>>`/E#*?BYCK%F5>8=9
MZ75I?IAYA'>M;&I8:U`S9VMU+7$(4)E85GL?42Q]\VNL8^)C.6A1`=E1T6J]
M@"EH*5QP;5)LL&IO479EU'WZ6\A5NE=X;95?5&,&4A)X$6WS4=A:^U/M;_^`
M*E/E43AE^U?<4_\%Z7^K7&=8(FZU9H-LX7"N=6%X?&U<4>E16GJ^:ZA/RT\=
M!$%Y;%7$?M198@"&@%MI*X#P`?EH&W46<;0'FGSP54AW'UH3`5*!\5ZA?$M/
M68')8QZ`&7B(6LMEVF7<93E[\'_\8D9\6@(<57E[A&R7<TM\!7-U6-!@3EH=
M::-I1%*I<4UT5("9;1=93%!K#"-6NU>P>T!;*U9H@0MRD6U$8G(`+7%V4U%]
MTG1O6JE<CUT,7^99_&7>;S%H8U@,8B925VZW>!N!NUCQ42V!R7ZN>TN`?5L$
M@'@`PV-3`1IBJ%!;?I:!^&)'6F9Y3H&6?B1FNFRT=XQ2#7.B=7!3'G)'4\1L
ML5,C<;Y?1GGI&N42;V<K8KM>3@#,$)=<=6,N`"P`Q6C46"A5<A=O9ZUBN&81
M5]%PQH$78ZUHH5`L4YE/\'NR4M]0Q@-K586!%W@B?E,!20%[`!%6'U*A$R1U
M86C2:J]ZEUQI`!8"+`!J`'&`R5`W:05])6$55F!?/E6$;:!X2%Q*8%-U,64N
M4?UB5&:O7%QFPU*;>[A:X5U\<LYI['G$7=E^TVGQ>85R/F0N7M-=]GGI>?AY
MT&GZ>9!R0V30:91NBWH47NM^!'HK=O)=%%X(>OU="GK]70QZ`FK_::EN!E[]
M?JIR*EX`?ZYR!%XR>@YJ^UT8>KEN&GH6:AQZ"G^Z<@Q_O7*3;\!R/'JV;R-J
M)GK=4K4!R'*.9`MS678N>LYR''\R>M5NH1/5<C=Z2E[:<CMZ)5X_:CYZ-%[>
M>ZID-%[S>UM>68+G<E]>F7)(>F1>7WIX=E)J7WHW?_-N98+U<EEJ/7_8<OQN
MR617>M%D_G*+=EEJ`G..=F-ZD'8'<]MD3G]F>B%2:'I?@IEV%6^;=E9_G78:
M,P@1$0^A=G%Z(&^':B$!=7J[6@MI!0734$P`M5XU85@`00"0@K5>94EK3S!7
M!&2);/5NGE9H3YH!!6>"5F=Q0W4%81MP=P\V`<L$571P9\5HM0$S9)]Y+5:D
M6.%OOT^M@B)/#&Y,`7YCH@$.8A<&:G&N9CT`$6NT:*6"^VF;<VANFF:`:#T`
M%6NW4!!Q.P0]`"X`R`(N`!=CK8)K#".!1&)A`=9KHU2/5$AOZ0L$`OI0;G2M
M8C\!4&^&6W-_9W%R<9M2R8$:,\YBW((R8KM@%U5F`,YC<G%99F%HP75O;.F"
M4%O8`Y1/SX&28T)EPUCT@CQN@&C0@HEL9VK4@L=^J7&!<%Q-@%Z:9GAWV'@+
M?@]^G&\O4E9W9`"\@M)Q#8/S5"=7:@"(9_%CM(*L""%2>%^:46A7TF,J5TY9
MY%UF6:=H.@"*!RP`K'R*![E/<G$<8B2#)H,H@X!1'&@;:;2""F\%8[L"V5^Q
M9B%0+P`B<#B#L6(?@X]_6F,H`#J#T8)$!U15E%U+3P%K*704=T2#$G!)93IP
M&W"13TN#FF9!`&AKVE!V*B1IRURK(Q5FI59Y;3-<F7G&4.-EH%JV@)IQ)V<!
M?>Y>"6^)"11OQ&Q33R5B%5-Y:IIF!'YE=#]OC6=4;XU3#(-*5'L!*B`^9&.#
M5W?0@9M<1X.@3R5B=0%_`GF#$G!0`*I>T8)O=R==#X/N@G)U*``!:VN#M6*"
M@R%1%G5P9X:#24]J8!%.M5E8@PQ6$@$V90MI0'OZ9:MLI7065KU24X.^8#YT
M+52V6XUS[%Z+@:Q0P7Q5;R9<-V"T@C@!/F2Y@0YP`#>K8(X"%W!)3ZM/55OF
M=U-3)U=(;T)#P6"Z@SQNWX*,9QIN5&_=?[)F$6T/@X]4LH+U64E0/7AW@_D(
MF'B37;A30E&U8KB#:0J9>&![ZD\14[!BOX.W</98U8-\<-Z"707"<Z."-X,E
M<+IQ5F]<=TMB-U6O@\%U@"O<@PB#M7Z@<0MY.0C?")J#*0!9@R@`#F4"4QUD
M@E9G4;YJ!F;*7Q!RYX$H:,!8G&AZ5KEQ7(,G>P]]:&-_:QEP:0#M@>^!QW>@
M;$-/FX-'3QD&5FDD6>5]5G[F=VD`U0,6A`V#I'QI`"L`<V/N@0V#WU'J@>V!
MU0-R<12$[8$IA/^"9GPL;NIH<$\!:[53!(,O8E9\?"CV@Z9ELW%]@]2#UAS)
M3]UH?X.Z4#R$XQ(0(]8<BWFM8@F#H''M6S6$]W`A4N:"Z8),?&]GZX+*`>IC
M`FF.@W-8(X2;@C(.9EJT4?&"$`,R>.40<WR43UN$4H1^@UZ$2T_=:-&"E%I%
M@ZEYMX.E87*$W8,%>#]N\FS"@_H5=X2:9L>#Z8-EA*\.VU*M!?6"='R\`4-U
M\8(1#R=B-1O6>FA\]X*/9WV#4X1.#4.`56F`4!1PC&3G53YP6H2\`5R$;81(
M@^M2*81$A.I:(%EEA%>$I(1IA.R"C(-Z3Z"$W6AG@]I8P%VV;)"#37MVA!);
M>(1K>^*#?&=:0R4HMH1_A.B#SE#F@H.$L(2.A#%1:H2(A*=8BH2(;#-QY!*I
MA,^!_F.3A,,%)&E6A(%TT80X=0][:X0;:4B$ZFBT@BH($7;3A(@%G@6#=(^$
MJH1LA*R$>D_B!@51KX3G*+6#=(1L@W:$#TFWA`9XWW##9KN$<%OS"+Z$X()/
M48*$AP>3>/>$)"B'A&8`B82Y6`]YB@7VA,6##WO/@3,`FER3A'@(TH2FA(%T
M#876A)R$[8)#A-J$[E#<A"Y7I80#A6:$B`49A:F$:X3^8^:$;X2BA.J$%2M2
M4^V$VH-VA":%\81ZA+F$0&_UA+$2N6#&@[^$^H0;A<*$,84R8A4(QH0!A<B$
M`X6+A&94!`[-A)&$-``+A?F#*G3=4AN$B%'164QFXV4O6"5];H%8>T)=ZGU>
M9BQE]GLY73M0(%!QA#<!QU00=6M3?USF=W4`P&,I``M14X0G5:Q2AW,I=F]R
M/0#K8WD%HV=Z):UQ,7<D6%N!Z7A)4)=<887156.%G%)&A7]5QU1)A6M0JH$U
M54=:V%X\<EEU'VB;@2190'X)9VZ%,V1017&%H$_;`5QF0%5VA=B"MW!2#DIN
MC87XA,B#@U'[A$AYF(70*E9<GG@:;L&"<A>,A=1>J83^@GN%1@?L715J07%L
M3[6!MURK`M2#YE5SA*982F=S<&%EI'QJ6;YHQ7]W#U5>2P,U4<Y==0''5*YH
MIH!C4R51&&AT3Z(!%UK.4"UFR7@)@4%A*%D@7;%\K$^6>75:)%B744I18%+9
M@&M4OUCP5>:`]%E,4`EV!H(,=C(.[GG:?@R"$W;>?A9VX'[@$6L,XGZ,;N5^
M063G?D%DZ7Y-9!R"*G;N?O)=4F3Q?B]VI&XC@EIDB%/X?F)D-G8H@DAD#`DJ
M@CIV$GJ09#YVL')`=@5_N&Y#=A1J"']'=KYN2G;@;KYR@61N9#^"AF0&AE-V
M%'^09,QN5W:49"UZ&G]J9%QV`W]?=M1R(7]/@F5V48(F?SYZ*'_B;K%N6H+G
M;EV"VF0S?#)_17]C@DQZ>G8>7CA_-G]I@H%V6VI4>C]_Z75!?T5_B'98>@:&
M1G];>M-D=()D:DI_-(.1=O!N9'H*<P]OHG%W:E)_:GJ!@DX!5`",?E,!<@"T
A<VP!"@!?!<$!+P!+`V,%4P5E!58%;`%K!20"?`&2:@H`
`
end
From owner-mpi-ptop@CS.UTK.EDU Thu Sep 16 04:35:23 1993
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with SMTP (5.61+IDA+UTK-930125/2.8t-netlib)
	id AA27034; Thu, 16 Sep 93 04:35:23 -0400
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA25177; Thu, 16 Sep 93 04:34:14 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 16 Sep 1993 04:34:12 EDT
Errors-To: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
	id AA25168; Thu, 16 Sep 93 04:34:06 -0400
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA08739
  (5.65c/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Thu, 16 Sep 1993 10:32:28 +0200
Received: by f1neuman.gmd.de id AA15903; Thu, 16 Sep 1993 10:33:55 GMT
Date: Thu, 16 Sep 1993 10:33:55 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9309161033.AA15903@f1neuman.gmd.de>
To: mpi-ptop@cs.utk.edu
Subject: LaTex source of topology chapter
Cc: gmap10@f1neuman.gmd.de


% Version as of Sept. 16, 1993

\chapter{Process Topologies}
\label{sec:topol}
\label{chap:topol}
\footnotetext[1]{Version as of Sept 16, 1993}

\commentOut{
This version of the topology chapter incorporates all changes decided
during the second reading at the August meeting. Thanks to Steve
Huss-lederman who has done the reading, and who has reported to me all
the requested changes.

The main change is that the topology functions now take communicators
instead of group ids as arguments. This has been changed consistently
(at least I hope so) throughout the chapter. The other changes are
relatively minor. Some of them were necessary to make this chapter
consistent with changes in other chapters. Some formulations have been
changed slightly to make everybody happy.
} %end-commentOut
%-----------------------------------------------------------------------
%
%  file topol.tex
%

\section{Introduction}

A process group in MPI is a collection of n processes. Each process in
the group is assigned a rank between 0 and n-1. In the majority of
parallel applications this linear ordering does not reflect the
communication structure of the processes which is usually determined
by the underlying problem geometry and the numerical algorithm used.
Often the processes are arranged in topological patterns as simple as
a two-- or three--dimensional grid. In the more general case the logical
process arrangement is described by a graph. This process structure is
henceforth called ``virtual topology''.

For the user who programs an application on such a process structure
the most natural way of referring to individual processes is to specify
their coordinates in the process topology. Usually a process does
not have to know the identifiers of {\em all} processes in a grid,
because communication only takes place with processes in a certain
neighborhood, and perhaps with a few distant processes. Non--scalable
features like the explicit listing of all participating
processes in the application could, therefore, be avoided, if
there were a means to specify the information which is really required.

A clear distinction must be made between the virtual process topology
and the topology of the physical hardware processors.
The application specific virtual topology can be exploited
by the system in the assignment of processes to the hardware processors,
if this helps to improve the communication performance on a given
machine. How this mapping is done in detail, however, is outside the
scope of this standardization proposal, since it is too much dependent
on the particular hardware. The description of the virtual process
topology, on the other hand, only depends on the
application, and is, therefore, machine--independent. The functions
which are proposed in this paper only deal with this side of the mapping
problem.

There are well--known techniques for mapping grid/torus structures to
hardware to\-po\-logies such as hypercubes or grids. But even for more
complicated graph structures good heuristics often yield near--optimal
results \cite{suprenum}. On the other hand,
if there is no way for the user to specify the logical process
arrangement as a ``virtual topology'', this information is most
difficult to recover later. A random mapping is most
likely the consequence. On some machines this will lead to
unnecessary contention in the interconnect network.
Some details about predicted and measured
performance improvements which result from good process--to--processor
mapping on modern wormhole--routing architectures can be found in
\cite{wormhole1,wormhole2}.
%
\section{Virtual Topologies}
%
In the most general case the connection structure of a set of
processes can be represented by a graph. The nodes stand for
the processes, and the edges connect processes which communicate
with each other. MPI provides message--passing between any pair
of processes in a group. There is no requirement for opening
a channel explicitly. Therefore, a ``missing link'' in the user--defined
process graph does not prevent the corresponding processes from
exchanging messages. It only means that this connection is neglected
in the virtual topology. As a consequence, an automatic mapping tool
will not try to assign the processes to neighboring processors.

The graph definition function \func{MPI\_GRAPH} presented here
does not include
any weighting of the communication volume along the different edges.
Processes are either neighbors or not. Experience with similar
techniques in PARMACS \cite{parmacs1,parmacs2}
show that this information is usually sufficient for a good mapping.
Additionally, a more precise specification would be more difficult
for the user to set up, and it would make the interface
functions more complicated.

In principle a function for the definition of such a graph structure
would be sufficient for all applications. However, in many
applications the graph structure is very regular, and the detailed
set--up of the graph would be inconvenient for the user
and resource--consuming during run time. A large fraction of all
parallel applications use process topologies like rings, or two-- 
or higher--dimensional grids or tori. These structures are
completely defined by the number of dimensions and the numbers
of processes in each coordinate direction.
Also, the mapping of grids and tori is generally an easier problem
then that of general graphs.  Thus, it is desirable to do the
mapping as grids and tori rather than obscuring the information in a
graph.

Therefore, in addition to the general graph, Cartesian topologies
are supported.
The topology definition function \func{MPI\_CART} can be used to describe
Cartesian structures of arbitrary dimension. For each coordinate
direction it is specified whether the process structure is periodic or
not.
Similar functions are contained in EXPRESS \cite{express} and PARMACS.
Note that an n--dimensional hypercube is an n--dimensional torus with
2 processes per coordinate direction. Thus, special support for
hypercube structures is not necessary.

Based on the positions in the virtual topology a process can look up
the ranks of other processes by calling \func{MPI\_INQRANK}.
The processes are specified by their rectangular process coordinates.
Thus, it is possible to
inquire for the ranks of only those (few) processes with which
messages have to be exchanged. The inverse function \func{MPI\_INQLOC}
translates a rank into the corresponding Cartesian coordinates.
%
\section{Embedding in MPI}
%
The support for virtual topologies as defined in this chapter is
fully consistent with other parts of MPI, and, whenever possible, it
makes use of functions which are defined elsewhere. In particular,
the virtual topology functions are based on the general management
of process groups and communicators, and they complement the functions
for collective communication.
The current design of the process topology functions
is based on the following assumptions:
\begin{itemize}
\item MPI is free to choose any process in a group for any
location in the topology. There are no special processes which
have to be aligned with topology substructures. This assumption fits
best to a ``local SPMD model'' in which all processes in the same group
execute the same program.
\item One important feature of MPI are the process groups.
The treatment of virtual topologies has to take this concept into
account. The functions presented in this chapter are not only compatible
with the process groups, they even take advantage of them for
the definition of mapping overlays and dynamic re--mapping during
execution time. Virtual process topologies help in the
subdivision of process groups which in many applications has to be
done along process coordinate lines. Furthermore, the definition of
collective gather--type communication calls benefits from the natural
ordering of processes in a virtual topology.
\end{itemize}
The virtual topology handling follows the general MPI rule of
functional layering. At the bottom it is based on the general
communicator creation function \func{MPI\_COMM\_COLL\_SUBSET}
plus a few
topology specific mapping functions. In principle this is sufficient
for defining topologies and using them in applications. 

A number of higher--level functions provide an interface which is
similar to what users of packages like Express and PARMACS are
familiar with. This level can be written in a portable way in terms of
the low--level functions. Implementations of the high--level functions
which bypass the low level may be advantageous on some systems in terms
of memory and cpu time usage, but this is not a requirement.
%
\section{Overview of the proposed MPI functions}
%
The features presented in this chapter are based on MPI functions for
process group and communicator management which are defined in chapter
\ref{chap:context}. In particular, the function
\func{MPI\_COMM\_COLL\_SUBSET} is used internally for subdividing and
re--ranking process groups. Since the topology group creation functions
may require internal communication, communicators are passed to them
instead of group identifiers. For consistency the topology group
creation routines \func{MPI\_CART} and \func{MPI\_GRAPH} also
return communicators instead of group identifiers for the newly created
topological process groups. The topology routines \func{MPI\_MAP\_CART},
\func{MPI\_MAP\_GRAPH}, \func{MPI\_CART}, \func{MPI\_GRAPH}, and
\func{MPI\_PARTC} must be
called as if they contain a barrier, but they may not actually have
one in the implementation. This is analogous to the behaviour of the
collective communication functions described in chapter \ref{chap:coll}.

Also in chapter \ref{chap:context}, a mechanism for internally
storing data with a communicator (cacheing) is
defined. The topology functions can use this facility to store and
retrieve process structure information.

There has been a general decision in MPI to start all numbering with
0 instead of 1. Thus, coordinates in a Cartesian structure are
0,1, ..., dim-1. In the same way, nodes in a general graph are
numbered zero up. Row major numbering is used for the processes in a
cartesian structure. This means that, for example, the four processes in
a $(2 \times 2)$ grid are assigned the ranks \\[2.0ex]
\hspace*{\parindent}
\begin{tabular}{ll}
 Process (0,0): & rank 0 \\
 Process (0,1): & rank 1 \\
 Process (1,0): & rank 2 \\
 Process (1,1): & rank 3 \\
\end{tabular}
%
\subsection{Low--level topology functions}
%
On the lowest level groups (as part of a communicator) are created by
the general function \func{MPI\_COMM\_COLL\_SUBSET}.
Using the input argument {\em key} the caller
can change the process ranks in the new group as compared to the
parent group. This feature can be used to efficiently map the
processes in the group to the positions in the topology. For each
class of topologies, therefore, there is a function which computes
the rank of the calling process in the new group, based on the size
and structure of the topology. Note that it is a valid implementation
if the new ranks are identical to the old ranks. So, if for a given
machine the placement of processes makes no difference, the
implementation of the rank computation functions is trivial.

The functions in this section do not change the state of the calling
process, but they provide the information used in a following group
creation for process reordering.

For Cartesian structures the function is

\begin{funcdef}{MPI\_MAP\_CART(comm\_old, ndims, dims, period, newrank)}
\funcarg{\IN}{ comm\_old}{ communicator for parent group (handle)}
\funcarg{\IN}{ ndims}{ number of dimensions of Cartesian structure
                       (integer)}
\funcarg{\IN}{ dims(*)}{ number of processes in each coordinate
                         direction \\ (integer)}
\funcarg{\IN }{period(*)}{ periodicity specification in each coordinate
                           direction, either set to \const{MPI\_PER}
                           or \const{MPI\_NOPER} (integer)}
\funcarg{\OUT}{ newrank}{ reordered rank of the calling process
                          (integer)}
\end{funcdef}

The corresponding function for general graph structures is

\begin{funcdef}{MPI\_MAP\_GRAPH(comm\_old, nodes, index, nglist, newrank)}
\funcarg{\IN}{ comm\_old}{ communicator for parent group (handle)}
\funcarg{\IN}{ nodes}{ number of graph nodes (integer)}
\funcarg{\IN}{ index(*)}{ define graph structure, see text (integer)}
\funcarg{\IN}{ nglist(*)}{ define graph structure, see text (integer)}
\funcarg{\OUT}{ newrank}{ reordered rank of the calling process
                          (integer)}
\end{funcdef}

Definition of graph structure:
for each graph node its set of neighbors is entered, i.~e., the set of
processes with which the node process is going to communicate most
frequently. Since there is no weighting of node connections, it might be
sensible to specify only those neighbors with which there is a
considerable amount of communication.

For each node $i\;\:(0 \leq i \leq nodes-1)$
the list of the neighbor nodes
is stored at $nglist(j),\;\: index(i) \leq j
\leq index(i+1)-1$. For the
last process $index(i+1)$ points to the first free position
in vector nglist. Note that the matrix is symmetric, i.~e., if node 
{\em i} is a neighbor of node {\em j}, than node {\em j} is also a
neighbor of node {\em i}. This property can be used for an internal
checking of the input arguments.

The definitions of the arguments {\tt nodes}, {\tt index}, and
{\tt nglist} are illustrated with the following simple example:

Assume there are four processes 0, 1, 2, 3 with the following
adjacency matrix: \\
\begin{tabular}{ll}
process & neighbors \\
0       & 1, 3      \\
1       & 0         \\
2       & 3         \\
3       & 0, 2
\end{tabular}

Then, the input arguments are: \\
\begin{tabular}{ll}
nodes = & 4 \\
index = & 0, 2, 3, 4, 6 \\
nglist = & 1, 3, 0, 3, 0, 2
\end{tabular}

If the topology contains fewer processes than there are processes
in the parent group, the newrank values for the remaining processes
are set to \const{MPI\_PROCNULL}. It is an error if the topology defines
more processes than are contained in the parent group.
%
\subsection{High--level topology functions}
%
In principle, all that is needed to create an MPI process group with
topological ordering are the two mapping functions and the general
routine for subgroup communicator construction. However, this is not
what the applications
programmer expects to see on his level of abstraction. Therefore,
another layer of functions is defined on top of the low--level
functions. This higher level can be portably implemented in terms
of the level below. Of course MPI implementors are free to bypass
the lower level for the sake of better performance or resource usage.

For Cartesian and graph structures the functions \func{MPI\_CART} and
\func{MPI\_GRAPH} create a process group with topological structure.
They combine the call to the mapping function with the call to the
group/communicator creation routine. The user can decide whether the
ranking in
the new group may be reordered (for a more efficient mapping) or not.
In the latter case the rank of the calling process is copied from the
parent group.

The option of not reordering the process ranks can be useful in the
case of an overlay of different topologies. The user can then fully
control which location in the first topology coincides with which
location in the second one. The price which one obviously has to pay
in this case is that for only one topology the process arrangement
can be optimized.

As specified for the low--level functions it is an error if one attempts
to define a topology with more locations than there are processes in
the parent process group. If the number of locations is less than
the number of available processes, the remaining processes of the
parent group will not be members of the new group. For those processes
the rank inquiry function \func{MPI\_COMM\_RANK} returns
\const{MPI\_PROCNULL} if called
with the identifier of the new group.

\func{MPI\_CART} is defined as

\begin{funcdef}{MPI\_CART(comm\_old, comm\_cart, ndims, dims, period,
                reorder)}
\funcarg{\IN}{ comm\_old}{ communicator for parent group (handle)}
\funcarg{\OUT}{ comm\_cart}{ communicator for Cartesian group (handle)}
\funcarg{\IN}{ ndims, dims(*), period(*)}{ definition of Cartesian structure,
                                   (for details see the definition of
                                    \func{MPI\_MAP\_CART})}
\funcarg{\IN}{ reorder}{ ranking may be reordered (\const{MPI\_REORDER})
                         or not (\const{MPI\_NOREORDER}) (integer)}
\end{funcdef}

Apart from some local computations, \func{MPI\_CART} is based on the two
function calls

\func{MPI\_MAP\_CART (comm\_old, ndims, dims, period, newrank)} 

and

\func{MPI\_COMM\_COLL\_SUBSET (comm\_old, 0, newrank, comm\_cart)}.
%
\vspace*{3.0ex}

For graph structures the corresponding routine is

\begin{funcdef}{MPI\_GRAPH(comm\_old, comm\_graph, nodes, index,
                              nglist, reorder)}
\funcarg{\IN}{ comm\_old}{ communicator for parent group (handle)}
\funcarg{\OUT}{ comm\_graph}{ communicator for graph group (handle)}
\funcarg{\IN}{ nodes, index(*), nglist(*)}{ definition of graph structure,
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)}
\funcarg{\IN}{ reorder}{ ranking may be reordered (\const{MPI\_REORDER})
                         or not (\const{MPI\_NOREORDER}) (integer)}
\end{funcdef}
%
\vspace*{3.0ex}

The following topology information is likely to be stored with the
process group by a high--level topology definition function:
\begin{enumerate}
\item Type of topology (Cartesian/graph)
\item For a Cartesian topology:
   \begin{itemize}
   \item ndims (number of dimensions),
   \item dims(*) (numbers of processes per coordinate direction),
   \item period(*) (periodicity information),
   \item own\_position(*) (own position in grid, could also be computed
                          from rank and dims(*))
   \end{itemize}
\item For a graph topology:
   \begin{itemize}
   \item index(*), nglist(*) (vectors defining graph structure)
   \end{itemize}
\end{enumerate}

For a graph structure the number of nodes is equal to the number of
processes in the group. Therefore, it does not have to be stored
explicitely.

The actual set of topology data stored with a process group is
implementation dependent. It can contain more information than given
above, whereas in other cases some items might be redundant.

\subsection{Topology inquiry functions}

If a topology has been defined with one of the above high--level 
functions, the topology information can be looked up using inquiry
functions. They all are local calls, and do not require any
communication.

The function \func{MPI\_INQMAP} returns the type of mapping which is
assigned to a group. 

\begin{funcdef}{MPI\_INQMAP(comm, map)}
\funcarg{\IN}{ comm}{ communicator (handle)}
\funcarg{\OUT}{map}{ topology type of group within communicator
                     {\tt comm} \\ (integer)}
\end{funcdef}

The output value {\tt map} is one of the following:
\begin{constlist}
\constitem {MPI\_GRAPHTOP}{ graph topology}
\constitem {MPI\_CARTTOP}{ Cartesian topology}
\constitem {MPI\_NOTOP}{ no topology}
\end{constlist}

For a process group with a graph structure which has been created
by \func{MPI\_GRAPH}, functions \func{MPI\_INQGRAPHDIMS} and 
\func{MPI\_INQGRAPH} look up
topology information:

\begin{funcdef}{MPI\_INQGRAPHDIMS(comm, indexlen, nglistlen)}
\funcarg{\IN}{ comm}{ communicator for group with graph structure
                      (handle)}
\funcarg{\OUT}{ indexlen}{ number of entries in vector {\tt index}
                           (integer)}
\funcarg{\OUT}{ nglistlen}{ number of entries in vector {\tt nglist}
                            (integer)}
\end{funcdef}

The information provided by \func{MPI\_INQGRAPHDIMS} can be used to
dimension the
vectors {\tt index} and {\tt nglist} long enough in the following call
to \func{MPI\_INQGRAPH}. The number of nodes in the graph is
{\tt indexlen - 1}.

\begin{funcdef}{MPI\_INQGRAPH(comm, indexdim, nglistdim, index, nglist)}
\funcarg{\IN}{ comm}{ communicator for group with graph structure
                      (handle)}
\funcarg{\IN}{ indexdim}{ length of vector index(*) in the calling
                          program \\ (integer)}
\funcarg{\IN}{ nglistdim}{ length of vector nglist(*) in the calling
                           program \\ (integer)}
\funcarg{\OUT}{ index(*), nglist(*)}{ vectors containing the graph structure
                                     (for details see the definition of
                                      MPI\_MAP\_GRAPH)}
\end{funcdef}

For a process group with Cartesian ordering which has been created
by \func{MPI\_CART}, functions \func{MPI\_INQCARTDIM} and
\func{MPI\_INQCART} look up topology information:

\begin{funcdef}{MPI\_INQCARTDIM(comm, dim)}
\funcarg{\IN}{ comm}{ communicator for group with Cartesian structure \\
                      (handle)}
\funcarg{\OUT}{ dim}{ dimension of the Cartesian structure (integer)}
\end{funcdef}

\begin{funcdef}{MPI\_INQCART(comm, maxdim, size, period, pos)}
\funcarg{\IN}{ comm}{ communicator for group with Cartesian structure \\
                      (handle)}
\funcarg{\IN}{ maxdim}{ length of vectors size(*), period(*), and pos(*)
                        in the calling program (integer)}
\funcarg{\OUT}{ size(*)}{ number of processes for each coordinate
                          direction \\ (integer)}
\funcarg{\OUT}{ period(*)}{ periodicity
                            (\const{MPI\_PER}/\const{MPI\_NOPER})
                            for each coordinate direction (integer)}
\funcarg{\OUT}{ pos(*)}{ position of calling process in Cartesian
                         structure \\ (integer)}
\end{funcdef}

The inquiry for Cartesian topology information is thus split up into
two calls. The reason is that otherwise the user might not know a safe
value for the dimensioning of vectors {\tt size, period} and {\tt pos}
before calling \func{MPI\_INQCART} (input argument {\tt maxdim}).

For a process group with Cartesian structure, the function
\func{MPI\_INQRANK} translates the logical process coordinates to process
ranks as they are used by the point--to--point routines:

\begin{funcdef}{MPI\_INQRANK(comm, location, rank)}
\funcarg{\IN}{ comm}{ communicator for group with Cartesian structure \\
                      (handle)}
\funcarg{\IN}{ location(*)}{ coordinate vector of process (integer)}
\funcarg{\OUT}{ rank}{ process rank (integer)}
\end{funcdef}

In a sense, the inverse operation to \func{MPI\_INQRANK} is provided
by the function:

\begin{funcdef}{MPI\_INQLOC(comm, rank, location, maxdim)}
\funcarg{\IN}{ comm}{ communicator for group with Cartesian structure \\
                      (handle)}
\funcarg{\IN}{ rank}{ rank of a process within group {\tt gid}
                      (integer)}
\funcarg{\OUT}{ location(*)}{ coordinate vector of process (integer)}
\funcarg{\IN}{ maxdim}{ length of vector {\tt location} in the calling
                 program (only for error checking) (integer)}
\end{funcdef}
\func{MPI\_INQLOC} translates a rank in the group into a topology location.

\subsection{Partitioning of Cartesian structures}

If a group has been created with \func{MPI\_CART},
the function \func{MPI\_PARTC}
can be used to partition the group into subgroups which form
hyper--planes of the original process structure. As an example,
assume that \func{MPI\_CART} has defined a two--dimensional grid structure
on a process group. With a call to \func{MPI\_PARTC} this group can then be
split up into disjoint subgroups which represent rows or columns of the
original group. The function syntax is:

\begin{funcdef}{MPI\_PARTC(comm, lostdim, comm\_new)}
\funcarg{\IN}{ comm}{ communicator for group with Cartesian structure \\
                      (handle)}
\funcarg{\IN}{ lostdim}{ direction perpendicular to resulting
                         hyper--planes \\ (integer)}
\funcarg{\OUT}{ comm\_new}{ communicator containing the hyper--plane
                     group which includes the calling process (handle)}
\end{funcdef}

\func{MPI\_PARTC} uses the function \func{MPI\_COMM\_COLL\_SUBSET}
to partition the parent
group, using the process coordinate in direction {\tt lostdim} as the
key value. After a group has been partitioned by \func{MPI\_PARTC}, the
inquiry functions \func{MPI\_INQCART} and \func{MPI\_INQRANK}
consistently refer to the grid sections if applied to a subgroup.

If the process topology is a Cartesian structure, a collective shift
operation most likely is used along a coordinate direction. In MPI
shift operations are handled by the more general send--receive
functions. Those take as input the rank of a source process
for the receive, and the rank of a destination process for the
send.

If the function \func{MPI\_SHIFT\_ID} is called for a
Cartesian process group,
it provides the calling process with the above identifiers, which then
can be passed to the send--receive function. The user specifies the
coordinate direction for the shift and the step length:

\begin{funcdef}{MPI\_SHIFT\_ID(comm, direction, steps, rank\_source,
                        rank\_dest)}
\funcarg{\IN}{ comm}{ communicator for group with Cartesian structure \\
                      (handle)}
\funcarg{\IN}{ direction}{ coordinate direction of shift (integer)}
\funcarg{\IN}{ steps}{ step length ($> 0$: upwards shift, $< 0$:
                       downwards shift) (integer)}
\funcarg{\OUT}{ rank\_source}{ rank of source process (integer)}
\funcarg{\OUT}{ rank\_dest}{ rank of destination process (integer)}
\end{funcdef}

Depending of the periodicity of the Cartesian group in the specified
coordinate direction, \func{MPI\_SHIFT\_ID} provides the identifiers for a
circular or an end--off shift. In the case of an end--off shift,
at the boundary process one of the identifiers is set to
\const{MPI\_PROCNULL},
indicating that there is no process in that direction to communicate
with.

In a portable program the number of available processors usually is not
known at compile time. In the case of a Cartesian topology the function
\func{MPI\_MAKDIM} helps in setting the numbers of processes per
coordinate
direction, depending on the number of processes in the group and
optional constraints which can be specified by the user:

\begin{funcdef}{MPI\_MAKDIM(nprocs, ndims, dims)}
\funcarg{\IN}{ nprocs}{ number of processes in the group (integer)}
\funcarg{\IN}{ ndims}{ number of Cartesian dimensions (integer)}
\funcarg{\INOUT}{ dims(*)}{ number of processes in each coordinate
                            direction (integer)}
\end{funcdef}

The {\tt nprocs} processes are divided
as evenly as possible among {\tt ndims} dimensions, subject to the
constraint that all processes are used. The caller may
further constrain the operation of this routine by specifying elements
of array {\tt dims}. If {\tt dims(i)} is set to a positive number, the
routine will fix the number of processes in coordinate direction {\tt i}
to {\tt dims(i)}. Processes will then be distributed among directions
where {\tt dims(i)} is set to 0, subject to the above constraints.

Note that an error will occur if {\tt nprocs} is not a multiple of
$\displaystyle \prod_{i, dims(i)\neq 0} dims(i)$.

Negative input values of {\tt dims(i)} will also cause an error.
All elements of {\tt dims(*)} must be set to 0 for completely automatic
process distribution.  

When the function returns, {\tt dims(i)} will be set to the number of
processes in coordinate direction {\tt i}. For {\tt dims(i)} not set by
the user, {\tt dims(i)} will be ordered (MAXIMUM, ..., MINIMUM). Array
{\tt dims(*)} is suitable for use as input to routine \func{MPI\_CART}.
%
\section{A simple example}
%
The example in figure \ref{poisson} shows how the grid definition and
inquiry functions can be used in an application program. A partial
differential equation, for example the Poisson equation, is to be
solved on a rectangular domain.
First the processes organize themselves in a two--dimensional
structure. Each process then inquires for the ranks of its
neighbors in the four directions.
The numerical problem is solved by an iterative method, the details
of which are hidden in the subroutine {\tt relax}.

In each relaxation step each process computes new values for the 
solution grid function at all points owned by the
process. Then the values at interprocess boundaries have to be
exchanged with neighboring processes.
For example, the exchange subroutine might contain a call like
\func{MPI\_SEND(...,neigh\_rank(1),...)} to send updated values to the 
left--hand neighbor (i-1,j).
Note that there is only local communication in this exchange operation.

\begin{figure}
\begin{tabbing}
=====\===\======\kill
%
\>integer ndims, num\_neigh                                           \\
\>logical reorder                                                     \\
\>parameter (ndims=2, num\_neigh=4, reorder=.true.)                   \\
\>integer comm, comm\_cart, dims(ndims), neigh\_def(2),
          neigh\_rank(num\_neigh)                                     \\
\>integer own\_position(ndims), period(ndims), i, j, rank             \\
\>real$\ast$8 u(0:101,0:101), f(0:101,0:101)                          \\
\>data dims / ndims $\ast$ 0 /                                        \\
\>comm = MPI\_COMM\_ALL                                               \\
C  \hspace{5mm} Set process grid size and periodicity                 \\
\>call MPI\_MAKDIM(comm, ndims, dims)                                 \\
\>period(1) = MPI\_PER                                                \\
\>period(2) = MPI\_PER                                                \\
C  \hspace{5mm} Create a grid structure in ALL group and inquire
                                                  about own position  \\
\>call MPI\_CART (comm, comm\_cart, ndims, dims, period, reorder,
                  rank)                                               \\
\>call MPI\_INQCART (comm\_cart, ndims, dims, period, own\_position)  \\
C  \hspace{5mm} Look up the ranks for the neighbors.
                               Own process coordinates are (i,j).     \\
C  \hspace{5mm} Neighbors are (i--1,j), (i+1,j), (i,j--1), (i,j+1)    \\
\>i = own\_position(1)                                                \\
\>j = own\_position(2)                                                \\
\>neigh\_def(1) = i--1                                                \\
\>neigh\_def(2) = j                                                   \\
\>call MPI\_INQRANK (comm\_cart, neigh\_def, neigh\_rank(1))          \\
\>neigh\_def(1) = i+1                                                 \\
\>neigh\_def(2) = j                                                   \\
\>call MPI\_INQRANK (comm\_cart, neigh\_def, neigh\_rank(2))          \\
\>neigh\_def(1) = i                                                   \\
\>neigh\_def(2) = j--1                                                \\
\>call MPI\_INQRANK (comm\_cart, neigh\_def, neigh\_rank(3))          \\
\>neigh\_def(1) = i                                                   \\
\>neigh\_def(2) = j+1                                                 \\
\>call MPI\_INQRANK (comm\_cart, neigh\_def, neigh\_rank(4))          \\
C  \hspace{5mm} Initialize the grid functions and start the
                                                        iteration     \\
\>call init (u, f)                                                    \\
\>do 10 it=1,100                                                      \\
\>\>call relax (u, f)                                                 \\
C  \hspace{5mm} Exchange data with neighbor processes                 \\
\>\>call exchange (u, comm\_cart, neigh\_rank, num\_neigh)            \\
10 \>continue                                                         \\
\>call output (u)                                                     \\
\>end                                                                 \\
\end{tabbing}
\caption{Set--up of process structure for two--dimensional
parallel Poisson solver.}
\label{poisson}
\end{figure}
From owner-mpi-ptop@CS.UTK.EDU Wed Jan 19 13:41:54 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (8.6.4/2.8t-netlib)
	id NAA05049; Wed, 19 Jan 1994 13:41:54 -0500
Received: from localhost by CS.UTK.EDU with SMTP (8.6.4/2.8s-UTK)
	id NAA20892; Wed, 19 Jan 1994 13:42:18 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 19 Jan 1994 13:42:15 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from macaw.fsl.noaa.gov by CS.UTK.EDU with SMTP (8.6.4/2.8s-UTK)
	id NAA20875; Wed, 19 Jan 1994 13:42:06 -0500
Received: by macaw.fsl.noaa.gov (4.1/SMI-4.1)
	id AA27582; Wed, 19 Jan 94 11:41:57 MST
Date: Wed, 19 Jan 94 11:41:57 MST
From: hender@macaw.fsl.noaa.gov (Tom Henderson)
Message-Id: <9401191841.AA27582@macaw.fsl.noaa.gov>
To: mpi-ptop@CS.UTK.EDU
Subject: BUG FIX in MPI_MAKE_DIMS()


Hi all,

I have found and fixed a bug in MPI_MAKE_DIMS().  If you have my old version
(dated 11/24/93) please let me know and I will forward the new source to you.  
I have sent the new version to Tony and Nathan so you can also get it from 
them if you like.  

Sorry!

Tom Henderson
NOAA Forecast Systems Laboratory

From owner-mpi-ptop@CS.UTK.EDU Mon Feb 28 13:27:05 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (8.6.4/2.8t-netlib)
	id NAA10904; Mon, 28 Feb 1994 13:27:04 -0500
Received: from localhost by CS.UTK.EDU with SMTP (8.6.4/2.8s-UTK)
	id NAA05993; Mon, 28 Feb 1994 13:25:49 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Mon, 28 Feb 1994 13:25:45 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from Aurora.CS.MsState.Edu by CS.UTK.EDU with SMTP (8.6.4/2.8s-UTK)
	id NAA05976; Mon, 28 Feb 1994 13:25:42 -0500
Received:  by Aurora.CS.MsState.Edu (4.1/6.0s-FWP);
	   id AA05493; Mon, 28 Feb 94 12:24:39 CST
Date: Mon, 28 Feb 94 12:24:39 CST
From: Tony Skjellum <tony@Aurora.CS.MsState.Edu>
Message-Id: <9402281824.AA05493@Aurora.CS.MsState.Edu>
To: mpi-ptop@CS.UTK.EDU
Subject: Clarifications of MPI_MAKE_CART


----- Begin Included Message -----

From owner-mpi-core@CS.UTK.EDU Mon Feb 28 11:25:35 1994
X-Resent-To: mpi-core@CS.UTK.EDU ; Mon, 28 Feb 1994 12:14:59 EST
Date: Mon, 28 Feb 94 11:13:41 CST
From: Tony Skjellum <tony@Aurora.CS.MsState.Edu>
To: Rolf.Hempel@gmd.de, mpi-core@CS.UTK.EDU
Subject: Clarifications of MPI_MAKE_CART
Content-Length: 1124

Rolf, hello.

We need to make the following clarification on MPI_MAKE_CART and
MPI_MAKE_GRAPH.  These functions are analogous to MPI_COMM_MAKE, except
that they also attach the topology capability to the output communicator.

The issue of caching semantics therefore arises.  I propose that caching
of attributes not be carried across by these functions, so they are
symmetric with MPI_COMM_MAKE, and that this be explicitly stated in the
text of section 6.5.

I consider this to be strictly an interpretation of what we have already
agreed upon, and invite your comments.  

-Tony

PS Can you remind me why we do not have a means to attach a topology to
an already existing communicator, which could be a non-communicating
collective operation?  This is mainly curiosity at this point.  I 
recognize that the functionality of MPI_MAKE_GRAPH/CART is superior
to that, but the functionality I mention is also without need of
communication, and analogous to adding other attributes to a communicator
(that is to say, user-defined topology functions could provide this
type of capability, so why not the MPI-defined approach?)


----- End Included Message -----

From owner-mpi-ptop@CS.UTK.EDU Wed Mar 16 17:56:56 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id RAA06658; Wed, 16 Mar 1994 17:56:55 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id RAA26755; Wed, 16 Mar 1994 17:56:21 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Wed, 16 Mar 1994 17:56:19 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from canidae.cpsacs.msu.edu by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id RAA26745; Wed, 16 Mar 1994 17:56:17 -0500
Received: from pit-bull (pit-bull.cps.msu.edu) by canidae.cpsacs.msu.edu (5.0/SMI-SVR4)
	id AA22241; Wed, 16 Mar 1994 17:56:24 +0500
Received: by pit-bull (5.0/SMI-SVR4)
	id AA10316; Wed, 16 Mar 1994 17:56:23 +0500
Date: Wed, 16 Mar 1994 17:56:23 +0500
From: kalns@canidae.cps.msu.edu
Message-Id: <9403162256.AA10316@pit-bull>
To: mpi-collcomm@CS.UTK.EDU, mpi-ptop@CS.UTK.EDU
Subject: help with p.tops and collcomm
Cc: kalns@canidae.cps.msu.edu

Hello -

I have a question that relates to virtual topolgies and
collective communication.  Here is the situation:
Suppose that we create two virtual processor grids, 
a 2x3 and a 3x2, by means of MPI_MAKE_CART for each.
The result will be two communicators, say 'comm_2x3' and
'comm_3x2'.  Next I want to perform an MPI_ALLTOALL
from the processes in 'comm_2x3' to the ones in 'comm_3x2'.
This is not possible since MPI_ALLTOALL takes one 
(and only one) communicator as an argument. I looked at
'intercommunicators' but those can't be used in collective
communications. 

Is there a way aroud this, or am I misreading something?

Thanks in advance,
Edgar

----------------------------------------------------------------------
| Edgar T. Kalns		     | Internet: kalns@cps.msu.edu   |
| Advanced Computing Systems Lab     | Tel: (517) 353-8666           |
| A-714 Wells Hall		     |			             |
| Department of Computer Science     | 	                             |
| Michigan State University          |                               |
| East Lansing, MI 48824, USA        |		                     | 
----------------------------------------------------------------------


From owner-mpi-ptop@CS.UTK.EDU Thu Mar 17 02:00:13 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id CAA07803; Thu, 17 Mar 1994 02:00:13 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id CAA28253; Thu, 17 Mar 1994 02:00:21 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 17 Mar 1994 02:00:20 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id CAA28236; Thu, 17 Mar 1994 02:00:15 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA04717
  (5.65c8/IDA-1.4.4); Thu, 17 Mar 1994 08:00:20 +0100
Received: by f1neuman.gmd.de (AIX 3.2/UCB 5.64/4.03)
          id AA17501; Thu, 17 Mar 1994 08:00:29 GMT
Date: Thu, 17 Mar 1994 08:00:29 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9403170800.AA17501@f1neuman.gmd.de>
To: kalns@cps.msu.edu
Subject: Re:  help with p.top and collcomm
Cc: geist@msr.epm.ornl.gov, gmap10@f1neuman.gmd.de, mpi-collcomm@CS.UTK.EDU,
        mpi-ptop@CS.UTK.EDU

Edgar,

I agree with Al that there is no direct way of doing what you would
like to do. The only possibility I see is to merge the two communicators
(i.e. the two groups) first, and do an MPI_ALLTOALL in the combined
group. Since you can trace back the process ranks in the original groups
(and, therefore, also their topological coordinates), you know the
addresses in the combined group. The major drawback of this solution,
however, is that half of the messages will be empty, because they go
to processes in the same original group. So, there seems to be no
satisfactory solution to the problem.

The situation is different if the two communicators are built on the
same process group (only the topological structure is different). Then,
you can use MPI_ALLTOALL on one of the communicators, and use
the available coordinate translation functions for computing the
addresses. Since I don't know your application, I can't say whether
you really need to use disjoint process groups for the two
topologies.

I'm afraid that's all MPI can do for you in this situation.

- Rolf
From owner-mpi-ptop@CS.UTK.EDU Thu Mar 17 10:57:58 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id KAA12392; Thu, 17 Mar 1994 10:57:58 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id KAA15463; Thu, 17 Mar 1994 10:58:08 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 17 Mar 1994 10:58:06 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from cray.com by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id KAA15456; Thu, 17 Mar 1994 10:58:05 -0500
Received: from teak18.cray.com by cray.com (Bob mailer 1.2)
	id AA28768; Thu, 17 Mar 94 09:57:52 CST
Received: by teak18.cray.com
	id AA13124; 4.1/CRI-5.6; Thu, 17 Mar 94 09:57:32 CST
From: par@teak.cray.com (Peter Rigsbee)
Message-Id: <9403171557.AA13124@teak18.cray.com>
Subject: isend/irecv question
To: mpi-ptop@CS.UTK.EDU
Date: Thu, 17 Mar 94 9:57:28 CST
X-Mailer: ELM [version 2.3 PL11b-CRI]

Hi, folks.  I've been looking at a rough implementation of MPI that someone
developed for the Cray T3D, on top of our PVM.  It only implements a few
MPI functions.  I think I've found a problem in the implementation of
MPI_ISEND and MPI_IRECV, but thought I'd verify this.

My 2-task test case (written in C yet calling the Fortran MPI routines,
so bear with me, please) has the following:

    if (mype == 0) {
       MPI_ISEND (a, &ilenwords, &zero, &one, &tag10, &world, &statobj1, &err);
       MPI_IRECV (b, &ilenwords, &zero, &one, &tag20, &world, &statobj2, &err);
       MPI_WAIT (&statobj1, &status, &err);
       MPI_WAIT (&statobj2, &status, &err);
    } else {
       MPI_ISEND (c, &ilenwords, &zero, &zero, &tag20, &world, &statobj1, &err);
       MPI_IRECV (d, &ilenwords, &zero, &zero, &tag10, &world, &statobj2, &err);
       MPI_WAIT (&statobj1, &status, &err);
       MPI_WAIT (&statobj2, &status, &err);
    }

zero contains 0, one contains 1, and world contains MPI_COMM_WORLD.  (Don't 
worry about the datatype being zero.  This implementation is homogeneous
and ignores that field.)

My question for you is:
	
	is this a sequence of calls that should be safe according to MPI?
	
I believe it is.  But this sequence deadlocks in this implementation.

If I swap the MPI_WAIT calls to:

    if (mype == 0) {
       MPI_ISEND (a, &ilenwords, &zero, &one, &tag10, &world, &statobj1, &err);
       MPI_IRECV (b, &ilenwords, &zero, &one, &tag20, &world, &statobj2, &err);
       MPI_WAIT (&statobj2, &status, &err);
       MPI_WAIT (&statobj1, &status, &err);
    } else {
       MPI_ISEND (c, &ilenwords, &zero, &zero, &tag20, &world, &statobj1, &err);
       MPI_IRECV (d, &ilenwords, &zero, &zero, &tag10, &world, &statobj2, &err);
       MPI_WAIT (&statobj2, &status, &err);
       MPI_WAIT (&statobj1, &status, &err);
    }

the code no longer deadlocks.  (It then runs into other implemenation-related
problems...)

Before I go tell the developer he has a bug, I wanted to be more confident 
that it really is one!

Thanks for your help.

	- Peter
From owner-mpi-ptop@CS.UTK.EDU Fri Mar 18 05:17:35 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id FAA18261; Fri, 18 Mar 1994 05:17:35 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id FAA09985; Fri, 18 Mar 1994 05:17:01 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 18 Mar 1994 05:17:00 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id FAA09943; Fri, 18 Mar 1994 05:16:56 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA12212
  (5.65c8/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Fri, 18 Mar 1994 11:16:51 +0100
Received: by f1neuman.gmd.de (AIX 3.2/UCB 5.64/4.03)
          id AA17520; Fri, 18 Mar 1994 11:17:00 GMT
Date: Fri, 18 Mar 1994 11:17:00 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9403181117.AA17520@f1neuman.gmd.de>
To: par@teak.cray.com
Subject: Re: isend/irecv question
Cc: gmap10@f1neuman.gmd.de, mpi-ptop@CS.UTK.EDU

Peter,

it seems you sent your note to the wrong mail reflector. mpi-ptop
stands for process topologies, not for point-to-point. Anyway, I looked
at your example program, and I agree with you that a valid MPI
implementaion must not produce a deadlock. It's most certainly a
bug in the implementation.

- Rolf
From owner-mpi-ptop@CS.UTK.EDU Sat Mar 19 10:20:14 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id KAA26459; Sat, 19 Mar 1994 10:20:13 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id KAA22451; Sat, 19 Mar 1994 10:20:27 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Sat, 19 Mar 1994 10:20:27 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from Aurora.CS.MsState.Edu by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id KAA22360; Sat, 19 Mar 1994 10:19:46 -0500
Received:  by Aurora.CS.MsState.Edu (4.1/6.0s-FWP);
	   id AA09367; Sat, 19 Mar 94 09:17:52 CST
Date: Sat, 19 Mar 94 09:17:52 CST
From: Tony Skjellum <tony@Aurora.CS.MsState.Edu>
Message-Id: <9403191517.AA09367@Aurora.CS.MsState.Edu>
To: mpi-collcomm@CS.UTK.EDU, mpi-ptop@CS.UTK.EDU, kalns@canidae.cps.msu.edu
Subject: Re: help with p.tops and collcomm

Inter-communicator collective operations are not currently supported by MPI,
though this can be layered on top of MPI in a reasonable fashion.

So, you are correct, but the problem is fixable by doing an inter-communicator
merge, provided the groups don't overlap.  If they overlap, further systematic
steps are needed to layer correct code on top of MPI for this.  Also note
that intercommunicators do not currently support MPI-defined topology 
capabilities.

-Tony Skjellum



----- Begin Included Message -----

From owner-mpi-collcomm@CS.UTK.EDU Wed Mar 16 17:02:11 1994
X-Resent-To: mpi-collcomm@CS.UTK.EDU ; Wed, 16 Mar 1994 17:57:11 EST
Date: Wed, 16 Mar 1994 17:56:23 +0500
From: kalns@canidae.cps.msu.edu
To: mpi-collcomm@CS.UTK.EDU, mpi-ptop@CS.UTK.EDU
Subject: help with p.tops and collcomm
Cc: kalns@canidae.cps.msu.edu
Content-Length: 1180

Hello -

I have a question that relates to virtual topolgies and
collective communication.  Here is the situation:
Suppose that we create two virtual processor grids, 
a 2x3 and a 3x2, by means of MPI_MAKE_CART for each.
The result will be two communicators, say 'comm_2x3' and
'comm_3x2'.  Next I want to perform an MPI_ALLTOALL
from the processes in 'comm_2x3' to the ones in 'comm_3x2'.
This is not possible since MPI_ALLTOALL takes one 
(and only one) communicator as an argument. I looked at
'intercommunicators' but those can't be used in collective
communications. 

Is there a way aroud this, or am I misreading something?

Thanks in advance,
Edgar

----------------------------------------------------------------------
| Edgar T. Kalns		     | Internet: kalns@cps.msu.edu   |
| Advanced Computing Systems Lab     | Tel: (517) 353-8666           |
| A-714 Wells Hall		     |			             |
| Department of Computer Science     | 	                             |
| Michigan State University          |                               |
| East Lansing, MI 48824, USA        |		                     | 
----------------------------------------------------------------------




----- End Included Message -----

From owner-mpi-ptop@CS.UTK.EDU Thu Mar 24 11:06:44 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id LAA11881; Thu, 24 Mar 1994 11:06:44 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id LAA10237; Thu, 24 Mar 1994 11:05:13 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 24 Mar 1994 11:05:00 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from super.super.org by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id LAA10201; Thu, 24 Mar 1994 11:04:58 -0500
Received: from b125.super.org by super.super.org (4.1/SMI-4.1)
	id AA23122; Thu, 24 Mar 94 11:05:05 EST
Date: Thu, 24 Mar 94 11:05:05 EST
From: lederman@super.org (Steve Huss-Lederman)
Message-Id: <9403241605.AA23122@super.super.org>
Received: by b125.super.org (4.1/SMI-4.1)
	id AA05462; Thu, 24 Mar 94 11:05:04 EST
To: mpi-ptop@CS.UTK.EDU
Subject: logicals in MPI_Make_cart
Cc: otto@cse.ogi.edu

Howdy All,

I am writing MPI code and found a problem with one of my routines.  It
uses MPI_Make_cart (p. 162 of 2/22/94 draft).  The 4th parameter is
periods.  This is an integer in both the C and Fortran bindings but is
refered to as a logical.  The example on p. 174 uses the fortran
.TRUE. and .FALSE. to assign these variables and they are declared as
logical.  Clearly this needs to be fixed, but is not my real worry.  I
cannot find in Chapter 2 any discussion of how the integers which act
as logicals can be assigned.  I also see no definitions in Annex A for
defined constants.  How this will be assigned is not completely clear
to me.  In C, false is 0 and true is any other value.  I checked the
two implementations I know of: ANL/MSU and IBM.  The first ignores the
period right now so they did nothing.  The second I do not have access
to the source code.

Am I seeing this correctly as a problem (or have I been coding too
long :-)?  Any ideas?

Steve
From owner-mpi-ptop@CS.UTK.EDU Fri Mar 25 02:48:19 1994
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.8t-netlib)
	id CAA15252; Fri, 25 Mar 1994 02:48:19 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id CAA08180; Fri, 25 Mar 1994 02:47:57 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 25 Mar 1994 02:47:53 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from gmdzi.gmd.de by CS.UTK.EDU with SMTP (cf v2.8s-UTK)
	id CAA08135; Fri, 25 Mar 1994 02:47:48 -0500
Received: from f1neuman.gmd.de (f1neuman) by gmdzi.gmd.de with SMTP id AA05740
  (5.65c8/IDA-1.4.4 for <mpi-ptop@cs.utk.edu>); Fri, 25 Mar 1994 08:47:51 +0100
Received: by f1neuman.gmd.de (AIX 3.2/UCB 5.64/4.03)
          id AA16992; Fri, 25 Mar 1994 08:48:02 GMT
Date: Fri, 25 Mar 1994 08:48:02 GMT
From: Rolf.Hempel@gmd.de (Rolf Hempel)
Message-Id: <9403250848.AA16992@f1neuman.gmd.de>
To: lederman@b125.super.org
Subject: logicals in MPI
Cc: gmap10@f1neuman.gmd.de, mpi-ptop@CS.UTK.EDU, otto@iliamna.cse.ogi.edu

Steve,

last week I had found the same problem with the declaration of logicals
in MPI. So, I changed all the Fortran declarations for those variables
to LOGICAL, in analogy to the communicators chapter. I agree with you
that there should be some text on logicals, and especially on their
treatment in C, in an introductory chapter.

- Rolf
From owner-mpi-ptop@CS.UTK.EDU Sat Jan 28 21:47:09 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id VAA17665; Sat, 28 Jan 1995 21:47:08 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id VAA03926; Sat, 28 Jan 1995 21:47:10 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Sat, 28 Jan 1995 21:47:08 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id VAA03799; Sat, 28 Jan 1995 21:46:00 -0500
Received: by zingo (920330.SGI/YDL1.4-910307.16)
	id AA08103(zingo); Sat, 28 Jan 95 21:45:02 -0500
Received:  by juliet (5.52/cliff's joyful mailer #2)
	id AA00608(juliet); Sat, 28 Jan 95 21:45:00 EST
Date: Sat, 28 Jan 95 21:45:00 EST
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <9501290245.AA00608@juliet>
To: kalns@canidae.cps.msu.edu, mpi-ptop@CS.UTK.EDU, mpi-collcomm@CS.UTK.EDU
Subject: MPPOI'95 - CFP



                          Call for Papers
                 The Second International Conference on 
    MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS (MPPOI)

                           October 23-24, 1995
                           San  Antonio, Texas 

                             Sponsored by:
           ACM Special Interest Group on Architecture (SIGARCH)
                   The Optical Society of America (OSA)
      Institute for Electrical and Electronic Engineers (IEEE - pending) 
                NSF - National Science Foundation (pending) 

The second annual conference on Massively Parallel Processing Architectures 
using Optical Interconnections (MPPOI'95) will be held on Oct. 23-24, 1995 
in San-Antonio, Texas. The Conference will focus on the potential for using 
optical interconnections in massively parallel processing systems, and their 
effect on system and algorithm design. Optics offer many benefits for 
interconnecting large numbers of processing elements, but may require us to 
rethink how we build parallel computer systems and communication networks, 
and how we write applications.  Fully exploring the capabilities of optical 
interconnection networks requires an interdisciplinary effort.  It is 
critical that researchers in all areas of the field are aware of each 
other's work and results. The intent of MPPOI is to assemble the leading 
researchers and to build towards a synergetic approach to MPP architectures, 
optical interconnections, operating systems, and software development.

The topics of interest include but are not limited to the following:
      Optical interconnections
      Reconfigurable Architectures
      Embedding and mapping of applications and algorithms
      Packaging and layout of optical interconnections
      Electro-optical, and opto-electronic components 
      Relative merits of optical technologies (free-space, fibers, wave guides)
      Passive optical elements 
      Algorithms and applications exploiting MPP-OI
      Data distribution and partitioning 
      Characterizing parallel applications exploiting MPP-OI
      Cost/performance studies

The conference will feature invited speakers, followed by several sessions of
submitted papers, and will conclude with a panel discussion. Authors are 
invited to submit manuscripts which demonstrate original unpublished research 
in areas of computer architecture and optical interconnections. Papers 
submitted must not be under considerations for another conference. 

SUBMITTING PAPERS:  All papers will be reviewed by at least 2 members of
the program committee.  Send eight (8) copies of the complete paper 
(not to exceed 15 single spaced, single sided pages) to:

Dr. Eugen Schenfeld
MPPOI'95 Conference Chair
NEC Research Institute
4 Independence Way
Princeton, NJ 08540, USA
(voice) (609)951-2742
(fax)   (609)951-2482
email:  MPPOI@RESEARCH.NJ.NEC.COM

============================================================================
DEADLINE: Papers must be sent so that they arrive on or before April 1, 1995
============================================================================

Manuscripts must be received by April  1st, 1995.  Due to the 
large number of anticipated submissions manuscripts arriving later than
the above date risk rejection. Notification of review decisions will 
be mailed by July 1st, 1995.  Camera ready papers are due 
August 1st, 1995.  Fax or electronic submissions will not be
considered. Proceedings will be published by the IEEE CS Press and will 
be available at the symposium.


FOR MORE INFORMATION: Please write (email) to the Conference Chair.


PROGRAM COMMITTEE:

Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. of CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New-York University, New-York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Computer Systems Research Lab., Bell Labs., Holmdel, NJ
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of EE, Purdue University, West Lafayette, IN
Lennart Johnsson, Div. of Applied Science, Harvard U. and TMC, Cambridge, MA
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Philippe Lalanne, Inst. D'Optique, Orsay, France
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
Anthonie Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO 
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

===========================================================


        Eugen Schenfeld 

        NEC Research Institute
        4 Independence Way
        Princeton, NJ 08540

phone:  609 951 2742
  fax:  609 951 2482
email:  eugen@research.nj.nec.com (Inet)


From owner-mpi-ptop@CS.UTK.EDU Tue Feb 14 21:58:38 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id VAA20484; Tue, 14 Feb 1995 21:58:37 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id VAA13233; Tue, 14 Feb 1995 21:58:40 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 14 Feb 1995 21:58:39 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id VAA13226; Tue, 14 Feb 1995 21:58:36 -0500
Received: by zingo (920330.SGI/YDL1.4-910307.16)
	id AA15396(zingo); Tue, 14 Feb 95 21:53:04 -0500
Received:  by juliet (5.52/cliff's joyful mailer #2)
	id AA23938(juliet); Tue, 14 Feb 95 20:59:11 EST
Date: Tue, 14 Feb 95 20:59:11 EST
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <9502150159.AA23938@juliet>
To: mppoi@research.nj.nec.com
Subject: MPPOI'95 - CFP

 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
============================================================================
DEADLINE: PAPERS MUST BE SENT SO THAT THEY ARRIVE ON OR BEFORE APRIL 1, 1995
============================================================================
 



                          Call for Papers
                 The Second International Conference on 
    MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS (MPPOI)

                           October 23-24, 1995
                           San  Antonio, Texas 

                             Sponsored by:
           ACM Special Interest Group on Architecture (SIGARCH)
                   The Optical Society of America (OSA)
          The International Society for Optical Engineering (SPIE)
         IEEE CS TCCA (Technical Committee on Computer Architecture) 
                NSF - National Science Foundation (pending) 

The second annual conference on Massively Parallel Processing Architectures 
using Optical Interconnections (MPPOI'95) will be held on Oct. 23-24, 1995 
in San-Antonio, Texas. The Conference will focus on the potential for using 
optical interconnections in massively parallel processing systems, and their 
effect on system and algorithm design. Optics offer many benefits for 
interconnecting large numbers of processing elements, but may require us to 
rethink how we build parallel computer systems and communication networks, 
and how we write applications.  Fully exploring the capabilities of optical 
interconnection networks requires an interdisciplinary effort.  It is 
critical that researchers in all areas of the field are aware of each 
other's work and results. The intent of MPPOI is to assemble the leading 
researchers and to build towards a synergetic approach to MPP architectures, 
optical interconnections, operating systems, and software development.

The topics of interest include but are not limited to the following:
      Optical interconnections
      Reconfigurable Architectures
      Embedding and mapping of applications and algorithms
      Packaging and layout of optical interconnections
      Electro-optical, and opto-electronic components 
      Relative merits of optical technologies (free-space, fibers, wave guides)
      Passive optical elements 
      Algorithms and applications exploiting MPP-OI
      Data distribution and partitioning 
      Characterizing parallel applications exploiting MPP-OI
      Cost/performance studies

The conference will feature invited speakers, followed by several sessions of
submitted papers, and will conclude with a panel discussion. Authors are 
invited to submit manuscripts which demonstrate original unpublished research 
in areas of computer architecture and optical interconnections. Papers 
submitted must not be under considerations for another conference. 

SUBMITTING PAPERS:  All papers will be reviewed by at least 2 members of
the program committee.  Send eight (8) copies of the complete paper 
(not to exceed 15 single spaced, single sided pages) to:

Dr. Eugen Schenfeld
MPPOI'95 Conference Chair
NEC Research Institute
4 Independence Way
Princeton, NJ 08540, USA
(voice) (609)951-2742
(fax)   (609)951-2482
email:  MPPOI@RESEARCH.NJ.NEC.COM

============================================================================
DEADLINE: Papers must be sent so that they arrive on or before April 1, 1995
============================================================================

Manuscripts must be received by April  1st, 1995.  Due to the 
large number of anticipated submissions manuscripts arriving later than
the above date risk rejection. Notification of review decisions will 
be mailed by July 1st, 1995.  Camera ready papers are due 
August 1st, 1995.  Fax or electronic submissions will not be
considered. Proceedings will be published by the IEEE CS Press and will 
be available at the conference.


FOR MORE INFORMATION: Please write (email) to the Conference Chair.


PROGRAM COMMITTEE:

Pierre Chavel, Institut d'Optique, Orsay, France
Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. of CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New-York University, New-York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Terabit Corp., Middletown, NJ
Oscar H. Ibarra, Department of Computer Science, UCSB, CA 
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of EE, Purdue University, West Lafayette, IN
Lennart Johnsson, Div. of Applied Science, Harvard U. and TMC, Cambridge, MA
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
Anthonie Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO 
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

===========================================================



        Eugen Schenfeld


From owner-mpi-ptop@CS.UTK.EDU Fri Feb 24 02:59:46 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id CAA17404; Fri, 24 Feb 1995 02:59:46 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id DAA10486; Fri, 24 Feb 1995 03:00:40 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 24 Feb 1995 03:00:39 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id DAA10466; Fri, 24 Feb 1995 03:00:37 -0500
Received: by zingo (920330.SGI/YDL1.4-910307.16)
	id AA13732(zingo); Fri, 24 Feb 95 02:56:37 -0500
Received:  by juliet (5.52/cliff's joyful mailer #2)
	id AA09338(juliet); Fri, 24 Feb 95 02:41:56 EST
Date: Fri, 24 Feb 95 02:41:56 EST
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <9502240741.AA09338@juliet>
To: mppoi@research.nj.nec.com
Subject: MPPOI'95 - CFP and INFO

 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
============================================================================
DEADLINE: PAPERS MUST BE SENT SO THAT THEY ARRIVE ON OR BEFORE APRIL 1, 1995
============================================================================
 



                          Call for Papers
                 The Second International Conference on 
    MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS (MPPOI)

                           October 23-24, 1995
                           San  Antonio, Texas 

                             Sponsored by:
           ACM Special Interest Group on Architecture (SIGARCH)
                   The Optical Society of America (OSA)
          The International Society for Optical Engineering (SPIE)
         IEEE CS TCCA (Technical Committee on Computer Architecture) 
                NSF - National Science Foundation (pending) 

The second annual conference on Massively Parallel Processing Architectures 
using Optical Interconnections (MPPOI'95) will be held on Oct. 23-24, 1995 
in San-Antonio, Texas. The Conference will focus on the potential for using 
optical interconnections in massively parallel processing systems, and their 
effect on system and algorithm design. Optics offer many benefits for 
interconnecting large numbers of processing elements, but may require us to 
rethink how we build parallel computer systems and communication networks, 
and how we write applications.  Fully exploring the capabilities of optical 
interconnection networks requires an interdisciplinary effort.  It is 
critical that researchers in all areas of the field are aware of each 
other's work and results. The intent of MPPOI is to assemble the leading 
researchers and to build towards a synergetic approach to MPP architectures, 
optical interconnections, operating systems, and software development.

The topics of interest include but are not limited to the following:
      Optical interconnections
      Reconfigurable Architectures
      Embedding and mapping of applications and algorithms
      Packaging and layout of optical interconnections
      Electro-optical, and opto-electronic components 
      Relative merits of optical technologies (free-space, fibers, wave guides)
      Passive optical elements 
      Algorithms and applications exploiting MPP-OI
      Data distribution and partitioning 
      Characterizing parallel applications exploiting MPP-OI
      Cost/performance studies

The conference will feature invited speakers, followed by several sessions of
submitted papers, and will conclude with a panel discussion. Authors are 
invited to submit manuscripts which demonstrate original unpublished research 
in areas of computer architecture and optical interconnections. Papers 
submitted must not be under considerations for another conference. 

SUBMITTING PAPERS:  All papers will be reviewed by at least 2 members of
the program committee.  Send eight (8) copies of the complete paper 
(not to exceed 15 single spaced, single sided pages) to:

Dr. Eugen Schenfeld
MPPOI'95 Conference Chair
NEC Research Institute
4 Independence Way
Princeton, NJ 08540, USA
(voice) (609)951-2742
(fax)   (609)951-2482
email:  MPPOI@RESEARCH.NJ.NEC.COM

============================================================================
DEADLINE: Papers must be sent so that they arrive on or before April 1, 1995
============================================================================

Manuscripts must be received by April  1st, 1995.  Due to the 
large number of anticipated submissions manuscripts arriving later than
the above date risk rejection. Notification of review decisions will 
be mailed by July 1st, 1995.  Camera ready papers are due 
August 1st, 1995.  Fax or electronic submissions will not be
considered. Proceedings will be published by the IEEE CS Press and will 
be available at the conference.


FOR MORE INFORMATION: Please write (email) to the Conference Chair.


PROGRAM COMMITTEE:

Pierre Chavel, Institut d'Optique, Orsay, France
Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. of CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New-York University, New-York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Terabit Corp., Middletown, NJ
Oscar H. Ibarra, Department of Computer Science, UCSB, CA 
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of EE, Purdue University, West Lafayette, IN
Lennart Johnsson, Aiken Comp. Lab, Harvard University, Cambridge, MA
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
Anthonie Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO 
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

===========================================================

***************************************************************************
TO GET THE MPPOI'94 PROC. (LAST YEAR'S), YOU CAN BUY IT FROM IEEE CS PRESS:
***************************************************************************
 
It is listing the 1994 MPPOI Proc. for sale at $35 for IEEE members or $70 
for non members. Details: ISBN 0-8186-5832-0 ; Catalog# 5830-02P. IEEE phone 
for orders: 1-800-CS-BOOKS (works only in USA).
 
In Europe:
 
IEEE Europe: 13, Avenue de l'Aquilon, B-1200 Brussels, BELGIUM
Phone: 32-2-770-21-98   Fax: 32-2-770-85-05

============================================================


        Eugen Schenfeld


From owner-mpi-ptop@CS.UTK.EDU Thu Mar 23 14:21:50 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id OAA23677; Thu, 23 Mar 1995 14:21:49 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id NAA00806; Thu, 23 Mar 1995 13:19:45 -0500
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Thu, 23 Mar 1995 13:19:43 EST
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id NAA00798; Thu, 23 Mar 1995 13:19:41 -0500
Received: by zingo (920330.SGI/YDL1.4-910307.16)
	id AA09315(zingo); Thu, 23 Mar 95 13:00:52 -0500
Received: by iris49 (5.52/cliff's joyful mailer #2)
	id AA28949(iris49); Thu, 23 Mar 95 12:32:37 EST
Date: Thu, 23 Mar 95 12:32:37 EST
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <9503231732.AA28949@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'95 - LAST CFP

 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
============================================================================
DEADLINE: PAPERS MUST BE SENT SO THAT THEY ARRIVE ON OR BEFORE APRIL 1, 1995
          FULL PAPER (up to 15 pages) should be sent.
============================================================================
 



                          Call for Papers
                 The Second International Conference on 
    MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS (MPPOI)

                           October 23-24, 1995
                           San  Antonio, Texas 

                             Sponsored by:
           ACM Special Interest Group on Architecture (SIGARCH)
                   The Optical Society of America (OSA)
          The International Society for Optical Engineering (SPIE)
         IEEE CS TCCA (Technical Committee on Computer Architecture) 
                NSF - National Science Foundation (pending) 

The second annual conference on Massively Parallel Processing Architectures 
using Optical Interconnections (MPPOI'95) will be held on Oct. 23-24, 1995 
in San-Antonio, Texas. The Conference will focus on the potential for using 
optical interconnections in massively parallel processing systems, and their 
effect on system and algorithm design. Optics offer many benefits for 
interconnecting large numbers of processing elements, but may require us to 
rethink how we build parallel computer systems and communication networks, 
and how we write applications.  Fully exploring the capabilities of optical 
interconnection networks requires an interdisciplinary effort.  It is 
critical that researchers in all areas of the field are aware of each 
other's work and results. The intent of MPPOI is to assemble the leading 
researchers and to build towards a synergetic approach to MPP architectures, 
optical interconnections, operating systems, and software development.

The topics of interest include but are not limited to the following:
      Optical interconnections
      Reconfigurable Architectures
      Embedding and mapping of applications and algorithms
      Packaging and layout of optical interconnections
      Electro-optical, and opto-electronic components 
      Relative merits of optical technologies (free-space, fibers, wave guides)
      Passive optical elements 
      Algorithms and applications exploiting MPP-OI
      Data distribution and partitioning 
      Characterizing parallel applications exploiting MPP-OI
      Cost/performance studies

The conference will feature invited speakers, followed by several sessions of
submitted papers, and will conclude with a panel discussion. Authors are 
invited to submit manuscripts which demonstrate original unpublished research 
in areas of computer architecture and optical interconnections. Papers 
submitted must not be under considerations for another conference. 

SUBMITTING PAPERS:  All papers will be reviewed by at least 2 members of
the program committee.  Send eight (8) copies of the complete paper 
(not to exceed 15 single spaced, single sided pages) to:

Dr. Eugen Schenfeld
MPPOI'95 Conference Chair
NEC Research Institute
4 Independence Way
Princeton, NJ 08540, USA
(voice) (609)951-2742
(fax)   (609)951-2482
email:  MPPOI@RESEARCH.NJ.NEC.COM

============================================================================
DEADLINE: Papers must be sent so that they arrive on or before April 1, 1995
============================================================================

Manuscripts must be received by April  1st, 1995.  Due to the 
large number of anticipated submissions manuscripts arriving later than
the above date risk rejection. Notification of review decisions will 
be mailed by July 1st, 1995.  Camera ready papers are due 
August 1st, 1995.  Fax or electronic submissions will not be
considered. Proceedings will be published by the IEEE CS Press and will 
be available at the conference.


FOR MORE INFORMATION: Please write (email) to the Conference Chair.


PROGRAM COMMITTEE:

Pierre Chavel, Institut d'Optique, Orsay, France
Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. of CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New-York University, New-York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Terabit Corp., Middletown, NJ
Oscar H. Ibarra, Department of Computer Science, UCSB, CA 
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of EE, Purdue University, West Lafayette, IN
Lennart Johnsson, Aiken Comp. Lab, Harvard University, Cambridge, MA
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Ashok V. Krishnamoorthy, AT&T Bell Laboratories, Holmdel NJ
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
Anthonie Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO 
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

===========================================================

***************************************************************************
TO GET THE MPPOI'94 PROC. (LAST YEAR'S), YOU CAN BUY IT FROM IEEE CS PRESS:
***************************************************************************
 
It is listing the 1994 MPPOI Proc. for sale at $35 for IEEE members or $70 
for non members. Details: ISBN 0-8186-5832-0 ; Catalog# 5830-02P. IEEE phone 
for orders: 1-800-CS-BOOKS (works only in USA).
 
In Europe:
 
IEEE Europe: 13, Avenue de l'Aquilon, B-1200 Brussels, BELGIUM
Phone: 32-2-770-21-98   Fax: 32-2-770-85-05

============================================================


        Eugen Schenfeld


From owner-mpi-ptop@CS.UTK.EDU Sat Jul 15 15:33:29 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id PAA18172; Sat, 15 Jul 1995 15:33:29 -0400
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id PAA19175; Sat, 15 Jul 1995 15:40:24 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Sat, 15 Jul 1995 15:40:22 EDT
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id PAA19145; Sat, 15 Jul 1995 15:40:11 -0400
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id PAA07370(zingo); Sat, 15 Jul 1995 15:23:01 -0400
Received: by iris49 (5.52/cliff's joyful mailer #2)
	id AA02620(iris49); Sat, 15 Jul 95 14:58:46 EDT
Date: Sat, 15 Jul 95 14:58:46 EDT
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <9507151858.AA02620@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI '95 FINAL PROGRAM


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

PLEASE NOTE:
============

1) A limited number of rooms at a special rate are available at the Menger Hotel in
San Antonio. First come first served (details bellow). Students wishing to share
a room at the menger and need a roomate please email to: sakr@research.nj.nec.com

2) Please help the organizers by early registration with IEEE. You may fax the
registration form with a credit card number to IEEE (details below). This will
help to better estimate the number of participants and make the needed arrangements
for the social events (lunch, dinner, reception).

THE FOLLOWING IS IN LaTex Format. This message is 32K Bytes long (14 pages).
Other formats and for more information please email to mppoi@research.nj.nec.com

=================================================================================

\documentstyle[fullpage]{article}

\begin{document}

\begin{verbatim}
==========================================================================
                 The Second International Conference on
        MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS
===========================================================================

                          October 23-24, 1995
                              Menger Hotel
                        San-Antonio Texas,  USA

                             SPONSORED BY:
                         IEEE Computer Society
          IEEE Technical Committee on Computer Architecture (TCCA)

                          IN COOPERATION WITH:
           ACM Special Interest Group on Architecture (SIGARCH)
          The International Society for Optical Engineering (SPIE)
            The IEEE Lasers and Electro-optics Society (LEOS)
                   The Optical Society of America (OSA)

                        ADDITIONAL SUPPORT PROVIDED BY:
                  NSF - The National Science Foundation (pending)

========================================================================
                             ADVANCE PROGRAM
========================================================================

The Second International Conference on Massively Parallel Processing
Architectures using Optical Interconnections (MPPOI '95) is a continuation to 
a very successful first meeting held last year in Cancun, Mexico. This year we 
have an exciting program featuring eight invited talks from research and
industrial leaders in the fields of parallel computer systems, optical 
interconnections and technology, parallel applications and interconnection 
networks. We also have two panels with the participation of technological and 
academic experts, representing the current thoughts and trends of the field. 
And last, but not least, there are 34 regular papers accepted for presentation 
from authors all over the world. This rich and diverse program is sure to be 
most interesting and stimulate discussions and interactions among the 
researchers of this interdisciplinary field. The organizers of MPPOI 
strongly feel that massively parallel processing needs optical interconnections 
and optical interconnections need parallel processing. The Conference's focus 
is the possible use of optical interconnections for massively parallel 
processing systems, and their effect on system and algorithm design. Optics 
offers many benefits for interconnecting large numbers of processing elements, 
but may require us to rethink how we build parallel computer systems and 
communication networks, and how we write applications.  Fully exploring the 
capabilities of optical interconnection networks requires an interdisciplinary 
effort. It is critical that researchers from all related research areas are 
aware of each other's work and results. The intent of MPPOI is to assemble the 
leading researchers and to build towards a synergetic approach to MPP 
architectures, optical interconnections, operating systems, and software 
development.
\end{verbatim}
\newpage
\begin{verbatim}
*********************************************************************
                               LOCATION
*********************************************************************

SAN ANTONIO
American humorist and homespun philosopher Will Rogers once described San
Antonio as ``One of America's four unique cities". He had a natural instinct
for getting to the very essence of a subject, and his comment about San Antonio
is no exception. San Antonio truly is unique. From its founding in 1691 by
Spanish missionaries, San Antonio has grown from a sleepy little Texas pueblo
to the 9th largest city in the United States. Along the way it has been the
birthplace of the Texas revolution with the Battle of the Alamo in 1836.  It is
the new home of bioscience and hi-tech industry now. In all, over half a dozen
cultures, from Spanish and German to Lebanese and Greek, have impacted the
growth of San Antonio. And their influence is still evident in the architecture,
festivals, cuisine and customs which all contribute to the uniqueness and charm
of the city.

THE ALAMO
An old mission-fort, the Alamo, in San Antonio, has been called the "cradle of
Texas liberty." Its gallant defense and the horrible massacre of the more than
180 men who fought there inspired the cry, "Remember the Alamo!" Texas soldiers
shouted this at the battle of San Jacinto, which brought independence to Texas.

THE MENGER HOTEL
MPPOI '95 will be held in San Antonio's Menger Hotel, a historic landmark hotel.
It is next door to the Alamo, adjacent to Rivercenter Mall, the IMAX Theater and
River Walk and two blocks to the convention center. The hotel fronts Alamo Plaza
where the Sea World shuttle and sightseeing tours depart.

SPDP'95
For those that are interested in attending the SPDP'95: info. is available at
the following www cite: http://rabbit.cs.utsa.edu/Welcome.html. You must
register to SPDP'95 conference if you wish to attend it. The advance program
and other information may be obtain from the above location, or from:
Prof. Xiaodong Zhang, email: zhang@runner.utsa.edu , Phone: (210) 691-5541,
FAX: (210) 691-4437.

AIR TRANSPORTATION
United Airlines is the official airline of MPPOI '95. United will provide attendees 
round trip transportation to San Antonio on United, United Express or Shuttle by 
United scheduled service in the United States and Canada at fares of either 5% 
discount off any United, United Express or Shuttle by United published fares, 
including First Class, in effect when the tickets are purchased subject to all
applicable restrictions, or a 10% discount off applicable BUA, or like, fares 
in effect when tickets are purchased 7 days in advance. Reservations and schedule 
information may be obtained by calling the United Meetings desk at 1-800-521-4041 
and referencing Meeting ID Code 599XM.



ACCOMMODATION
The special MPPOI '95 Menger Hotel rate is US $90 for single or double.  Please
see the enclosed information for making your reservation directly with the hotel.

REGISTRATION
Please register to the conference using the attached form DIRECTLY with IEEE. 
TO HELP WITH THE PLANNING OF THE CONFERENCE PLEASE ALSO SEND email or fax, 
indicating the name(s) of people that register with IEEE and will attend 
(email: mppoi@research.nj.nec.com fax: +USA-609-951-2482 Att. Dr. Eugen Schenfeld).

LOCAL TRANSPORTATION
Star Shuttle provides van service from San Antonio International airport to the
Menger hotel for $6.00 per person each way. For more information and
reservations call +USA-(210)366-3183. Other transportation is available at the
airport, incl. taxi and busses.

CUSTOMS/PASSPORTS
It is suggested for those of other than US nationalities to check with a travel
agent and with an US consulate the requirements for VISA and passports to enter
the United States, as well as for US Customs regulations.

WEATHER & TIME
San Antonio's weather in late october ranges from low 60's to 70's Fahrenheit.
Climate is dry and perfect for sightseeing the many attractions the city and
surroundings have to offer.

JOIN US!
MPPOI'95 is in an ideal location to bring along family.  Your traveling
companions will be well entertained while you are participating in the
conference events.  For those that plan to spend the weekend before the
conference in San Antonio, we suggest to consult with a travel agent and with
the hotel for information on sightseeing and other local activities.  Please
note that the hotel rate is valid for the nights of Oct. 22-24. If you
wish to stay over a Sat. night (Oct. 21st), the hotel will try its best
to accommodate you with the same rate. Once you make a reservation,
please make sure to ask for the night of Oct. 21st. If not available,
you will be placed on a waiting lists. Chances are you may get it, but
currently it is not possible to confirm this.

==========================================
****** NSF TRAVEL SUPPORT (PENDING) ******
==========================================

The National Science Foundation (NSF) is considering to award travel support
for minority and female faculty members as well as for graduate students. This
travel award is pending final approval by the NSF and is available for authors
presenting papers at the MPPOI'95 conference. For details on the travel support
and to obtain a Request Form please contact (email, fax, or phone) the
Conference Chair at the above address.

\end{verbatim}
\newpage
\begin{verbatim}

STEERING COMMITTEE
==================

J. Goodman, Stanford University		     
L. Johnsson, University of Houston
S. Lee, University of California 	     
R. Melhem, University of Pittsburgh
E. Schenfeld, NEC Research Institute (Chair) 
P. Wang, George Mason University

CONFERENCE CHAIR:
================

        Dr. Eugen Schenfeld             (voice) (609)951-2742
        NEC Research Institute          (fax)   (609)951-2482
        4 Independence Way              email: MPPOI@RESEARCH.NJ.NEC.COM
        Princeton, NJ 08540, USA 

PUBLICITY CHAIR:   D. Quammen, George Mason University.
================

LOCAL ARRANGEMENTS CHAIR:  X. Zhang, University of Texas at San Antonio.
========================

PROGRAM COMMITTEE:
=================

Pierre Chavel, Institut d'Optique, Orsay, France
Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. for CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New York University, New York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Terabit Corp., Middletown, NJ
Oscar H. Ibarra, Department of Computer Science, UCSB, CA
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of ECE, Purdue University, West Lafayette, IN
Lennart Johnsson, Dept. of Computer Science, University of Houston, Houston TX
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Ashok V. Krishnamoorthy, AT&T Bell Laboratories, Holmdel NJ
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
A. B. Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

SESSION CHAIRS
==============

P. Dowd, State University of New York at Buffalo
E. E. E. Frietman, Delft University of Technology, The Netherlands
R. Kostuk, University of Arizona at Tucson
A. Krishnamoorthy, AT&T Bell Laboratories
S. Levitan, University of Pittsburgh
Y. Li, NEC Research Institut
A. Louri, University of Arizona at Tucson
P. Wang, George Mason University

PANEL MODERATORS
================

E. E. E. Frietman, Delft University of Technology, The Netherlands
Y. Li, NEC Research Institute

INVITED SPEAKERS
================
Michael Flynn, Stanford University
G. Fox, Northeast Parallel Architectures Center at Syracus University
S. L. Johnsson, University of Houston
H. S. Hinton, University of Colorado at Boulder
Alan Huang, Terabit Corp.
H. T. Kung, Harvard University
D. Miller, AT&T Bell Labs.
B. Smith, Tera Computers Corp.

========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
_____________________________________________________________________

                      MPPOI '95 PROGRAM SCHEDULE
_____________________________________________________________________

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
***** INVITED TALKS: 40 Minutes. REGULAR TALKS: 20 Minutes *****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

========================================
SUNDAY, OCTOBER 22, 1995
========================================

6:00 PM - 7:30 PM
REGISTRATION 

========================================
Monday, October 23, 1995
========================================

7:00 AM - 8:00 AM       
CONTINENTAL BREAKFAST 
________________________________________

7:00 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:00 AM - 8:20 AM
OPENING REMARKS
Eugen Schenfeld, NEC Research Institute

8:20 AM - 10:00 AM
Session I
Chair: R. Kostuk, University of Arizona at Tucson

Large-Scale ATM Switches for Data Communications: Are These Switches
Limited by Interconnect, Memory or Else?
H. T. Kung, Harvard University (INVITED) 

Design Issues for Through-Wafer Optoelectronic Multicomputer Interconnects
P. May, N. M. Jokerst, D. S. Wills, S. Wilkinson, M. Lee, O. Vendier, S. Bond,
Z. Hou, G. Dagnall, M. A. Brooke, A. Brown, Georgia Institute of Technology

Design of a Terabit Free-Space Photonic Backplane for Parallel Computing
T. H. Szymanski, and  H. S. Hinton, McGill University and University of Colorado

Optical Interconnection Network for Massively Parallel Processors 
Using Beam-Steering Vertical Cavity Surface-Emitting Lasers
L. Fan, and M. C. Wu, University of California at Los Angeles;
H. C. Lee. and P. Grodzinski, Motorola Inc.
________________________________________

10:00 AM - 10:30 AM     
MID-MORNING BREAK
________________________________________

10:30 AM - 1:00 PM
PARALLEL SESSIONS: II AND III
_________________________________________

10:30 AM - 1:00 PM
Session II 
Chair: A. Krishnamoorthy, AT&T Bell Laboratories

The Role of Representation in Optimizing a Computer Architecture
Michael Flynn, Stanford University (INVITED)

An Evaluation of Communication Protocols for Star-Coupled
Multidimensional WDM Networks for Multiprocessors
K. R. Desai, and K. Ghose, State University of New York at Binghamton

Small Depth Beam-Steered Optical Interconnect
M. Murdocca, H. R. Nahata, and Y. Zhou, Rutgers University

Optical Fiber Interconnection System for Massively Parallel Processor Arrays
Y.-M. Zhang, X.-Q. He, G. Zhou, W.-Y. Liu, Y. Wang, 
Z.-P. Yin, and H.-Y. Wang, Tianjin University, P. R. of China

A Case Study for the Implementation of a Stochastic Bit Stream Neuron; 
The Choice Between Electrical and Optical Interconnects
M. A. Hands, W. Peiffer, H. Thienpont, A. Kirk, Vrije University, Belgium;
T. J. Hall, King's College, University of London, UK

Characterization of Massively Parallel Smart Pixels Systems for 
The Example of a Binary Associative Memory
D. Fey, Friedrich-Schiller University, Germany
________________________________________

10:30 AM - 1:00PM
Session III 
Chair: A. Louri, University of Arizona at Tucson

The Challenges Involved in the Design of a 100 Gb/s Internet
Alan Huang, Terabit Corp. (INVITED)

Fault-tolerance in Optically Implemented Multiprocessor Networks
P. Lalwaney, and I. Koren, University of Massachusetts at Amherst

A Speed Cache Coherence Protocol for an Optical
Multi-Access Interconnect Architecture
T. M. Pinkston, and J. Ha, University of Southern California

A Reconfigurable Optical Bus Structure for Shared Memory
Multiprocessors With Improved Performance
S. Ray, and H. Jiang, University of Nebraska-Lincoln

n-Dimensional Processor Arrays with Optical dBuses
G. Liu, and K. Y. Lee, University of Denver;
H. F. Jordan, University of Colorado at Boulder

The Difficulty of Finding Good Embeddings of 
Program Graphs onto the OPAM Architecture
B. Ramamurthy, and M. Krishnamoorthy, Rensselaer Polytechnic Institute
________________________________________

1:00 PM - 2:30 PM
CONFERENCE LUNCH (PROVIDED)
________________________________________

2:30 PM - 4:10 PM
Session IV
Chair: E. E. E. Frietman, Delft University of Technology, The Netherlands

Intelligent Optical Backplanes
H. S. Hinton, University of Colorado at Boulder (INVITED)

Connection Cube and Interleaved Optical Backplane for a Multiprocessor Data Bus
R. K. Kostuk, T. J. Kim, D. Ramsey, T.-H. Oh, and R. Boye
University of Arizona at Tucson

An Efficient 3-D Optical Implementation of Binary de Bruijn 
Networks with Applications to Massively Parallel Computing
A. Louri, and  H. Sung, 
University of Arizona at Tucson

Performance Evaluation of 3D Optoelectronic Computer
Architectures on FFT and Sorting Benchmarks
G. A. Betzos, and P. A. Mitkas, Colorado State University
________________________________________

4:10 PM - 4:30 PM
AFTERNOON BREAK
________________________________________

4:30 PM - 6:30 PM
CONFERENCE PANEL I
OPTICS FOR INTERCONNECTION: INDUSTRY'S INTERESTS and RESPONSIBILITIES
MODERATOR: Y. Li, NEC Research Institute

PANELISTS: R. Chen, University of Texas at Austin; N. Dutta, AT&T Bell Labs; 
K. Kobayashi, NEC Corp.; Y. S. Liu, General Electric; B. Pecor, Cray Research;
J. Rowlette, AMP Corp.; B. Smith, Tera Computers Corp.
________________________________________

7.00 PM - 8:30 PM
ACQUAINTANCE RECEPTION

Meet some of the MPPOI participants. 
Food and small talk opportunity provided.

========================================
TUESDAY, OCTOBER 24, 1995
========================================

7:00 AM - 8:00 AM
CONTINENTAL BREAKFAST
________________________________________

7:00 AM - 11:30 AM  
CONFERENCE REGISTRATION
________________________________________

8:00 AM - 10:00 AM
Session V
Chair: S. Levitan, University of Pittsburgh

Hybrid SEED - Massively Parallel Optical Interconnections for Silicon ICs
D. Miller, AT&T Bell Labs. (INVITED)

Construction of Demonstration Parallel Optical Processors based on
CMOS/InGaAs Smart Pixel Technology
A. Walker, M. P. Y. Desmulliez, F. A. P. Tooley, 
D. T. Neilson, J. A. B. Dines, D. A. Baillie, 
S. M. Prince, L. C. Wilkinson, M. R. Taghizadeh, P. Blair, 
J. F. Snowdon, and B. S. Wherrett, Heriot-Watt University, Scotland;
C. Stanley, and F. Pottier, University of Glasgow, Scotland;
I. Underwood, and D. G. Vass, University of Edinburgh, Scotland;
W. Sibbett, and M. H. Dunn, University of St.-Andrews, Scotland.

General Purpose Bi-Directional Optical Backplane Bus
C. Zhao, S. Natarajan, and R. T. Chen, University of Texas, at Austin

Efficient Communication Scheme For Distributed Parallel Processor Systems
P. Kohler, and A. Gunzinger, Swiss Federal Institute of Technology, Switzerland

What Limits Capacity and Connectivity in Optical Interconnects
Y. Li, NEC Research Institute
________________________________________

10:00 AM - 10:30 AM      
MID-MORNING BREAK
________________________________________

________________________________________

10:30 AM - 12:30 PM
Session VI
Chair: P. Dowd, State University of New York at Buffalo

Data Partitioning for Load-Balance and Communication Bandwidth Preservation
S. L. Johnsson, University of Houston (INVITED)

Embedding Rings and Meshes in Partitioned Optical Passive Stars Networks
G. Gravenstreter, and R. G. Melhem, University of Pittsburgh

Optical Thyristor Based Subsystems for Digital Parallel Processing:  
Demonstrators and Future Perspectives
H. Thienpont, A. Kirk, and I. Veretennicoff, Vrije University, Belgium;
P. Heremans, B. Knupfer, and G. Borghs, IMEC Corp., Belgium;
M. Kuijk, and R. Vounckx, rije University, Belgium

Computer-Aided Design of Free-Space Optoelectronic Interconnection Systems
S. P. Levitan, P. J. Marchand, M. Rempel, D. M. Chiarulli, and F. B. McCormick, 
University of Pittsburgh and University of California at San Diego

Optical Design of a Fault Tolerant Self-Routing Switch for
Massively Parallel Processing Networks
M. Guizani, M. A. Memon, and S. Ghanta, King Fahd University, Saudi Arabia
________________________________________

12:30 PM - 1:30 PM   
LUNCH (ON YOUR OWN)
________________________________________

1:30 PM - 3:50 PM      
PARALLEL SESSIONS: VII and VIII
________________________________________

1:30 PM - 3:50 PM 
Session VII
Chair: P. Wang, George Mason University

Interconnection Networks for Shared Memory Parallel Computers
B. Smith, Tera Computers Corp. (INVITED)

A Comparative Study of One-to-Many WDM Lightwave 
Interconnection Networks for Multiprocessors
H. Bourdin, and A. Ferreira, CNRS - LIP ENS Lyon, France;
K. Marcus, ARTEMIS IMAG, Grenoble, France

Planar Optical Interconnections for 100Gb/s Packet Address Detection
S. H. Song and E.-H. Lee, 
Electronics & Telecommunications Research Institute, Taejon, South Korea

A Pipelined Self-Routing Optical Multichannel Time Slot Permutation Network
R. Kannan, H. F. Jordan, K. Y. Lee, and C. Reed,
University of Denver; University of Colorado at Boulder; 
and The Institute for Defense Analysis

Optical Interconnect Design for a Manufacturable Multicomputer
R. R. Krchnavek, R. D. Chamberlain, T. Barry, V. Malhotra, and Z. Dittia,
Washington University at St. Louis, Missouri

Hypercube Interconnection in TWDM Optical Passive Star Networks
S.-K. Lee, A. D. Oh, and H.-A. Choi, George Washington University
________________________________________

1:30 PM - 3:50 PM 
Session VIII
Chair: Y. Li, NEC Research Institut

From Today's Desktop Gigaflop to Tomorrow's Central Petaflop;
From Grand Challenges to the Information Age;
The Applications Driving Parallel Computing and Their Architecture Implications
G. Fox, Northeast Parallel Architectures Center at Syracus University (INVITED)

A Fiber-Optic Interconnection Concept for Scalable Massively Parallel Computing
M. Jonsson, K. Nilsson, and B. Svensson,
Halmstad University; and Chalmers University of Technology, Goteborg, Sweden

All-Optical Interconnects for Massively Parallel Processing
C. S. Ih, R. Tian, X. Xia, J. Chao, and Y. Wang, University of Delaware

Predictive Control of Opto-Electronic Reconfigurable 
Interconnection Networks Using Neural Networks
M. F. Sakr, S. P. Levitan, C. L. Giles, B. C. Horne, 
M. Maggini, and D. M. Chiarulli,
University of Pittsburgh; NEC Research Institute; and Firenze University, Italy

The Simultaneous Optical Multiprocessor Exchange Bus
J. Kulick, W. E. Cohen, C. Katsinis, E. Wells, A. Thomsen,
M. Abushagur, R. K. Gaede, R. Lindquist, G. Nordin, and D. Shen;
University of Alabama in Huntsville

On Some Architectural Issues of Optical Hierarchical Ring
Networks for Shared-Memory Multiprocessors
H. Jiang, C. Lam, and V. C. Hamacher, 
University of Nebraska-Lincoln; and Queen's University, Kingston, Canada
________________________________________

3:50 PM - 4:15 PM       
AFTERNOON BREAK
________________________________________




________________________________________

4:15 PM - 6:15 PM       
CONFERENCE PANEL II
OPTO-ELECTRONIC PROCESSING & NETWORKING IN MASSIVELY PARALLEL PROCESSING SYSTEMS
MODERATOR: E. E. E. Frietman, Delft University of Technology, The Netherlands

PANELISTS: C. Jesshope, University of Surrey, Surrey, UK; H. F. Jordan, 
University of Colorado at Boulder; G. D. Khoe, Eindhoven University of 
Technology, Eindhoven, The Netherlands; A. V. Krishnamoorthy, AT&T Bell Labs.; 
I. Koren, University of Massachusetts at Amherst; A. McAulay, Lehigh University;
I. MacDonald, Telecommunications Research Laboratories, Edmonton, Canada; 
M. Murdocca, Rutgers University; A. B. Ruighaver, Melbourne University, 
Australia; J. Sauer, University of Colorado at Boulder; H. Thienpont, Vrije 
Universiteit, Belgium; A. Walker, Heriot-Watt University, Edinburgh, Scotland; 
________________________________________

6:15 PM - 6:30 PM 

CLOSING REMARKS: ANNOUNCING MPPOI '96 AND FUTURE MEETING PLANS
Eugen Schenfeld NEC Research Institute
________________________________________

6:30 PM - 8:00 PM
CONFERENCE DINNER (PROVIDED)
________________________________________





















==============================================================================
\end{verbatim}
\newpage
\begin{verbatim}
                           Registration Form
                               MPPOI'95
                             Menger  Hotel
                           San Antonio, Texas
                          October 23-24, 1995

      TO REGISTER, MAIL OR FAX THIS FORM TO: MPPOI registration,
      IEEE Computer Society, 1730 Massachusetts Av, N.W.,
      Washington DC 20036-1992, USA. Fax: +USA-202-728-0884
      For information, call +USA-202-371-1013 - Sorry, no phone registration.

Name:----------------------------------------------------------------------
       Last                           First                        MI
Company:-------------------------------------------------------------------
Address:-------------------------------------------------------------------
City/State/Zip/Country:----------------------------------------------------
Daytime phone:----------------------- Fax number---------------------------
Company:-------------------------------------------------------------------
E-mail address:------------------------------------------------------------
IEEE/ACM/OSA/SPIE Member Number:   ------------------
Do you have any special needs: --------------------------------------------
---------------------------------------------------------------------------
Do not include my mailing address on:
-- Non-society mailing lists         -- Meeting Attendee lists

Please circle the appropriate registration fee:
Advance (before October 2, 1995)         Late(before October 16, 1995)/on site.
  Member $300                              Member $360
  Non-member $375                          Non-member $450
  Full-time student $150                   Full-time student $180

Total enclosed:$ --------------------------------
Please make all checks payable to: IEEE Computer Society. All checks must be in
US dollars drawn on US banks. Credit card charges will appear on statement as
"IEEE Computer Society Registration". Written requests for refunds must be
received by IEEE office before October 2, 1995. Refunds are subject to a $50
processing fees. Method of payment accepted (payment must accompany form):
-- Personal check               -- Company check        -- Traveler's check
-- American Express             -- Master Card          -- VISA
-- Dinner's club                -- Government purchase order (original)

Credit card number: -------------------------- Expiration date: ------------
Cardholder name   : --------------------------
Signature         : --------------------------

Non-student registration fees include conference attendance, proceedings,
continental breakfast, refreshment at breaks, conference reception, one conference
lunch and one conference dinner. Student registration fees ***DO NOT*** include
the lunch and ***DO NOT*** include the dinner.
===========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
______________________________________________________________________

                     MPPOI'95 HOTEL RESERVATION
                          The Menger Hotel
                         San Antonio, Texas
______________________________________________________________________

   PLEASE MAKE RESERVATIONS WITH THE MENGER HOTEL AS SOON AS POSSIBLE TO 
   GUARANTEE THE $90 RATE (HOTEL PHONE AND FAX NUMBERS ARE GIVEN AT BELLOW). 

 * The special MPPOI'95 group rate of US $90.00 (single or double) is available 
   from October 22 through October 25, 1995. All rates are subject to additional
   local and state taxes.  These rates will be available for reservations made 
   BEFORE September 22, 1995. Please note that the period Sep. to Nov. is the 
   high session in San Antonio and hotels are usually booked in advance. We 
   urge you to make early reservations as soon as possible.
   If you wish to stay over a Sat. night (Oct. 21st), the hotel will TRY its 
   best to accommodate you with the same rate. 

 * The MENGER HOTEL CONTACT POINTS: Phone: 1-800-345-9285 (for USA, or Canada)
   Phone: +USA-210-223-4361 (other countries);  Fax:  +USA-210-228-0022   

 * ALTERNATIVE LIST OF HOTELS (RATES AND RANK from AAA Tour Book): 

   IN CASE THE MENGER HOTEL IS FULL, here is a list of other nearby hotels (all 
   within walking distance of the Menger, in the downtown area of San Antonio). 
   These hotels have no arrangement with MPPOI and therefore you should not 
   identify yourself as a member of a group or conference. The arrangement with 
   these hotels is on a "one to one" basis, as with any other business traveler. 
   An early reservation is suggested. Also, it is always a good idea to look for 
   "specials" (i.e., advance paid rates, weekend specials, AAA rates, etc.). Also 
   please note that from the USA you may call the 800 directory (1-800-555-1212) 
   and ask for the 800 number of the hotel chain (such hotels are marked with a 
   '#' mark bellow), rates and ranking taken from AAA Tour Book 1994:

                                AAA   Typical       Phone            Fax 
                                Rank  Rate ($)     (+USA)           (+USA)
   
   * St. Anthony Hotel           4    106-130   (210)227-4392     none listed
   * Emily Morgan                3       85     (210)225-8486     none listed
   * Crocket Hotel               3     75-105   (210)225-6500     none listed
   # Hyatt Regency               4    119-170   (210)222-1234    (210)227-4925
   * La Mansion del Rio          4    135-220   (210)225-2581    (210)226-1365
   # Holiday Inn Riverwalk       3     95-119   (210)224-2500    (210)223-1302
   # Hilton Palacio del Rio      4    154-196   (210)222-1400    (210)270-0761
   * The Fairmounth Hotel        4    145-275   (210)224-8800    (210)224-2767
   # Marriott Riverwalk          4    135-150   (210)224-4555    (210)224-2754
   # La Quinta Motor Inn         3     83-90    (210)222-9181    (210)228-9816
   # Marriott Rivercenter        4      160     (210)223-1000    (210)223-6239
________________________________________________________________________________
\end{verbatim}

\end{document}


=================================================


        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Fri Aug 11 17:03:38 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id RAA02858; Fri, 11 Aug 1995 17:03:37 -0400
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id RAA06814; Fri, 11 Aug 1995 17:12:10 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Fri, 11 Aug 1995 17:12:08 EDT
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id RAA06778; Fri, 11 Aug 1995 17:11:55 -0400
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id RAA24478(zingo); Fri, 11 Aug 1995 17:02:28 -0400
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id QAA24675(iris49); Fri, 11 Aug 1995 16:14:16 -0400
Date: Fri, 11 Aug 1995 16:14:16 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199508112014.QAA24675@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'95 Advance Program


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE  PLEASE DISTRIBUTE+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ADVANCE REGISTRATION DEADLINE FOR LOWER CONFERENCE FEE IS OCT. 2, 1995.

THE FOLLOWING IS IN LaTex Format. Other formats please email to:
mppoi@research.nj.nec.com

=================================================================================

\documentstyle[fullpage]{article}

\begin{document}

\begin{verbatim}
==========================================================================
                 The Second International Conference on
        MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS
===========================================================================

                          October 23-24, 1995
                              Menger Hotel
                        San-Antonio Texas,  USA

                             SPONSORED BY:
                         IEEE Computer Society
          IEEE Technical Committee on Computer Architecture (TCCA)

                          IN COOPERATION WITH:
           ACM Special Interest Group on Architecture (SIGARCH)
          The International Society for Optical Engineering (SPIE)
            The IEEE Lasers and Electro-optics Society (LEOS)
                   The Optical Society of America (OSA)

                        ADDITIONAL SUPPORT PROVIDED BY:
                  NSF - The National Science Foundation (pending)

========================================================================
                             ADVANCE PROGRAM
========================================================================

The Second International Conference on Massively Parallel Processing
Architectures using Optical Interconnections (MPPOI '95) is a continuation to 
a very successful first meeting held last year in Cancun, Mexico. This year we 
have an exciting program featuring eight invited talks from research and
industrial leaders in the fields of parallel computer systems, optical 
interconnections and technology, parallel applications and interconnection 
networks. We also have two panels with the participation of technological and 
academic experts, representing the current thoughts and trends of the field. 
And last, but not least, there are 34 regular papers accepted for presentation 
from authors all over the world. This rich and diverse program is sure to be 
most interesting and stimulate discussions and interactions among the 
researchers of this interdisciplinary field. The organizers of MPPOI 
strongly feel that massively parallel processing needs optical interconnections 
and optical interconnections need parallel processing. The Conference's focus 
is the possible use of optical interconnections for massively parallel 
processing systems, and their effect on system and algorithm design. Optics 
offers many benefits for interconnecting large numbers of processing elements, 
but may require us to rethink how we build parallel computer systems and 
communication networks, and how we write applications.  Fully exploring the 
capabilities of optical interconnection networks requires an interdisciplinary 
effort. It is critical that researchers from all related research areas are 
aware of each other's work and results. The intent of MPPOI is to assemble the 
leading researchers and to build towards a synergetic approach to MPP 
architectures, optical interconnections, operating systems, and software 
development.
\end{verbatim}
\newpage
\begin{verbatim}
*********************************************************************
                               LOCATION
*********************************************************************

SAN ANTONIO
American humorist and homespun philosopher Will Rogers once described San
Antonio as ``One of America's four unique cities". He had a natural instinct
for getting to the very essence of a subject, and his comment about San Antonio
is no exception. San Antonio truly is unique. From its founding in 1691 by
Spanish missionaries, San Antonio has grown from a sleepy little Texas pueblo
to the 9th largest city in the United States. Along the way it has been the
birthplace of the Texas revolution with the Battle of the Alamo in 1836.  It is
the new home of bioscience and hi-tech industry now. In all, over half a dozen
cultures, from Spanish and German to Lebanese and Greek, have impacted the
growth of San Antonio. And their influence is still evident in the architecture,
festivals, cuisine and customs which all contribute to the uniqueness and charm
of the city.

THE ALAMO
An old mission-fort, the Alamo, in San Antonio, has been called the "cradle of
Texas liberty." Its gallant defense and the horrible massacre of the more than
180 men who fought there inspired the cry, "Remember the Alamo!" Texas soldiers
shouted this at the battle of San Jacinto, which brought independence to Texas.

THE MENGER HOTEL
MPPOI '95 will be held in San Antonio's Menger Hotel, a historic landmark hotel.
It is next door to the Alamo, adjacent to Rivercenter Mall, the IMAX Theater and
River Walk and two blocks to the convention center. The hotel fronts Alamo Plaza
where the Sea World shuttle and sightseeing tours depart.

SPDP'95
For those that are interested in attending the SPDP'95: info. is available at
the following www cite: http://rabbit.cs.utsa.edu/Welcome.html. You must
register to SPDP'95 conference if you wish to attend it. The advance program
and other information may be obtain from the above location, or from:
Prof. Xiaodong Zhang, email: zhang@runner.utsa.edu , Phone: (210) 691-5541,
FAX: (210) 691-4437.

AIR TRANSPORTATION
United Airlines is the official airline of MPPOI '95. United will provide attendees 
round trip transportation to San Antonio on United, United Express or Shuttle by 
United scheduled service in the United States and Canada at fares of either 5% 
discount off any United, United Express or Shuttle by United published fares, 
including First Class, in effect when the tickets are purchased subject to all
applicable restrictions, or a 10% discount off applicable BUA, or like, fares 
in effect when tickets are purchased 7 days in advance. Reservations and schedule 
information may be obtained by calling the United Meetings desk at 1-800-521-4041 
and referencing Meeting ID Code 599XM.



ACCOMMODATION
The special MPPOI '95 Menger Hotel rate is US $90 for single or double.  Please
see the enclosed information for making your reservation directly with the hotel.

REGISTRATION
Please register to the conference using the attached form DIRECTLY with IEEE. 
TO HELP WITH THE PLANNING OF THE CONFERENCE PLEASE ALSO SEND email or fax, 
indicating the name(s) of people that register with IEEE and will attend 
(email: mppoi@research.nj.nec.com fax: +USA-609-951-2482 Att. Dr. Eugen Schenfeld).

LOCAL TRANSPORTATION
Star Shuttle provides van service from San Antonio International airport to the
Menger hotel for $6.00 per person each way. For more information and
reservations call +USA-(210)366-3183. Other transportation is available at the
airport, incl. taxi and busses.

CUSTOMS/PASSPORTS
It is suggested for those of other than US nationalities to check with a travel
agent and with an US consulate the requirements for VISA and passports to enter
the United States, as well as for US Customs regulations.

WEATHER & TIME
San Antonio's weather in late october ranges from low 60's to 70's Fahrenheit.
Climate is dry and perfect for sightseeing the many attractions the city and
surroundings have to offer.

JOIN US!
MPPOI'95 is in an ideal location to bring along family.  Your traveling
companions will be well entertained while you are participating in the
conference events.  For those that plan to spend the weekend before the
conference in San Antonio, we suggest to consult with a travel agent and with
the hotel for information on sightseeing and other local activities.  Please
note that the hotel rate is valid for the nights of Oct. 22-24. If you
wish to stay over a Sat. night (Oct. 21st), the hotel will try its best
to accommodate you with the same rate. Once you make a reservation,
please make sure to ask for the night of Oct. 21st. If not available,
you will be placed on a waiting lists. Chances are you may get it, but
currently it is not possible to confirm this.

==========================================
****** NSF TRAVEL SUPPORT (PENDING) ******
==========================================

The National Science Foundation (NSF) is considering to award travel support
for minority and female faculty members as well as for graduate students. This
travel award is pending final approval by the NSF and is available for authors
presenting papers at the MPPOI'95 conference. For details on the travel support
and to obtain a Request Form please contact (email, fax, or phone) the
Conference Chair at the above address.

\end{verbatim}
\newpage
\begin{verbatim}

STEERING COMMITTEE
==================

J. Goodman, Stanford University		     
L. Johnsson, University of Houston
S. Lee, University of California 	     
R. Melhem, University of Pittsburgh
E. Schenfeld, NEC Research Institute (Chair) 
P. Wang, George Mason University

CONFERENCE CHAIR:
================

        Dr. Eugen Schenfeld             (voice) (609)951-2742
        NEC Research Institute          (fax)   (609)951-2482
        4 Independence Way              email: MPPOI@RESEARCH.NJ.NEC.COM
        Princeton, NJ 08540, USA 

PUBLICITY CHAIR:   D. Quammen, George Mason University.
================

LOCAL ARRANGEMENTS CHAIR:  X. Zhang, University of Texas at San Antonio.
========================

PROGRAM COMMITTEE:
=================

Pierre Chavel, Institut d'Optique, Orsay, France
Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. for CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New York University, New York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Terabit Corp., Middletown, NJ
Oscar H. Ibarra, Department of Computer Science, UCSB, CA
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of ECE, Purdue University, West Lafayette, IN
Lennart Johnsson, Dept. of Computer Science, University of Houston, Houston TX
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Ashok V. Krishnamoorthy, AT&T Bell Laboratories, Holmdel NJ
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
A. B. Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

SESSION CHAIRS
==============

P. Dowd, State University of New York at Buffalo
E. E. E. Frietman, Delft University of Technology, The Netherlands
R. Kostuk, University of Arizona at Tucson
A. Krishnamoorthy, AT&T Bell Laboratories
S. Levitan, University of Pittsburgh
Y. Li, NEC Research Institut
A. Louri, University of Arizona at Tucson
P. Wang, George Mason University

PANEL MODERATORS
================

E. E. E. Frietman, Delft University of Technology, The Netherlands
Y. Li, NEC Research Institute

INVITED SPEAKERS
================
Michael Flynn, Stanford University
G. Fox, Northeast Parallel Architectures Center at Syracus University
S. L. Johnsson, University of Houston
H. S. Hinton, University of Colorado at Boulder
Alan Huang, Terabit Corp.
H. T. Kung, Harvard University
D. Miller, AT&T Bell Labs.
B. Smith, Tera Computers Corp.

========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
_____________________________________________________________________

                      MPPOI '95 PROGRAM SCHEDULE
_____________________________________________________________________

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
***** INVITED TALKS: 40 Minutes. REGULAR TALKS: 20 Minutes *****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

========================================
SUNDAY, OCTOBER 22, 1995
========================================

6:00 PM - 7:30 PM
REGISTRATION 

========================================
Monday, October 23, 1995
========================================

7:00 AM - 8:00 AM       
CONTINENTAL BREAKFAST 
________________________________________

7:00 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:00 AM - 8:20 AM
OPENING REMARKS
Eugen Schenfeld, NEC Research Institute

8:20 AM - 10:00 AM
Session I
Chair: R. Kostuk, University of Arizona at Tucson

Hybrid SEED - Massively Parallel Optical Interconnections for Silicon ICs
D. Miller, AT&T Bell Labs. (INVITED)

Design Issues for Through-Wafer Optoelectronic Multicomputer Interconnects
P. May, N. M. Jokerst, D. S. Wills, S. Wilkinson, M. Lee, O. Vendier, S. Bond,
Z. Hou, G. Dagnall, M. A. Brooke, A. Brown, Georgia Institute of Technology

Design of a Terabit Free-Space Photonic Backplane for Parallel Computing
T. H. Szymanski, and  H. S. Hinton, McGill University and University of Colorado

Optical Interconnection Network for Massively Parallel Processors 
Using Beam-Steering Vertical Cavity Surface-Emitting Lasers
L. Fan, and M. C. Wu, University of California at Los Angeles;
H. C. Lee. and P. Grodzinski, Motorola Inc.
________________________________________

10:00 AM - 10:30 AM     
MID-MORNING BREAK
________________________________________

10:30 AM - 1:00 PM
PARALLEL SESSIONS: II AND III
_________________________________________

10:30 AM - 1:00 PM
Session II 
Chair: A. Krishnamoorthy, AT&T Bell Laboratories

The Role of Representation in Optimizing a Computer Architecture
Michael Flynn, Stanford University (INVITED)

An Evaluation of Communication Protocols for Star-Coupled
Multidimensional WDM Networks for Multiprocessors
K. R. Desai, and K. Ghose, State University of New York at Binghamton

Small Depth Beam-Steered Optical Interconnect
M. Murdocca, H. R. Nahata, and Y. Zhou, Rutgers University

Optical Fiber Interconnection System for Massively Parallel Processor Arrays
Y.-M. Zhang, X.-Q. He, G. Zhou, W.-Y. Liu, Y. Wang, 
Z.-P. Yin, and H.-Y. Wang, Tianjin University, P. R. of China

A Case Study for the Implementation of a Stochastic Bit Stream Neuron; 
The Choice Between Electrical and Optical Interconnects
M. A. Hands, W. Peiffer, H. Thienpont, A. Kirk, Vrije University, Belgium;
T. J. Hall, King's College, University of London, UK

Characterization of Massively Parallel Smart Pixels Systems for 
The Example of a Binary Associative Memory
D. Fey, Friedrich-Schiller University, Germany
________________________________________

10:30 AM - 1:00PM
Session III 
Chair: A. Louri, University of Arizona at Tucson

The Challenges Involved in the Design of a 100 Gb/s Internet
Alan Huang, Terabit Corp. (INVITED)

Fault-tolerance in Optically Implemented Multiprocessor Networks
P. Lalwaney, and I. Koren, University of Massachusetts at Amherst

A Speed Cache Coherence Protocol for an Optical
Multi-Access Interconnect Architecture
T. M. Pinkston, and J. Ha, University of Southern California

A Reconfigurable Optical Bus Structure for Shared Memory
Multiprocessors With Improved Performance
S. Ray, and H. Jiang, University of Nebraska-Lincoln

n-Dimensional Processor Arrays with Optical dBuses
G. Liu, and K. Y. Lee, University of Denver;
H. F. Jordan, University of Colorado at Boulder

The Difficulty of Finding Good Embeddings of 
Program Graphs onto the OPAM Architecture
B. Ramamurthy, and M. Krishnamoorthy, Rensselaer Polytechnic Institute
________________________________________

1:00 PM - 2:30 PM
CONFERENCE LUNCH (PROVIDED)
________________________________________

2:30 PM - 4:10 PM
Session IV
Chair: E. E. E. Frietman, Delft University of Technology, The Netherlands

Intelligent Optical Backplanes
H. S. Hinton, University of Colorado at Boulder (INVITED)

Connection Cube and Interleaved Optical Backplane for a Multiprocessor Data Bus
R. K. Kostuk, T. J. Kim, D. Ramsey, T.-H. Oh, and R. Boye
University of Arizona at Tucson

An Efficient 3-D Optical Implementation of Binary de Bruijn 
Networks with Applications to Massively Parallel Computing
A. Louri, and  H. Sung, 
University of Arizona at Tucson

Performance Evaluation of 3D Optoelectronic Computer
Architectures on FFT and Sorting Benchmarks
G. A. Betzos, and P. A. Mitkas, Colorado State University
________________________________________

4:10 PM - 4:30 PM
AFTERNOON BREAK
________________________________________

4:30 PM - 6:30 PM
CONFERENCE PANEL I
OPTICS FOR INTERCONNECTION: INDUSTRY'S INTERESTS and RESPONSIBILITIES
MODERATOR: Y. Li, NEC Research Institute

PANELISTS: R. Chen, University of Texas at Austin; N. Dutta, AT&T Bell Labs; 
N. Henmi, NEC Corp.; Y. S. Liu, General Electric; B. Pecor, Cray Research;
J. Rowlette, AMP Corp.; B. Smith, Tera Computers Corp.
________________________________________

7.00 PM - 8:30 PM
ACQUAINTANCE RECEPTION

Meet some of the MPPOI participants. 
Food and small talk opportunity provided.

========================================
TUESDAY, OCTOBER 24, 1995
========================================

7:00 AM - 8:00 AM
CONTINENTAL BREAKFAST
________________________________________

7:00 AM - 11:30 AM  
CONFERENCE REGISTRATION
________________________________________

8:00 AM - 10:00 AM
Session V
Chair: S. Levitan, University of Pittsburgh

Flow-Controlled ATM Switches for Available Bit Rate Services
H. T. Kung, Harvard University (INVITED)

Construction of Demonstration Parallel Optical Processors based on
CMOS/InGaAs Smart Pixel Technology
A. Walker, M. P. Y. Desmulliez, F. A. P. Tooley, 
D. T. Neilson, J. A. B. Dines, D. A. Baillie, 
S. M. Prince, L. C. Wilkinson, M. R. Taghizadeh, P. Blair, 
J. F. Snowdon, and B. S. Wherrett, Heriot-Watt University, Scotland;
C. Stanley, and F. Pottier, University of Glasgow, Scotland;
I. Underwood, and D. G. Vass, University of Edinburgh, Scotland;
W. Sibbett, and M. H. Dunn, University of St.-Andrews, Scotland.

General Purpose Bi-Directional Optical Backplane Bus
C. Zhao, S. Natarajan, and R. T. Chen, University of Texas, at Austin

Efficient Communication Scheme For Distributed Parallel Processor Systems
P. Kohler, and A. Gunzinger, Swiss Federal Institute of Technology, Switzerland

What Limits Capacity and Connectivity in Optical Interconnects
Y. Li, NEC Research Institute
________________________________________

10:00 AM - 10:30 AM      
MID-MORNING BREAK
________________________________________

________________________________________

10:30 AM - 12:30 PM
Session VI
Chair: P. Dowd, State University of New York at Buffalo

Data Partitioning for Load-Balance and Communication Bandwidth Preservation
S. L. Johnsson, University of Houston (INVITED)

Embedding Rings and Meshes in Partitioned Optical Passive Stars Networks
G. Gravenstreter, and R. G. Melhem, University of Pittsburgh

Optical Thyristor Based Subsystems for Digital Parallel Processing:  
Demonstrators and Future Perspectives
H. Thienpont, A. Kirk, and I. Veretennicoff, Vrije University, Belgium;
P. Heremans, B. Knupfer, and G. Borghs, IMEC Corp., Belgium;
M. Kuijk, and R. Vounckx, rije University, Belgium

Computer-Aided Design of Free-Space Optoelectronic Interconnection Systems
S. P. Levitan, P. J. Marchand, M. Rempel, D. M. Chiarulli, and F. B. McCormick, 
University of Pittsburgh and University of California at San Diego

Optical Design of a Fault Tolerant Self-Routing Switch for
Massively Parallel Processing Networks
M. Guizani, M. A. Memon, and S. Ghanta, King Fahd University, Saudi Arabia
________________________________________

12:30 PM - 1:30 PM   
LUNCH (ON YOUR OWN)
________________________________________

1:30 PM - 3:50 PM      
PARALLEL SESSIONS: VII and VIII
________________________________________

1:30 PM - 3:50 PM 
Session VII
Chair: P. Wang, George Mason University

Interconnection Networks for Shared Memory Parallel Computers
B. Smith, Tera Computers Corp. (INVITED)

A Comparative Study of One-to-Many WDM Lightwave 
Interconnection Networks for Multiprocessors
H. Bourdin, and A. Ferreira, CNRS - LIP ENS Lyon, France;
K. Marcus, ARTEMIS IMAG, Grenoble, France

Planar Optical Interconnections for 100Gb/s Packet Address Detection
S. H. Song and E.-H. Lee, 
Electronics & Telecommunications Research Institute, Taejon, South Korea

A Pipelined Self-Routing Optical Multichannel Time Slot Permutation Network
R. Kannan, H. F. Jordan, K. Y. Lee, and C. Reed,
University of Denver; University of Colorado at Boulder; 
and The Institute for Defense Analysis

Optical Interconnect Design for a Manufacturable Multicomputer
R. R. Krchnavek, R. D. Chamberlain, T. Barry, V. Malhotra, and Z. Dittia,
Washington University at St. Louis, Missouri

Hypercube Interconnection in TWDM Optical Passive Star Networks
S.-K. Lee, A. D. Oh, and H.-A. Choi, George Washington University
________________________________________

1:30 PM - 3:50 PM 
Session VIII
Chair: Y. Li, NEC Research Institut

From Today's Desktop Gigaflop to Tomorrow's Central Petaflop;
From Grand Challenges to the Information Age;
The Applications Driving Parallel Computing and Their Architecture Implications
G. Fox, Northeast Parallel Architectures Center at Syracus University (INVITED)

A Fiber-Optic Interconnection Concept for Scalable Massively Parallel Computing
M. Jonsson, K. Nilsson, and B. Svensson,
Halmstad University; and Chalmers University of Technology, Goteborg, Sweden

All-Optical Interconnects for Massively Parallel Processing
C. S. Ih, R. Tian, X. Xia, J. Chao, and Y. Wang, University of Delaware

Predictive Control of Opto-Electronic Reconfigurable 
Interconnection Networks Using Neural Networks
M. F. Sakr, S. P. Levitan, C. L. Giles, B. C. Horne, 
M. Maggini, and D. M. Chiarulli,
University of Pittsburgh; NEC Research Institute; and Firenze University, Italy

The Simultaneous Optical Multiprocessor Exchange Bus
J. Kulick, W. E. Cohen, C. Katsinis, E. Wells, A. Thomsen,
M. Abushagur, R. K. Gaede, R. Lindquist, G. Nordin, and D. Shen;
University of Alabama in Huntsville

On Some Architectural Issues of Optical Hierarchical Ring
Networks for Shared-Memory Multiprocessors
H. Jiang, C. Lam, and V. C. Hamacher, 
University of Nebraska-Lincoln; and Queen's University, Kingston, Canada
________________________________________

3:50 PM - 4:15 PM       
AFTERNOON BREAK
________________________________________




________________________________________

4:15 PM - 6:15 PM       
CONFERENCE PANEL II
OPTO-ELECTRONIC PROCESSING & NETWORKING IN MASSIVELY PARALLEL PROCESSING SYSTEMS
MODERATOR: E. E. E. Frietman, Delft University of Technology, The Netherlands

PANELISTS: C. Jesshope, University of Surrey, Surrey, UK; H. F. Jordan, 
University of Colorado at Boulder; G. D. Khoe, Eindhoven University of 
Technology, Eindhoven, The Netherlands; A. V. Krishnamoorthy, AT&T Bell Labs.; 
I. Koren, University of Massachusetts at Amherst; A. McAulay, Lehigh University;
I. MacDonald, Telecommunications Research Laboratories, Edmonton, Canada; 
M. Murdocca, Rutgers University; A. B. Ruighaver, Melbourne University, 
Australia; J. Sauer, University of Colorado at Boulder; H. Thienpont, Vrije 
Universiteit, Belgium; A. Walker, Heriot-Watt University, Edinburgh, Scotland; 
________________________________________

6:15 PM - 6:30 PM 

CLOSING REMARKS: ANNOUNCING MPPOI '96 AND FUTURE MEETING PLANS
Eugen Schenfeld NEC Research Institute
________________________________________

6:30 PM - 8:00 PM
CONFERENCE DINNER (PROVIDED)
________________________________________





















==============================================================================
\end{verbatim}
\newpage
\begin{verbatim}
                           Registration Form
                               MPPOI'95
                             Menger  Hotel
                           San Antonio, Texas
                          October 23-24, 1995

      TO REGISTER, MAIL OR FAX THIS FORM TO: MPPOI registration,
      IEEE Computer Society, 1730 Massachusetts Av, N.W.,
      Washington DC 20036-1992, USA. Fax: +USA-202-728-0884
      For information, call +USA-202-371-1013 - Sorry, no phone registration.

Name:----------------------------------------------------------------------
       Last                           First                        MI
Company:-------------------------------------------------------------------
Address:-------------------------------------------------------------------
City/State/Zip/Country:----------------------------------------------------
Daytime phone:----------------------- Fax number---------------------------
Company:-------------------------------------------------------------------
E-mail address:------------------------------------------------------------
IEEE/ACM/OSA/SPIE Member Number:   ------------------
Do you have any special needs: --------------------------------------------
---------------------------------------------------------------------------
Do not include my mailing address on:
-- Non-society mailing lists         -- Meeting Attendee lists

Please circle the appropriate registration fee:
Advance (before October 2, 1995)         Late(before October 16, 1995)/on site.
  Member $300                              Member $360
  Non-member $375                          Non-member $450
  Full-time student $150                   Full-time student $180

Total enclosed:$ --------------------------------
Please make all checks payable to: IEEE Computer Society. All checks must be in
US dollars drawn on US banks. Credit card charges will appear on statement as
"IEEE Computer Society Registration". Written requests for refunds must be
received by IEEE office before October 2, 1995. Refunds are subject to a $50
processing fees. Method of payment accepted (payment must accompany form):
-- Personal check               -- Company check        -- Traveler's check
-- American Express             -- Master Card          -- VISA
-- Dinner's club                -- Government purchase order (original)

Credit card number: -------------------------- Expiration date: ------------
Cardholder name   : --------------------------
Signature         : --------------------------

Non-student registration fees include conference attendance, proceedings,
continental breakfast, refreshment at breaks, conference reception, one conference
lunch and one conference dinner. Student registration fees ***DO NOT*** include
the lunch and ***DO NOT*** include the dinner.
===========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
______________________________________________________________________

                     MPPOI'95 HOTEL RESERVATION
                          The Menger Hotel
                         San Antonio, Texas
______________________________________________________________________

   PLEASE MAKE RESERVATIONS WITH THE MENGER HOTEL AS SOON AS POSSIBLE TO 
   GUARANTEE THE $90 RATE (HOTEL PHONE AND FAX NUMBERS ARE GIVEN AT BELLOW). 

 * The special MPPOI'95 group rate of US $90.00 (single or double) is available 
   from October 22 through October 25, 1995. All rates are subject to additional
   local and state taxes.  These rates will be available for reservations made 
   BEFORE September 22, 1995. Please note that the period Sep. to Nov. is the 
   high session in San Antonio and hotels are usually booked in advance. We 
   urge you to make early reservations as soon as possible.
   If you wish to stay over a Sat. night (Oct. 21st), the hotel will TRY its 
   best to accommodate you with the same rate. 

 * The MENGER HOTEL CONTACT POINTS: Phone: 1-800-345-9285 (for USA, or Canada)
   Phone: +USA-210-223-4361 (other countries);  Fax:  +USA-210-228-0022   

 * ALTERNATIVE LIST OF HOTELS (RATES AND RANK from AAA Tour Book): 

   IN CASE THE MENGER HOTEL IS FULL, here is a list of other nearby hotels (all 
   within walking distance of the Menger, in the downtown area of San Antonio). 
   These hotels have no arrangement with MPPOI and therefore you should not 
   identify yourself as a member of a group or conference. The arrangement with 
   these hotels is on a "one to one" basis, as with any other business traveler. 
   An early reservation is suggested. Also, it is always a good idea to look for 
   "specials" (i.e., advance paid rates, weekend specials, AAA rates, etc.). Also 
   please note that from the USA you may call the 800 directory (1-800-555-1212) 
   and ask for the 800 number of the hotel chain (such hotels are marked with a 
   '#' mark bellow), rates and ranking taken from AAA Tour Book 1994:

                                AAA   Typical       Phone            Fax 
                                Rank  Rate ($)     (+USA)           (+USA)
   
   * St. Anthony Hotel           4    106-130   (210)227-4392     none listed
   * Emily Morgan                3       85     (210)225-8486     none listed
   * Crocket Hotel               3     75-105   (210)225-6500     none listed
   # Hyatt Regency               4    119-170   (210)222-1234    (210)227-4925
   * La Mansion del Rio          4    135-220   (210)225-2581    (210)226-1365
   # Holiday Inn Riverwalk       3     95-119   (210)224-2500    (210)223-1302
   # Hilton Palacio del Rio      4    154-196   (210)222-1400    (210)270-0761
   * The Fairmounth Hotel        4    145-275   (210)224-8800    (210)224-2767
   # Marriott Riverwalk          4    135-150   (210)224-4555    (210)224-2754
   # La Quinta Motor Inn         3     83-90    (210)222-9181    (210)228-9816
   # Marriott Rivercenter        4      160     (210)223-1000    (210)223-6239
________________________________________________________________________________
\end{verbatim}

\end{document}




        Eugen Schenfeld
From owner-mpi-ptop@CS.UTK.EDU Tue Aug 29 11:24:43 1995
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id LAA02887; Tue, 29 Aug 1995 11:24:43 -0400
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id LAA29605; Tue, 29 Aug 1995 11:23:30 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Tue, 29 Aug 1995 11:23:29 EDT
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id LAA29594; Tue, 29 Aug 1995 11:23:25 -0400
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id LAA24467(zingo); Tue, 29 Aug 1995 11:13:05 -0400
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id KAA05392(iris49); Tue, 29 Aug 1995 10:25:14 -0400
Date: Tue, 29 Aug 1995 10:25:14 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199508291425.KAA05392@iris49>
To: mppoi95@research.nj.nec.com
Subject: MPPOI'95 NSF Travel Awards



         FINANCIAL AID FOR MINORITY FACULTY AND STUDENTS TO ATTEND
                 THE SECOND INTERNATIONAL CONFERENCE ON
        MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS

                   FROM THE NATIONAL SCIENCE FOUNDATION

The National Science Foundation has provided a group travel grant to 
primarily support U.S. minority and female faculty members, as well as 
students studying in the U.S. who plan to attend the Second International 
Conference on Massively Parallel Processing Using Optical Interconnections. 
The conference will be held in San Antonio, Texas on October 23 and 24 1995. 
Faculty and students presenting papers in the conference will have higher 
priority for this support. If you are eligible, please submit the enclosed 
application before September 30, 1995. For information on the MPPOI'95 
conference please email to: MPPOI@RESEARCH.NJ.NEC.COM.

Faculty and students awarded the grant support will be reimbursed for the
actual expenses for attending the conference up to a maximum of $825 for
faculty members and $670 for students.  Any member of the U.S. scientific
community, irrespective of nationality, who performs work in the U.S. is
eligible to apply. Applicants supported by other grants and contracts are
expected to obtain travel monies from their supporting institutions. Since
only about ten awards will be made under this program, it is important that
other sources be used where available.

Applications received by September 30 will have priority.  Those received 
afterwards will be selected on a first come first served basis until funds 
run out.  Travel grant recipients are determined by a committee 
consisting of the following members:  

	Dr. Eugen Schenfeld, NEC Research Institute (chair)
	Prof. Rami Melhem, The University of Pittsburgh
	Prof. Pearl Wang, George Mason University

A short trip report along with documented conference registration and 
travel expense receipts is required within one month of the end of the 
conference. This material should be sent by award recipients to:

	Prof. Rami Melhem
	Department of Computer Science (219 MIB)
	The University of Pittsburgh,
	Pittsburgh, PA 15260.

*************************************************************************

	        APPLICATION FORM FOR MPPOI'95 TRAVEL GRANT
		     from National Science Foundation


NAME:______________________________________________________________________

TELEPHONE:_________________________ E-MAIL:________________________________

MINORITY GROUP:____________________ SEX:_____ STUDENT/FACULTY:_____________

If Student, 
please indicate Degree_____________ Expected year of completion____________

                Faculty Advisor __________________________________________

UNIVERSITY AFFILIATION: ___________________________________________________

DEPARTMENT: ________________________________SOCIAL SECURITY #: ____________

MAILING ADDRESS: __________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

LIST PAPERS ACCEPTED TO MPPOI'95:
  1. TITLE:______________________________________________________________
     PAPER PRESENTER:____________________________________________________
  2. TITLE:______________________________________________________________
     PAPER PRESENTER:____________________________________________________

BRIEF DESCRIPTION OF YOUR TECHNICAL INTERESTS WITHIN THE SCOPE OF MPPOI:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

PLEASE STATE OTHER SOURCES OF TRAVEL MONEY:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

ESTIMATED TRAVEL EXPENSES:
    TRAVEL: (From _____________________, To__ ___________________)
    ESTIMATED DRIVING DISTANCE:________________________________________ or
    ROUND TRIP TRANSPORTATION COST:____________________________________
    ESTIMATED LODGING COST:____________________________________________
    REGISTRATION FEE:__________________________________________________

Return completed application form in e-mail to:

        Dr. Eugen Schenfeld - MPPOI'95 NSF Award
        NEC Research Institute
        4 Independence Way
        Princeton, NJ 08540

phone:  609 951 2742

  fax:  609 951 2482
email:  eugen@research.nj.nec.com (Inet)

==========================================================================



        Eugen Schenfeld
From owner-mpi-ptop@CS.UTK.EDU Sat Sep  9 16:07:23 1995
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id QAA28659; Sat, 9 Sep 1995 16:07:22 -0400
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id QAA07537; Sat, 9 Sep 1995 16:06:32 -0400
X-Resent-To: mpi-ptop@CS.UTK.EDU ; Sat, 9 Sep 1995 16:06:29 EDT
Errors-to: owner-mpi-ptop@CS.UTK.EDU
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id QAA07523; Sat, 9 Sep 1995 16:06:23 -0400
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id PAA08396(zingo); Sat, 9 Sep 1995 15:54:04 -0400
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id PAA02819(iris49); Sat, 9 Sep 1995 15:03:14 -0400
Date: Sat, 9 Sep 1995 15:03:14 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199509091903.PAA02819@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'95 Registration deadline+NSF travel grants

This is a reminder that the deadline to register to the MPPOI'95
conference at a reduced conference rate is Oct. 2. Registration
should be sent directly to IEEE CS (by fax if credit card is used
for payment) at the address listed in the enclosed registration
form (part of the MPPOI'95 advance program).

Also, the NSF (National Science Foundation) has awarded MPPOI
a grant to support US minority students and junior faculty to
attend the conference. Forms to apply for this award are available 
by email. Please send email to ask for a form.

With regards,

Dr. Eugen Schenfeld
MPPOI'95 Conference Chair

Encl.
=====

THE FOLLOWING IS IN LaTex Format. 

=================================================================================

\documentstyle[fullpage]{article}

\begin{document}

\begin{verbatim}
==========================================================================
                 The Second International Conference on
        MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS
===========================================================================

                          October 23-24, 1995
                              Menger Hotel
                        San-Antonio Texas,  USA

                             SPONSORED BY:
                         IEEE Computer Society
          IEEE Technical Committee on Computer Architecture (TCCA)

                          IN COOPERATION WITH:
           ACM Special Interest Group on Architecture (SIGARCH)
          The International Society for Optical Engineering (SPIE)
            The IEEE Lasers and Electro-optics Society (LEOS)
                   The Optical Society of America (OSA)

                        ADDITIONAL SUPPORT PROVIDED BY:
                  NSF - The National Science Foundation (pending)

========================================================================
                             ADVANCE PROGRAM
========================================================================

The Second International Conference on Massively Parallel Processing
Architectures using Optical Interconnections (MPPOI '95) is a continuation to 
a very successful first meeting held last year in Cancun, Mexico. This year we 
have an exciting program featuring eight invited talks from research and
industrial leaders in the fields of parallel computer systems, optical 
interconnections and technology, parallel applications and interconnection 
networks. We also have two panels with the participation of technological and 
academic experts, representing the current thoughts and trends of the field. 
And last, but not least, there are 34 regular papers accepted for presentation 
from authors all over the world. This rich and diverse program is sure to be 
most interesting and stimulate discussions and interactions among the 
researchers of this interdisciplinary field. The organizers of MPPOI 
strongly feel that massively parallel processing needs optical interconnections 
and optical interconnections need parallel processing. The Conference's focus 
is the possible use of optical interconnections for massively parallel 
processing systems, and their effect on system and algorithm design. Optics 
offers many benefits for interconnecting large numbers of processing elements, 
but may require us to rethink how we build parallel computer systems and 
communication networks, and how we write applications.  Fully exploring the 
capabilities of optical interconnection networks requires an interdisciplinary 
effort. It is critical that researchers from all related research areas are 
aware of each other's work and results. The intent of MPPOI is to assemble the 
leading researchers and to build towards a synergetic approach to MPP 
architectures, optical interconnections, operating systems, and software 
development.
\end{verbatim}
\newpage
\begin{verbatim}
*********************************************************************
                               LOCATION
*********************************************************************

SAN ANTONIO
American humorist and homespun philosopher Will Rogers once described San
Antonio as ``One of America's four unique cities". He had a natural instinct
for getting to the very essence of a subject, and his comment about San Antonio
is no exception. San Antonio truly is unique. From its founding in 1691 by
Spanish missionaries, San Antonio has grown from a sleepy little Texas pueblo
to the 9th largest city in the United States. Along the way it has been the
birthplace of the Texas revolution with the Battle of the Alamo in 1836.  It is
the new home of bioscience and hi-tech industry now. In all, over half a dozen
cultures, from Spanish and German to Lebanese and Greek, have impacted the
growth of San Antonio. And their influence is still evident in the architecture,
festivals, cuisine and customs which all contribute to the uniqueness and charm
of the city.

THE ALAMO
An old mission-fort, the Alamo, in San Antonio, has been called the "cradle of
Texas liberty." Its gallant defense and the horrible massacre of the more than
180 men who fought there inspired the cry, "Remember the Alamo!" Texas soldiers
shouted this at the battle of San Jacinto, which brought independence to Texas.

THE MENGER HOTEL
MPPOI '95 will be held in San Antonio's Menger Hotel, a historic landmark hotel.
It is next door to the Alamo, adjacent to Rivercenter Mall, the IMAX Theater and
River Walk and two blocks to the convention center. The hotel fronts Alamo Plaza
where the Sea World shuttle and sightseeing tours depart.

SPDP'95
For those that are interested in attending the SPDP'95: info. is available at
the following www cite: http://rabbit.cs.utsa.edu/Welcome.html. You must
register to SPDP'95 conference if you wish to attend it. The advance program
and other information may be obtain from the above location, or from:
Prof. Xiaodong Zhang, email: zhang@runner.utsa.edu , Phone: (210) 691-5541,
FAX: (210) 691-4437.

AIR TRANSPORTATION
United Airlines is the official airline of MPPOI '95. United will provide attendees 
round trip transportation to San Antonio on United, United Express or Shuttle by 
United scheduled service in the United States and Canada at fares of either 5% 
discount off any United, United Express or Shuttle by United published fares, 
including First Class, in effect when the tickets are purchased subject to all
applicable restrictions, or a 10% discount off applicable BUA, or like, fares 
in effect when tickets are purchased 7 days in advance. Reservations and schedule 
information may be obtained by calling the United Meetings desk at 1-800-521-4041 
and referencing Meeting ID Code 599XM.



ACCOMMODATION
The special MPPOI '95 Menger Hotel rate is US $90 for single or double.  Please
see the enclosed information for making your reservation directly with the hotel.

REGISTRATION
Please register to the conference using the attached form DIRECTLY with IEEE. 
TO HELP WITH THE PLANNING OF THE CONFERENCE PLEASE ALSO SEND email or fax, 
indicating the name(s) of people that register with IEEE and will attend 
(email: mppoi@research.nj.nec.com fax: +USA-609-951-2482 Att. Dr. Eugen Schenfeld).

LOCAL TRANSPORTATION
Star Shuttle provides van service from San Antonio International airport to the
Menger hotel for $6.00 per person each way. For more information and
reservations call +USA-(210)366-3183. Other transportation is available at the
airport, incl. taxi and busses.

CUSTOMS/PASSPORTS
It is suggested for those of other than US nationalities to check with a travel
agent and with an US consulate the requirements for VISA and passports to enter
the United States, as well as for US Customs regulations.

WEATHER & TIME
San Antonio's weather in late october ranges from low 60's to 70's Fahrenheit.
Climate is dry and perfect for sightseeing the many attractions the city and
surroundings have to offer.

JOIN US!
MPPOI'95 is in an ideal location to bring along family.  Your traveling
companions will be well entertained while you are participating in the
conference events.  For those that plan to spend the weekend before the
conference in San Antonio, we suggest to consult with a travel agent and with
the hotel for information on sightseeing and other local activities.  Please
note that the hotel rate is valid for the nights of Oct. 22-24. If you
wish to stay over a Sat. night (Oct. 21st), the hotel will try its best
to accommodate you with the same rate. Once you make a reservation,
please make sure to ask for the night of Oct. 21st. If not available,
you will be placed on a waiting lists. Chances are you may get it, but
currently it is not possible to confirm this.

==========================================
****** NSF TRAVEL SUPPORT (PENDING) ******
==========================================

The National Science Foundation (NSF) is considering to award travel support
for minority and female faculty members as well as for graduate students. This
travel award is pending final approval by the NSF and is available for authors
presenting papers at the MPPOI'95 conference. For details on the travel support
and to obtain a Request Form please contact (email, fax, or phone) the
Conference Chair at the above address.

\end{verbatim}
\newpage
\begin{verbatim}

STEERING COMMITTEE
==================

J. Goodman, Stanford University		     
L. Johnsson, University of Houston
S. Lee, University of California 	     
R. Melhem, University of Pittsburgh
E. Schenfeld, NEC Research Institute (Chair) 
P. Wang, George Mason University

CONFERENCE CHAIR:
================

        Dr. Eugen Schenfeld             (voice) (609)951-2742
        NEC Research Institute          (fax)   (609)951-2482
        4 Independence Way              email: MPPOI@RESEARCH.NJ.NEC.COM
        Princeton, NJ 08540, USA 

PUBLICITY CHAIR:   D. Quammen, George Mason University.
================

LOCAL ARRANGEMENTS CHAIR:  X. Zhang, University of Texas at San Antonio.
========================

PROGRAM COMMITTEE:
=================

Pierre Chavel, Institut d'Optique, Orsay, France
Alan Craig, Air Force Office of Scientific Research (AFOSR)
Karsten Decker, Swiss Scientific Computing Center, Manno, Switzerland
Jack Dennis, Lab. for CS, MIT, Boston, MA
Patrick Dowd, Dept. of ECE, SUNY at Buffalo, Buffalo, NY
Mary Eshaghian, Dept. of CS, NJIT, Newark, NJ
John Feo, Comp. Res. Grp., Lawrence Livermore Nat. Lab., Livermore, CA
Michael Flynn, Department of EE, Stanford University, Stanford, CA
Edward Frietman, Faculty of Applied Physics, Delft U., Delft, The Netherlands
Asher Friesem, Dept. of Electronics, Weizmann Inst., Israel
Kanad Ghose, Dept. of CS, SUNY at Binghamton, Binghamton NY
Allan Gottlieb, Dept. of CS, New York University, New York, NY
Joe Goodman, Department of EE, Stanford University, Stanford, CA
Alan Huang, Terabit Corp., Middletown, NJ
Oscar H. Ibarra, Department of Computer Science, UCSB, CA
Yoshiki Ichioka, Dept. of Applied Physics, Osaka U., Osaka, Japan
Leah Jamieson, School of ECE, Purdue University, West Lafayette, IN
Lennart Johnsson, Dept. of Computer Science, University of Houston, Houston TX
Kenichi Kasahara, Opto-Electronics Basic Res. Lab., NEC Corporation, Japan
Israel Koren, Dept. of ECS, U. of Mass, Amherst, MA
Raymond Kostuk, Dept. of ECE, U. of Arizona, Tucson, AZ
Ashok V. Krishnamoorthy, AT&T Bell Laboratories, Holmdel NJ
Sing Lee, Dept. of EE, UCSD, La Jolla, CA
Steve Levitan, Department of EE, U. of Pittsburgh, Pittsburgh, PA
Adolf Lohmann, Institute of Physics, U. of Erlangen, Erlangen, Germany
Ahmed Louri, Dept. of ECE, U. of Arizona, Tucson, AZ
Miroslaw Malek, Dept. of ECE, U. of Texas at Austin, Austin TX
Rami Melhem, Dept. of CS, University of Pittsburgh, Pittsburgh, PA
J. R. Moulic, IBM T. J. Watson Research Center, Yorktown Heights, NY
Miles Murdocca, Department of CS, Rutgers University, New Brunswick, NJ
John Neff, Opto-elec. Comp. Sys., U. of Colorado, Boulder, CO
Paul Prucnal, Department of EE, Princeton U., Princeton, NJ
Donna Quammen, Dept of CS, George Mason University, USA
John Reif, Department of CS, Duke University, Durham, NC
A. B. Ruighaver, Dept. of CS, U. of Melbourne, Victoria, Australia
A. A. Sawchuk, Dept. of EE, USC, Los-Angeles, CA
Eugen Schenfeld, NEC Research Institute, Princeton, NJ
Charles W. Stirk, Optoelectronic Data Systems, Inc., Boulder, CO
Pearl Wang, Dept. of CS, George Mason University, USA
Les Valiant, Div. of Applied Science, Harvard University, Cambridge, MA
Albert Zomaya, Dept. of EAEE, U. of Western Australia, Western Australia

SESSION CHAIRS
==============

P. Dowd, State University of New York at Buffalo
E. E. E. Frietman, Delft University of Technology, The Netherlands
R. Kostuk, University of Arizona at Tucson
A. Krishnamoorthy, AT&T Bell Laboratories
S. Levitan, University of Pittsburgh
Y. Li, NEC Research Institut
A. Louri, University of Arizona at Tucson
P. Wang, George Mason University

PANEL MODERATORS
================

E. E. E. Frietman, Delft University of Technology, The Netherlands
Y. Li, NEC Research Institute

INVITED SPEAKERS
================
Michael Flynn, Stanford University
G. Fox, Northeast Parallel Architectures Center at Syracus University
S. L. Johnsson, University of Houston
H. S. Hinton, University of Colorado at Boulder
Alan Huang, Terabit Corp.
H. T. Kung, Harvard University
D. Miller, AT&T Bell Labs.
B. Smith, Tera Computers Corp.

========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
_____________________________________________________________________

                      MPPOI '95 PROGRAM SCHEDULE
_____________________________________________________________________

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
***** INVITED TALKS: 40 Minutes. REGULAR TALKS: 20 Minutes *****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

========================================
SUNDAY, OCTOBER 22, 1995
========================================

6:00 PM - 7:30 PM
REGISTRATION 

========================================
Monday, October 23, 1995
========================================

7:00 AM - 8:00 AM       
CONTINENTAL BREAKFAST 
________________________________________

7:00 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:00 AM - 8:20 AM
OPENING REMARKS
Eugen Schenfeld, NEC Research Institute

8:20 AM - 10:00 AM
Session I
Chair: R. Kostuk, University of Arizona at Tucson

Hybrid SEED - Massively Parallel Optical Interconnections for Silicon ICs
D. Miller, AT&T Bell Labs. (INVITED)

Design Issues for Through-Wafer Optoelectronic Multicomputer Interconnects
P. May, N. M. Jokerst, D. S. Wills, S. Wilkinson, M. Lee, O. Vendier, S. Bond,
Z. Hou, G. Dagnall, M. A. Brooke, A. Brown, Georgia Institute of Technology

Design of a Terabit Free-Space Photonic Backplane for Parallel Computing
T. H. Szymanski, and  H. S. Hinton, McGill University and University of Colorado

Optical Interconnection Network for Massively Parallel Processors 
Using Beam-Steering Vertical Cavity Surface-Emitting Lasers
L. Fan, and M. C. Wu, University of California at Los Angeles;
H. C. Lee. and P. Grodzinski, Motorola Inc.
________________________________________

10:00 AM - 10:30 AM     
MID-MORNING BREAK
________________________________________

10:30 AM - 1:00 PM
PARALLEL SESSIONS: II AND III
_________________________________________

10:30 AM - 1:00 PM
Session II 
Chair: A. Krishnamoorthy, AT&T Bell Laboratories

The Role of Representation in Optimizing a Computer Architecture
Michael Flynn, Stanford University (INVITED)

An Evaluation of Communication Protocols for Star-Coupled
Multidimensional WDM Networks for Multiprocessors
K. R. Desai, and K. Ghose, State University of New York at Binghamton

Small Depth Beam-Steered Optical Interconnect
M. Murdocca, H. R. Nahata, and Y. Zhou, Rutgers University

Optical Fiber Interconnection System for Massively Parallel Processor Arrays
Y.-M. Zhang, X.-Q. He, G. Zhou, W.-Y. Liu, Y. Wang, 
Z.-P. Yin, and H.-Y. Wang, Tianjin University, P. R. of China

A Case Study for the Implementation of a Stochastic Bit Stream Neuron; 
The Choice Between Electrical and Optical Interconnects
M. A. Hands, W. Peiffer, H. Thienpont, A. Kirk, Vrije University, Belgium;
T. J. Hall, King's College, University of London, UK

Characterization of Massively Parallel Smart Pixels Systems for 
The Example of a Binary Associative Memory
D. Fey, Friedrich-Schiller University, Germany
________________________________________

10:30 AM - 1:00PM
Session III 
Chair: A. Louri, University of Arizona at Tucson

The Challenges Involved in the Design of a 100 Gb/s Internet
Alan Huang, Terabit Corp. (INVITED)

Fault-tolerance in Optically Implemented Multiprocessor Networks
P. Lalwaney, and I. Koren, University of Massachusetts at Amherst

A Speed Cache Coherence Protocol for an Optical
Multi-Access Interconnect Architecture
T. M. Pinkston, and J. Ha, University of Southern California

A Reconfigurable Optical Bus Structure for Shared Memory
Multiprocessors With Improved Performance
S. Ray, and H. Jiang, University of Nebraska-Lincoln

n-Dimensional Processor Arrays with Optical dBuses
G. Liu, and K. Y. Lee, University of Denver;
H. F. Jordan, University of Colorado at Boulder

The Difficulty of Finding Good Embeddings of 
Program Graphs onto the OPAM Architecture
B. Ramamurthy, and M. Krishnamoorthy, Rensselaer Polytechnic Institute
________________________________________

1:00 PM - 2:30 PM
CONFERENCE LUNCH (PROVIDED)
________________________________________

2:30 PM - 4:10 PM
Session IV
Chair: E. E. E. Frietman, Delft University of Technology, The Netherlands

Intelligent Optical Backplanes
H. S. Hinton, University of Colorado at Boulder (INVITED)

Connection Cube and Interleaved Optical Backplane for a Multiprocessor Data Bus
R. K. Kostuk, T. J. Kim, D. Ramsey, T.-H. Oh, and R. Boye
University of Arizona at Tucson

An Efficient 3-D Optical Implementation of Binary de Bruijn 
Networks with Applications to Massively Parallel Computing
A. Louri, and  H. Sung, 
University of Arizona at Tucson

Performance Evaluation of 3D Optoelectronic Computer
Architectures on FFT and Sorting Benchmarks
G. A. Betzos, and P. A. Mitkas, Colorado State University
________________________________________

4:10 PM - 4:30 PM
AFTERNOON BREAK
________________________________________

4:30 PM - 6:30 PM
CONFERENCE PANEL I
OPTICS FOR INTERCONNECTION: INDUSTRY'S INTERESTS and RESPONSIBILITIES
MODERATOR: Y. Li, NEC Research Institute

PANELISTS: R. Chen, University of Texas at Austin; N. Dutta, AT&T Bell Labs; 
N. Henmi, NEC Corp.; Y. S. Liu, General Electric; B. Pecor, Cray Research;
J. Rowlette, AMP Corp.; B. Smith, Tera Computers Corp.
________________________________________

7.00 PM - 8:30 PM
ACQUAINTANCE RECEPTION

Meet some of the MPPOI participants. 
Food and small talk opportunity provided.

========================================
TUESDAY, OCTOBER 24, 1995
========================================

7:00 AM - 8:00 AM
CONTINENTAL BREAKFAST
________________________________________

7:00 AM - 11:30 AM  
CONFERENCE REGISTRATION
________________________________________

8:00 AM - 10:00 AM
Session V
Chair: S. Levitan, University of Pittsburgh

Flow-Controlled ATM Switches for Available Bit Rate Services
H. T. Kung, Harvard University (INVITED)

Construction of Demonstration Parallel Optical Processors based on
CMOS/InGaAs Smart Pixel Technology
A. Walker, M. P. Y. Desmulliez, F. A. P. Tooley, 
D. T. Neilson, J. A. B. Dines, D. A. Baillie, 
S. M. Prince, L. C. Wilkinson, M. R. Taghizadeh, P. Blair, 
J. F. Snowdon, and B. S. Wherrett, Heriot-Watt University, Scotland;
C. Stanley, and F. Pottier, University of Glasgow, Scotland;
I. Underwood, and D. G. Vass, University of Edinburgh, Scotland;
W. Sibbett, and M. H. Dunn, University of St.-Andrews, Scotland.

General Purpose Bi-Directional Optical Backplane Bus
C. Zhao, S. Natarajan, and R. T. Chen, University of Texas, at Austin

Efficient Communication Scheme For Distributed Parallel Processor Systems
P. Kohler, and A. Gunzinger, Swiss Federal Institute of Technology, Switzerland

What Limits Capacity and Connectivity in Optical Interconnects
Y. Li, NEC Research Institute
________________________________________

10:00 AM - 10:30 AM      
MID-MORNING BREAK
________________________________________

________________________________________

10:30 AM - 12:30 PM
Session VI
Chair: P. Dowd, State University of New York at Buffalo

Data Partitioning for Load-Balance and Communication Bandwidth Preservation
S. L. Johnsson, University of Houston (INVITED)

Embedding Rings and Meshes in Partitioned Optical Passive Stars Networks
G. Gravenstreter, and R. G. Melhem, University of Pittsburgh

Optical Thyristor Based Subsystems for Digital Parallel Processing:  
Demonstrators and Future Perspectives
H. Thienpont, A. Kirk, and I. Veretennicoff, Vrije University, Belgium;
P. Heremans, B. Knupfer, and G. Borghs, IMEC Corp., Belgium;
M. Kuijk, and R. Vounckx, rije University, Belgium

Computer-Aided Design of Free-Space Optoelectronic Interconnection Systems
S. P. Levitan, P. J. Marchand, M. Rempel, D. M. Chiarulli, and F. B. McCormick, 
University of Pittsburgh and University of California at San Diego

Optical Design of a Fault Tolerant Self-Routing Switch for
Massively Parallel Processing Networks
M. Guizani, M. A. Memon, and S. Ghanta, King Fahd University, Saudi Arabia
________________________________________

12:30 PM - 1:30 PM   
LUNCH (ON YOUR OWN)
________________________________________

1:30 PM - 3:50 PM      
PARALLEL SESSIONS: VII and VIII
________________________________________

1:30 PM - 3:50 PM 
Session VII
Chair: P. Wang, George Mason University

Interconnection Networks for Shared Memory Parallel Computers
B. Smith, Tera Computers Corp. (INVITED)

A Comparative Study of One-to-Many WDM Lightwave 
Interconnection Networks for Multiprocessors
H. Bourdin, and A. Ferreira, CNRS - LIP ENS Lyon, France;
K. Marcus, ARTEMIS IMAG, Grenoble, France

Planar Optical Interconnections for 100Gb/s Packet Address Detection
S. H. Song and E.-H. Lee, 
Electronics & Telecommunications Research Institute, Taejon, South Korea

A Pipelined Self-Routing Optical Multichannel Time Slot Permutation Network
R. Kannan, H. F. Jordan, K. Y. Lee, and C. Reed,
University of Denver; University of Colorado at Boulder; 
and The Institute for Defense Analysis

Optical Interconnect Design for a Manufacturable Multicomputer
R. R. Krchnavek, R. D. Chamberlain, T. Barry, V. Malhotra, and Z. Dittia,
Washington University at St. Louis, Missouri

Hypercube Interconnection in TWDM Optical Passive Star Networks
S.-K. Lee, A. D. Oh, and H.-A. Choi, George Washington University
________________________________________

1:30 PM - 3:50 PM 
Session VIII
Chair: Y. Li, NEC Research Institut

>From Today's Desktop Gigaflop to Tomorrow's Central Petaflop;
>From Grand Challenges to the Information Age;
The Applications Driving Parallel Computing and Their Architecture Implications
G. Fox, Northeast Parallel Architectures Center at Syracus University (INVITED)

A Fiber-Optic Interconnection Concept for Scalable Massively Parallel Computing
M. Jonsson, K. Nilsson, and B. Svensson,
Halmstad University; and Chalmers University of Technology, Goteborg, Sweden

All-Optical Interconnects for Massively Parallel Processing
C. S. Ih, R. Tian, X. Xia, J. Chao, and Y. Wang, University of Delaware

Predictive Control of Opto-Electronic Reconfigurable 
Interconnection Networks Using Neural Networks
M. F. Sakr, S. P. Levitan, C. L. Giles, B. C. Horne, 
M. Maggini, and D. M. Chiarulli,
University of Pittsburgh; NEC Research Institute; and Firenze University, Italy

The Simultaneous Optical Multiprocessor Exchange Bus
J. Kulick, W. E. Cohen, C. Katsinis, E. Wells, A. Thomsen,
M. Abushagur, R. K. Gaede, R. Lindquist, G. Nordin, and D. Shen;
University of Alabama in Huntsville

On Some Architectural Issues of Optical Hierarchical Ring
Networks for Shared-Memory Multiprocessors
H. Jiang, C. Lam, and V. C. Hamacher, 
University of Nebraska-Lincoln; and Queen's University, Kingston, Canada
________________________________________

3:50 PM - 4:15 PM       
AFTERNOON BREAK
________________________________________




________________________________________

4:15 PM - 6:15 PM       
CONFERENCE PANEL II
OPTO-ELECTRONIC PROCESSING & NETWORKING IN MASSIVELY PARALLEL PROCESSING SYSTEMS
MODERATOR: E. E. E. Frietman, Delft University of Technology, The Netherlands

PANELISTS: C. Jesshope, University of Surrey, Surrey, UK; H. F. Jordan, 
University of Colorado at Boulder; G. D. Khoe, Eindhoven University of 
Technology, Eindhoven, The Netherlands; A. V. Krishnamoorthy, AT&T Bell Labs.; 
I. Koren, University of Massachusetts at Amherst; A. McAulay, Lehigh University;
I. MacDonald, Telecommunications Research Laboratories, Edmonton, Canada; 
M. Murdocca, Rutgers University; A. B. Ruighaver, Melbourne University, 
Australia; J. Sauer, University of Colorado at Boulder; H. Thienpont, Vrije 
Universiteit, Belgium; A. Walker, Heriot-Watt University, Edinburgh, Scotland; 
________________________________________

6:15 PM - 6:30 PM 

CLOSING REMARKS: ANNOUNCING MPPOI '96 AND FUTURE MEETING PLANS
Eugen Schenfeld NEC Research Institute
________________________________________

6:30 PM - 8:00 PM
CONFERENCE DINNER (PROVIDED)
________________________________________





















==============================================================================
\end{verbatim}
\newpage
\begin{verbatim}
                           Registration Form
                               MPPOI'95
                             Menger  Hotel
                           San Antonio, Texas
                          October 23-24, 1995

      TO REGISTER, MAIL OR FAX THIS FORM TO: MPPOI registration,
      IEEE Computer Society, 1730 Massachusetts Av, N.W.,
      Washington DC 20036-1992, USA. Fax: +USA-202-728-0884
      For information, call +USA-202-371-1013 - Sorry, no phone registration.

Name:----------------------------------------------------------------------
       Last                           First                        MI
Company:-------------------------------------------------------------------
Address:-------------------------------------------------------------------
City/State/Zip/Country:----------------------------------------------------
Daytime phone:----------------------- Fax number---------------------------
Company:-------------------------------------------------------------------
E-mail address:------------------------------------------------------------
IEEE/ACM/OSA/SPIE Member Number:   ------------------
Do you have any special needs: --------------------------------------------
---------------------------------------------------------------------------
Do not include my mailing address on:
-- Non-society mailing lists         -- Meeting Attendee lists

Please circle the appropriate registration fee:
Advance (before October 2, 1995)         Late(before October 16, 1995)/on site.
  Member $300                              Member $360
  Non-member $375                          Non-member $450
  Full-time student $150                   Full-time student $180

Total enclosed:$ --------------------------------
Please make all checks payable to: IEEE Computer Society. All checks must be in
US dollars drawn on US banks. Credit card charges will appear on statement as
"IEEE Computer Society Registration". Written requests for refunds must be
received by IEEE office before October 2, 1995. Refunds are subject to a $50
processing fees. Method of payment accepted (payment must accompany form):
-- Personal check               -- Company check        -- Traveler's check
-- American Express             -- Master Card          -- VISA
-- Dinner's club                -- Government purchase order (original)

Credit card number: -------------------------- Expiration date: ------------
Cardholder name   : --------------------------
Signature         : --------------------------

Non-student registration fees include conference attendance, proceedings,
continental breakfast, refreshment at breaks, conference reception, one conference
lunch and one conference dinner. Student registration fees ***DO NOT*** include
the lunch and ***DO NOT*** include the dinner.
===========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
______________________________________________________________________

                     MPPOI'95 HOTEL RESERVATION
                          The Menger Hotel
                         San Antonio, Texas
______________________________________________________________________

   PLEASE MAKE RESERVATIONS WITH THE MENGER HOTEL AS SOON AS POSSIBLE TO 
   GUARANTEE THE $90 RATE (HOTEL PHONE AND FAX NUMBERS ARE GIVEN AT BELLOW). 

 * The special MPPOI'95 group rate of US $90.00 (single or double) is available 
   from October 22 through October 25, 1995. All rates are subject to additional
   local and state taxes.  These rates will be available for reservations made 
   BEFORE September 22, 1995. Please note that the period Sep. to Nov. is the 
   high session in San Antonio and hotels are usually booked in advance. We 
   urge you to make early reservations as soon as possible.
   If you wish to stay over a Sat. night (Oct. 21st), the hotel will TRY its 
   best to accommodate you with the same rate. 

 * The MENGER HOTEL CONTACT POINTS: Phone: 1-800-345-9285 (for USA, or Canada)
   Phone: +USA-210-223-4361 (other countries);  Fax:  +USA-210-228-0022   

 * ALTERNATIVE LIST OF HOTELS (RATES AND RANK from AAA Tour Book): 

   IN CASE THE MENGER HOTEL IS FULL, here is a list of other nearby hotels (all 
   within walking distance of the Menger, in the downtown area of San Antonio). 
   These hotels have no arrangement with MPPOI and therefore you should not 
   identify yourself as a member of a group or conference. The arrangement with 
   these hotels is on a "one to one" basis, as with any other business traveler. 
   An early reservation is suggested. Also, it is always a good idea to look for 
   "specials" (i.e., advance paid rates, weekend specials, AAA rates, etc.). Also 
   please note that from the USA you may call the 800 directory (1-800-555-1212) 
   and ask for the 800 number of the hotel chain (such hotels are marked with a 
   '#' mark bellow), rates and ranking taken from AAA Tour Book 1994:

                                AAA   Typical       Phone            Fax 
                                Rank  Rate ($)     (+USA)           (+USA)
   
   * St. Anthony Hotel           4    106-130   (210)227-4392     none listed
   * Emily Morgan                3       85     (210)225-8486     none listed
   * Crocket Hotel               3     75-105   (210)225-6500     none listed
   # Hyatt Regency               4    119-170   (210)222-1234    (210)227-4925
   * La Mansion del Rio          4    135-220   (210)225-2581    (210)226-1365
   # Holiday Inn Riverwalk       3     95-119   (210)224-2500    (210)223-1302
   # Hilton Palacio del Rio      4    154-196   (210)222-1400    (210)270-0761
   * The Fairmounth Hotel        4    145-275   (210)224-8800    (210)224-2767
   # Marriott Riverwalk          4    135-150   (210)224-4555    (210)224-2754
   # La Quinta Motor Inn         3     83-90    (210)222-9181    (210)228-9816
   # Marriott Rivercenter        4      160     (210)223-1000    (210)223-6239
________________________________________________________________________________
\end{verbatim}

\end{document}




        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Sat Oct 28 20:37:39 1995
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id UAA03388; Sat, 28 Oct 1995 20:37:38 -0400
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id UAA25026; Sat, 28 Oct 1995 20:35:34 -0400
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id UAA25007; Sat, 28 Oct 1995 20:35:30 -0400
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id UAA20117(zingo); Sat, 28 Oct 1995 20:29:21 -0400
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id TAA25466(iris49); Sat, 28 Oct 1995 19:58:30 -0400
Date: Sat, 28 Oct 1995 19:58:30 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199510282358.TAA25466@iris49>
To: mppoi@research.nj.nec.com
Subject: JPDC Special Issue - CFP



                              CALL FOR PAPERS

                           Special Issue of the
            Journal of Parallel and Distributed Computing (JPDC)

                                    on

              Parallel Computing with Optical Interconnections 

Papers are solicited for a special issue of the  Journal  of  Parallel and  
Distributed Computing (JPDC) to be published in December 1996. 

This special issue will cover different aspects of applying optical technologies 
to  interconnections. The topics  of interest include but are not limited to the 
following:

      -Optical Computational Models
      -Optical Parallel Architectures
      -Optical Interconnection Networks
      -Control and Routing in Optical Networks
      -Packaging and Layout of Optical Interconnections
      -Electro-optical, and opto-electronic components
      -Design and Mapping of Parallel/Optical Algorithms
      -Relative Merits of Optical Technologies and Devices
      -Cost/performance Studies in using Optical Interconnects
      -Experimental/Commercial Optical Systems and Applications

Authors should follow the JPDC  manuscript  format as described in the 
Information for Authors at the end of each issue of JPDC.  Five copies of 
complete double-spaced manuscript (maximum 35 doubled-spaced pages) should be 
sent to either one of the two co-guest editors by December 1, 1995. Authors
will be notified of the final publication decision by May 1, 1996. Only
original, unpublished work will be considered; manuscripts resembling any
previously published work in a journal are unacceptable.


                          Co-Guest Editors

Prof. Mary M. Eshaghian                         Dr. Eugen Schenfeld 
Dept. of Computer & Information Sci.            NEC Research Institute
New Jersey Institute of Technology              4 Independence Way
Newark, NJ 07102 USA                            Princeton, NJ 08540 USA
Tel: (201)596-3244                              Tel: (609)951-2742
Fax: (201)596-5777                              Fax:  609 951 2482
Email: mary@cis.njit.edu                        Email: eugen@research.nj.nec.com 


=================================================================================


        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Thu Jan 25 23:13:28 1996
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id XAA14831; Thu, 25 Jan 1996 23:13:28 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id XAA05871; Thu, 25 Jan 1996 23:13:14 -0500
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id XAA05859; Thu, 25 Jan 1996 23:13:09 -0500
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id XAA08969(zingo); Thu, 25 Jan 1996 23:08:04 -0500
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id VAA22135(iris49); Thu, 25 Jan 1996 21:57:58 -0500
Date: Thu, 25 Jan 1996 21:57:58 -0500
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199601260257.VAA22135@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'96 CFP


                                  Call for Papers 

                        The Third International Conference on  

                        MASSIVELY PARALLEL PROCESSING USING 
                        OPTICAL INTERCONNECTIONS (MPPOI'96) 

                               The Westin Maui Hotel 
                                   Maui, Hawaii  

                                October 27-29, 1996  

                                   Sponsored by 

             IEEE CS TCCA (Technical Committee on Computer Architecture)

                                In Cooperation with 

                 ACM Special Interest Group on Architecture (SIGARCH) 
                   The IEEE Lasers and Electro-optics Society (LEOS) 
                        The Optical Society of America (OSA) 
                The International Society for Optical Engineering (SPIE)

The third annual conference on Massively Parallel Processing Architectures
using Optical Interconnections (MPPOI'96) will be held on Oct. 27-29, 1996
in the Westin Maui Hotel, Maui, Hawaii.  The Conference will focus on the potential
for using optical interconnections in massively parallel processing systems, and their
effect on system and algorithm design. Optics offer many benefits for
interconnecting large numbers of processing elements, but may require us to
rethink how we build parallel computer systems and communication networks,
and how we write applications.  Fully exploring the capabilities of optical
interconnection networks requires an interdisciplinary effort.  It is
critical that researchers in all areas of the field are aware of each
other's work and results. The intent of MPPOI is to assemble the leading
researchers and to build towards a synergetic approach to MPP architectures,
optical interconnections, operating systems, and software development. The 
conference will feature invited speakers, followed by several sessions of submitted 
papers, and will conclude with a panel discussion. 

The topics of interest include but are not limited to the following:

- Optical interconnections, Reconfigurable Architectures,
- Embedding and mapping of applications and algorithms,
- Packaging and layout of optical interconnections,
- Electro-optical, and opto-electronic components,
- Relative merits of optical technologies (free-space, fibers, wave guides),
- Passive optical elements, Algorithms and applications exploiting,
- Data distribution and partitioning,
- Characterizing parallel applications,
- Cost/performance studies. 

Authors are invited to submit manuscripts which demonstrate original 
unpublished research in areas of computer architecture and optical 
interconnections.  Papers submitted must not be under considerations for 
another conference.

SUBMITTING PAPERS
=================
Authors are invited to submit manuscripts which demonstrate original
unpublished research in the above areas. Papers submitted must not be 
under considerations for another conference. Send eight (8) copies of the 
complete paper (not to exceed 15 single spaced, single sided pages) to: 

Dr. Eugen Schenfeld, MPPOI'96 Conference, NEC Research Institute,
4 Independence Way, Princeton, NJ 08540, USA, (voice) (609)951-2742,
(fax) (609)951-2482, email: MPPOI@RESEARCH.NJ.NEC.COM. 

Manuscripts must be received by May 1, 1996 
Notification of review decisions will be mailed by July 15, 1996.  
Camera ready papers are due August 30, 1996.  
Fax or electronic submissions WILL NOT BE CONSIDERED. The proceedings will be 
published by the IEEE CS Press and will be available at the conference.


CONFERENCE CHAIR
================

Rami Melhem, University of Pittsburgh 

PROGRAM CO-CHAIRS
=================

Allan Gottlieb, NYU; Yao Li, NEC Research Institute


PUBLICITY and PUBLICATION CHAIR
===============================

Eugen Schenfeld, NEC Research Institute 


PROGRAM COMMITTEE 
=================

T. Ae, Hiroshima University (Japan) 
D. Agrawal, North Carolina State University (USA) 
K. Batcher, University of Kent (USA) 
J. Bristow, Honeywell (USA) 
T. Casavant, University of Iowa, Iowa City (USA) 
P. Chavel, Institut d'Optique (France) 
R. Chen, University of Texas (USA) 
A. Chien, UIUC (USA) 
T. Cloonan, AT&T Bell Labs (USA) 
S. Dickey, Pace University (USA) 
N. Dutta, AT&T Bell Labs (USA)
M. Eshaghian, NJIT, Newark (USA) 
M. Flynn, Stanford University (USA) 
L. Giles, NEC Research Institute (USA) 
C. Georgiou, IBM T. J. Watson Research Center (USA) 
K. Ghose, SUNY at Binghamton (USA) 
J. Goodman, Stanford University (USA) 
J. Goodman, University of Wisconsin (USA) 
M. Goodman, Bellcore (USA) 
J. Grote, USAF Wright Patterson (USA) 
A. Gupta, Stanford University (USA) 
S. Hinton, University of Colorado (USA) 
F. Hsu, Fordham University (USA) 
Y. Ichioka, Osaka University (Japan) 
H. Inoue, Hitachi (Japan) 
H. Johnsson, University of Houston, (USA) 
N. Jokerst, Georgia Tech., (USA) 
H. Jordan, University of Colorado (USA)
K. Kasahara, NEC Corp. (Japan) 
F. Kiamilev, University of N. Carolina, Charlotte (USA) 
T. Knight, MIT (USA) 
A. Krishnamoorthy, AT&T Bell Labs (USA) 
S. Lee, UCSD (USA) 
K. Li, Princeton University (USA) 
A. Lohmann   University of Erlangen-Nurnberg (Germany)
A. Louri, University of Arizona (USA) 
Y.-D. Lyuu, National Taiwan University (Taiwan) 
T. Maruyama, NEC Corp. (Japan) 
M. Murdocca, Rutgers University (USA) 
J. Neff, University of Colorado (USA) 
L. Ni, Michigan State University (USA) 
A. Nowatzyk, Sun Microsystems (USA) 
Y. Patt, University of Michigan (USA) 
W. Paul, Universitaet des Saarlandes-Saarbruecken (Germany) 
T. Pinkston, USC (USA) 
C. Qiao, SUNY at Buffalo (USA) 
J. Reif, Duke university (USA) 
J. Rowlette, AMP (USA) 
H. J. Siegel, Purdue University (USA) 
S. Sahni, University of Florida (USA) 
A. Smith, UC Berkeley (USA) 
M. Snir, IBM T. J. Watson Research Center (USA) 
G. Sohi, University of Wisconsin (USA) 
Q. Song, Syracuse University (USA) 
T. Sterling, USRA  CESDIS (USA) 
B. Tarjan, Princeton University (USA) 
S. Tomita, Kyoto University, Kyoto (Japan) 
F. Tooley, McGill University (Canada) 
L. Valiant, Harvard University (USA) 
A. Walker, Heriot-Watt University (UK) 
P. Wang, George Masson University (USA)
S. Yokoyama, Hiroshima University (Japan) 
Y. Zhang, Tianjin University (China) 


===============


        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Tue Mar 12 00:03:01 1996
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id AAA28139; Tue, 12 Mar 1996 00:03:00 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id AAA24485; Tue, 12 Mar 1996 00:04:42 -0500
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id AAA24478; Tue, 12 Mar 1996 00:04:37 -0500
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id AAA07468(zingo); Tue, 12 Mar 1996 00:03:38 -0500
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id WAA14014(iris49); Mon, 11 Mar 1996 22:57:40 -0500
Date: Mon, 11 Mar 1996 22:57:40 -0500
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199603120357.WAA14014@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'96 CFP - May 1, '96


                                  Call for Papers 

                        The Third International Conference on  

                        MASSIVELY PARALLEL PROCESSING USING 
                        OPTICAL INTERCONNECTIONS (MPPOI'96) 

                               The Westin Maui Hotel 
                                   Maui, Hawaii  

                                October 27-29, 1996  

                                   Sponsored by 

             IEEE CS TCCA (Technical Committee on Computer Architecture)

                                In Cooperation with 

                 ACM Special Interest Group on Architecture (SIGARCH) 
                   The IEEE Lasers and Electro-optics Society (LEOS) 
                        The Optical Society of America (OSA) 
                The International Society for Optical Engineering (SPIE)

The third annual conference on Massively Parallel Processing Architectures
using Optical Interconnections (MPPOI'96) will be held on Oct. 27-29, 1996
in the Westin Maui Hotel, Maui, Hawaii. The Conference will focus on the 
potential for using optical interconnections in massively parallel processing 
systems, and their effect on system and algorithm design. Optics offer many 
benefits for interconnecting large numbers of processing elements, but may 
require us to rethink how we build parallel computer systems and communication 
networks, and how we write applications.  Fully exploring the capabilities of 
optical interconnection networks requires an interdisciplinary effort.  It is
critical that researchers in all areas of the field are aware of each other's 
work and results. The intent of MPPOI is to assemble the leading researchers 
and to build towards a synergetic approach to MPP architectures, optical 
interconnections, operating systems, and software development. The conference 
will feature invited speakers, followed by several sessions of submitted 
papers, and will conclude with a panel discussion. 

The topics of interest include but are not limited to the following:

- Optical interconnections, Reconfigurable Architectures,
- Embedding and mapping of applications and algorithms,
- Packaging and layout of optical interconnections,
- Electro-optical, and opto-electronic components,
- Relative merits of optical technologies (free-space, fibers, wave guides),
- Passive optical elements, Algorithms and applications exploiting,
- Data distribution and partitioning,
- Characterizing parallel applications,
- Cost/performance studies. 

Authors are invited to submit manuscripts which demonstrate original 
unpublished research in areas of computer architecture and optical 
interconnections.  Papers submitted must not be under considerations for 
another conference.

SUBMITTING PAPERS
=================
Authors are invited to submit manuscripts which demonstrate original
unpublished research in the above areas. Papers submitted must not be 
under considerations for another conference. Send eight (8) copies of the 
complete paper (not to exceed 15 single spaced, single sided pages) to: 

Dr. Eugen Schenfeld, MPPOI'96 Conference, NEC Research Institute,
4 Independence Way, Princeton, NJ 08540, USA, (voice) (609)951-2742,
(fax) (609)951-2482, email: MPPOI@RESEARCH.NJ.NEC.COM. 

 ===========================================
 MANUSCRIPTS MUST BE RECEIVED BY MAY 1, 1996 
 ===========================================

Notification of review decisions will be mailed by July 15, 1996.  
Camera ready papers are due August 30, 1996.  
Fax or electronic submissions WILL NOT BE CONSIDERED. The proceedings will be 
published by the IEEE CS Press and will be available at the conference.


CONFERENCE CHAIR
================

Rami Melhem, University of Pittsburgh 

PROGRAM CO-CHAIRS
=================

Allan Gottlieb, NYU; Yao Li, NEC Research Institute


PUBLICITY and PUBLICATION CHAIR
===============================

Eugen Schenfeld, NEC Research Institute 


PROGRAM COMMITTEE 
=================

T. Ae, Hiroshima University (Japan) 
D. Agrawal, North Carolina State University (USA) 
K. Batcher, University of Kent (USA) 
J. Bristow, Honeywell (USA) 
T. Casavant, University of Iowa, Iowa City (USA) 
P. Chavel, Institut d'Optique (France) 
R. Chen, University of Texas (USA) 
A. Chien, UIUC (USA) 
T. Cloonan, AT&T Bell Labs (USA) 
S. Dickey, Pace University (USA) 
N. Dutta, AT&T Bell Labs (USA)
M. Eshaghian, NJIT, Newark (USA) 
M. Flynn, Stanford University (USA) 
L. Giles, NEC Research Institute (USA) 
C. Georgiou, IBM T. J. Watson Research Center (USA) 
K. Ghose, SUNY at Binghamton (USA) 
J. Goodman, Stanford University (USA) 
J. Goodman, University of Wisconsin (USA) 
M. Goodman, Bellcore (USA) 
J. Grote, USAF Wright Patterson (USA) 
A. Gupta, Stanford University (USA) 
S. Hinton, University of Colorado (USA) 
F. Hsu, Fordham University (USA) 
Y. Ichioka, Osaka University (Japan) 
H. Inoue, Hitachi (Japan) 
K. Jenkins, University of Southern California (USA)
L. Johnsson, University of Houston, (USA) 
N. Jokerst, Georgia Tech., (USA) 
H. Jordan, University of Colorado (USA)
K. Kasahara, NEC Corp. (Japan) 
F. Kiamilev, University of N. Carolina, Charlotte (USA) 
T. Knight, MIT (USA) 
R. Kostuk, University of Arizona at Touson (USA) 
A. Krishnamoorthy, AT&T Bell Labs (USA) 
S. Lee, UCSD (USA) 
K. Li, Princeton University (USA) 
A. Lohmann   University of Erlangen-Nurnberg (Germany)
A. Louri, University of Arizona (USA) 
Y.-D. Lyuu, National Taiwan University (Taiwan) 
T. Maruyama, NEC Corp. (Japan) 
M. Murdocca, Rutgers University (USA) 
J. Neff, University of Colorado (USA) 
L. Ni, Michigan State University (USA) 
A. Nowatzyk, Sun Microsystems (USA) 
Y. Patt, University of Michigan (USA) 
W. Paul, Universitaet des Saarlandes-Saarbruecken (Germany) 
B. Pecor, Cray (USA)
T. Pinkston, USC (USA) 
C. Qiao, SUNY at Buffalo (USA) 
J. Reif, Duke university (USA) 
J. Rowlette, AMP (USA) 
H. J. Siegel, Purdue University (USA) 
S. Sahni, University of Florida (USA) 
A. Smith, UC Berkeley (USA) 
M. Snir, IBM T. J. Watson Research Center (USA) 
G. Sohi, University of Wisconsin (USA) 
Q. Song, Syracuse University (USA) 
T. Sterling, USRA  CESDIS (USA) 
B. Tarjan, Princeton University (USA) 
S. Tomita, Kyoto University, Kyoto (Japan) 
F. Tooley, McGill University (Canada) 
L. Valiant, Harvard University (USA) 
O. Wada, Fujitsu Corp. (Japan) 
A. Walker, Heriot-Watt University (UK) 
P. Wang, George Masson University (USA)
S. Yokoyama, Hiroshima University (Japan) 
Y. Zhang, Tianjin University (China) 

=============



        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Mon Mar 18 20:32:48 1996
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id UAA19215; Mon, 18 Mar 1996 20:32:48 -0500
Received: from localhost by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id UAA24634; Mon, 18 Mar 1996 20:34:36 -0500
Received: from zingo by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id UAA24626; Mon, 18 Mar 1996 20:34:29 -0500
Received: by zingo (940816.SGI.8.6.9/YDL1.4-910307.16)
	id UAA21237(zingo); Mon, 18 Mar 1996 20:33:09 -0500
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id TAA05488(iris49); Mon, 18 Mar 1996 19:17:08 -0500
Date: Mon, 18 Mar 1996 19:17:08 -0500
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199603190017.TAA05488@iris49>
To: optics@research.nj.nec.com
Subject: Research Position Available


Research Position at the NEC Research Institute, Princeton NJ
=============================================================

The NEC Research Institute in Princeton, NJ has an opening for a Post-Doc 
position, initially for a one year term, in the area of high-speed Opto-Electronic
circuits and systems.  

We are looking for a candidate who will contribute to the design, implementation 
and experiments of a free-space interconnection network for parallel processing 
architecture. Candidates should have knowledge of related topics, including the 
setup of experiments and measuring instruments, and the design of high speed 
electronic circuit for opto-electronic communication.  The successful candidate 
should have practical lab. experience. A Ph.D. in EE is needed.
NEC is an equal opportunity employer.

Interested applicants should send (by fax, email or regular mail) a 
resumes, copies of few of their recent papers, and the name, phone number and email 
address of 3 people who can recommend them to:

Dr. Eugen Schenfeld
NEC Research Institute
4 Independence Way
Princeton, NJ  08540
Phone: 609-951-2742
FAX: 609-951-2482
email: eugen@research.nj.nec.com



        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Sun Apr 14 18:23:56 1996
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id SAA09171; Sun, 14 Apr 1996 18:23:56 -0400
Received: from localhost (root@localhost) 
        by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id SAA21000; Sun, 14 Apr 1996 18:25:25 -0400
Received: from zingo.nj.nec.com (zingo.nj.nec.com [138.15.150.106]) 
        by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id SAA20981; Sun, 14 Apr 1996 18:25:20 -0400
Received: from iris49 (iris49 [138.15.150.129]) by zingo.nj.nec.com (8.7.4/8.7.3) with SMTP id SAA03806; Sun, 14 Apr 1996 18:08:47 -0400 (EDT)
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id RAA03839(iris49); Sun, 14 Apr 1996 17:12:19 -0400
Date: Sun, 14 Apr 1996 17:12:19 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199604142112.RAA03839@iris49>
To: mppoi@research.nj.nec.com
Subject: CFP: MPPOI'96-Deadline 5/1/96


PLEASE NOTE:
The deadline for submitting papers to MPPOI'96 is May 1st, 1996
===============================================================


                                  Call for Papers 

                        The Third International Conference on  

                        MASSIVELY PARALLEL PROCESSING USING 
                        OPTICAL INTERCONNECTIONS (MPPOI'96) 

                               The Westin Maui Hotel 
                                   Maui, Hawaii  

                                October 27-29, 1996  

                                   Sponsored by 

             IEEE CS TCCA (Technical Committee on Computer Architecture)

                                In Cooperation with 

                 ACM Special Interest Group on Architecture (SIGARCH) 
                   The IEEE Lasers and Electro-optics Society (LEOS) 
                        The Optical Society of America (OSA) 
                The International Society for Optical Engineering (SPIE)

The third annual conference on Massively Parallel Processing Architectures
using Optical Interconnections (MPPOI'96) will be held on Oct. 27-29, 1996
in the Westin Maui Hotel, Maui, Hawaii.  The Conference will focus on the 
potential for using optical interconnections in massively parallel processing 
systems, and their effect on system and algorithm design. Optics offer many 
benefits for interconnecting large numbers of processing elements, but may 
require us to rethink how we build parallel computer systems and communication 
networks, and how we write applications.  Fully exploring the capabilities of 
optical interconnection networks requires an interdisciplinary effort.  It is
critical that researchers in all areas of the field are aware of each
other's work and results. The intent of MPPOI is to assemble the leading
researchers and to build towards a synergetic approach to MPP architectures,
optical interconnections, operating systems, and software development. The 
conference will feature invited speakers, followed by several sessions of 
submitted papers, and will conclude with a panel discussion. 

The topics of interest include but are not limited to the following:

- Optical interconnections, Reconfigurable Architectures,
- Embedding and mapping of applications and algorithms,
- Packaging and layout of optical interconnections,
- Electro-optical, and opto-electronic components,
- Relative merits of optical technologies (free-space, fibers, wave guides),
- Passive optical elements, Algorithms and applications exploiting,
- Data distribution and partitioning,
- Characterizing parallel applications,
- Cost/performance studies. 

Authors are invited to submit manuscripts which demonstrate original 
unpublished research in areas of computer architecture and optical 
interconnections.  Papers submitted must not be under considerations for 
another conference.

SUBMITTING PAPERS
=================
Authors are invited to submit manuscripts which demonstrate original
unpublished research in the above areas. Papers submitted must not be 
under considerations for another conference. Send eight (8) copies of the 
complete paper (not to exceed 15 single spaced, single sided pages) to: 

Dr. Eugen Schenfeld, MPPOI'96 Conference, NEC Research Institute,
4 Independence Way, Princeton, NJ 08540, USA, (voice) (609)951-2742,
(fax) (609)951-2482, email: MPPOI@RESEARCH.NJ.NEC.COM. 

Manuscripts must be received by May 1, 1996 
Notification of review decisions will be mailed by July 15, 1996.  
Camera ready papers are due August 30, 1996.  
Fax or electronic submissions WILL NOT BE CONSIDERED. The proceedings will be 
published by the IEEE CS Press and will be available at the conference.


CONFERENCE CHAIR
================

Rami Melhem, University of Pittsburgh 

PROGRAM CO-CHAIRS
=================

Allan Gottlieb, NYU; Yao Li, NEC Research Institute


PUBLICITY and PUBLICATION CHAIR
===============================

Eugen Schenfeld, NEC Research Institute 


PROGRAM COMMITTEE 
=================

T. Ae, Hiroshima University (Japan) 
D. Agrawal, North Carolina State University (USA) 
K. Batcher, University of Kent (USA) 
J. Bristow, Honeywell (USA) 
T. Casavant, University of Iowa, Iowa City (USA) 
P. Chavel, Institut d'Optique (France) 
R. Chen, University of Texas (USA) 
A. Chien, UIUC (USA) 
T. Cloonan, AT&T Bell Labs (USA) 
S. Dickey, Pace University (USA) 
N. Dutta, AT&T Bell Labs (USA)
M. Eshaghian, NJIT (USA) 
M. Flynn, Stanford University (USA) 
L. Giles, NEC Research Institute (USA) 
C. Georgiou, IBM T. J. Watson Research Center (USA) 
K. Ghose, SUNY at Binghamton (USA) 
J. Goodman, Stanford University (USA) 
J. Goodman, University of Wisconsin (USA) 
M. Goodman, Bellcore (USA) 
J. Grote, USAF Wright Patterson (USA) 
A. Gupta, Stanford University (USA) 
S. Hinton, University of Colorado (USA) 
F. Hsu, Fordham University (USA) 
Y. Ichioka, Osaka University (Japan) 
H. Inoue, Hitachi (Japan) 
K. Jenkins, University of Southern California (USA)
L. Johnsson, University of Houston, (USA) 
N. Jokerst, Georgia Tech., (USA) 
H. Jordan, University of Colorado (USA)
K. Kasahara, NEC Corp. (Japan) 
F. Kiamilev, University of N. Carolina, Charlotte (USA) 
T. Knight, MIT (USA) 
R. Kostuk, University of Arizona at Touson (USA) 
A. Krishnamoorthy, AT&T Bell Labs (USA) 
S. Lee, UCSD (USA) 
K. Li, Princeton University (USA) 
A. Lohmann   University of Erlangen-Nurnberg (Germany)
A. Louri, University of Arizona (USA) 
Y.-D. Lyuu, National Taiwan University (Taiwan) 
T. Maruyama, NEC Corp. (Japan) 
M. Murdocca, Rutgers University (USA) 
J. Neff, University of Colorado (USA) 
L. Ni, Michigan State University (USA) 
A. Nowatzyk, Sun Microsystems (USA) 
Y. Patt, University of Michigan (USA) 
W. Paul, Universitaet des Saarlandes-Saarbruecken (Germany) 
B. Pecor, Cray (USA)
T. Pinkston, USC (USA) 
C. Qiao, SUNY at Buffalo (USA) 
J. Reif, Duke university (USA) 
J. Rowlette, AMP (USA) 
H. J. Siegel, Purdue University (USA) 
S. Sahni, University of Florida (USA) 
A. Smith, UC Berkeley (USA) 
M. Snir, IBM T. J. Watson Research Center (USA) 
G. Sohi, University of Wisconsin (USA) 
Q. Song, Syracuse University (USA) 
T. Sterling, USRA  CESDIS (USA) 
B. Tarjan, Princeton University (USA) 
S. Tomita, Kyoto University (Japan) 
F. Tooley, McGill University (Canada) 
L. Valiant, Harvard University (USA) 
O. Wada, Fujitsu Corp. (Japan) 
A. Walker, Heriot-Watt University (UK) 
P. Wang, George Masson University (USA)
S. Yokoyama, Hiroshima University (Japan) 
Y. Zhang, Tianjin University (China) 




        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Tue Aug 13 18:32:56 1996
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id SAA07399; Tue, 13 Aug 1996 18:32:56 -0400
Received: from localhost (root@localhost) 
        by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id SAA22106; Tue, 13 Aug 1996 18:35:22 -0400
Received: from zingo.nj.nec.com (zingo.nj.nec.com [138.15.150.106]) 
        by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id SAA22087; Tue, 13 Aug 1996 18:35:18 -0400
Received: from iris49 (iris49 [138.15.150.129]) by zingo.nj.nec.com (8.7.4/8.7.3) with SMTP id SAA00770; Tue, 13 Aug 1996 18:33:40 -0400 (EDT)
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id RAA02048(iris49); Tue, 13 Aug 1996 17:13:17 -0400
Date: Tue, 13 Aug 1996 17:13:17 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199608132113.RAA02048@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'96 Advance Program: Maui, Oct. 27-29, '96

\documentstyle[fullpage]{article}

\begin{document}

\begin{verbatim}
==========================================================================
                 The Third International Conference on
        MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS
===========================================================================


                         The Westin Maui Hotel
                             Maui, Hawaii
                          October 27-29, 1996

                             SPONSORED BY:
          IEEE Technical Committee on Computer Architecture (TCCA)

                          IN COOPERATION WITH:
           ACM Special Interest Group on Architecture (SIGARCH)
          The International Society for Optical Engineering (SPIE)
            The IEEE Lasers and Electro-optics Society (LEOS)
                   The Optical Society of America (OSA)

                        ADDITIONAL SUPPORT PROVIDED BY:
                     NSF - The National Science Foundation 

______________________________________________________________________

PLEASE NOTE:
===========

THIS IS A PRELIMINARY MAILING INTENDED FOR TRIP PLANNING. MORE DETAILED
INFORMATION WILL BE AVAILABLE LATTER, TO INCLUDE INFORMATION ABOUT MAUI,
GETTING THERE (AIRPORTS), ALTERNATIVE HOTEL RESERVATIONS, AND OTHER USEFUL
INFORMATION. THE CURRENT DOCUMENT LISTS THE ADVANCED PROGRAM, REGISTRATION
FORM, AND THE WESTIN MAUI HOTEL INFORMATION.

FOR MORE INFORMATION PLEASE CONTACT: mppoi@research.nj.nec.com
or fax to Dr. Eugen Schenfeld, +USA-609-951-2482

-----------------------------------------------------------------------

The third annual conference on Massively Parallel Processing Architectures
using Optical Interconnections (MPPOI'96) will be held on Oct. 27-29, 1996
in the Westin Maui Hotel, Maui, Hawaii.  The Conference will focus on the
potential for using optical interconnections in massively parallel processing
systems, and their effect on system and algorithm design. Optics offer many
benefits for interconnecting large numbers of processing elements, but may
require us to rethink how we build parallel computer systems and communication
networks, and how we write applications.  Fully exploring the capabilities of
optical interconnection networks requires an interdisciplinary effort.  It is
critical that researchers in all areas of the field are aware of each
other's work and results. The intent of MPPOI is to assemble the leading
researchers and to build towards a synergetic approach to MPP architectures,
optical interconnections, operating systems, and software development. The
conference will feature invited speakers, followed by several sessions of
submitted papers, and will conclude with a panel discussion.

The topics of interest include but are not limited to the following:

- Optical interconnections, Reconfigurable Architectures,
- Embedding and mapping of applications and algorithms,
- Packaging and layout of optical interconnections,
- Electro-optical, and opto-electronic components,
- Relative merits of optical technologies (free-space, fibers, wave guides),
- Passive optical elements, Algorithms and applications exploiting,
- Data distribution and partitioning,
- Characterizing parallel applications,
- Cost/performance studies.


CONFERENCE CHAIR
================

Rami Melhem, University of Pittsburgh

PROGRAM CO-CHAIRS
=================

Allan Gottlieb, NYU; Yao Li, NEC Research Institute


PUBLICITY and PUBLICATION CHAIR
===============================

Eugen Schenfeld, NEC Research Institute


PROGRAM COMMITTEE
=================

T. Ae, Hiroshima University (Japan)
D. Agrawal, North Carolina State University (USA)
K. Batcher, University of Kent (USA)
J. Bristow, Honeywell (USA)
T. Casavant, University of Iowa, Iowa City (USA)
P. Chavel, Institut d'Optique (France)
R. Chen, University of Texas (USA)
A. Chien, UIUC (USA)
T. Cloonan, AT&T Bell Labs (USA)
S. Dickey, Pace University (USA)
N. Dutta, AT&T Bell Labs (USA)
M. Eshaghian, NJIT (USA)
M. Flynn, Stanford University (USA)
L. Giles, NEC Research Institute (USA)
C. Georgiou, IBM T. J. Watson Research Center (USA)
K. Ghose, SUNY at Binghamton (USA)
J. Goodman, Stanford University (USA)
J. Goodman, University of Wisconsin (USA)
M. Goodman, Bellcore (USA)
J. Grote, USAF Wright Patterson (USA)
A. Gupta, Stanford University (USA)
S. Hinton, University of Colorado (USA)
F. Hsu, Fordham University (USA)
Y. Ichioka, Osaka University (Japan)
H. Inoue, Hitachi (Japan)
K. Jenkins, University of Southern California (USA)
L. Johnsson, University of Houston, (USA)
N. Jokerst, Georgia Tech., (USA)
H. Jordan, University of Colorado (USA)
K. Kasahara, NEC Corp. (Japan)
F. Kiamilev, University of N. Carolina, Charlotte (USA)
T. Knight, MIT (USA)
R. Kostuk, University of Arizona at Touson (USA)
A. Krishnamoorthy, AT&T Bell Labs (USA)
S. Lee, UCSD (USA)
K. Li, Princeton University (USA)
A. Lohmann   University of Erlangen-Nurnberg (Germany)
A. Louri, University of Arizona (USA)
Y.-D. Lyuu, National Taiwan University (Taiwan)
T. Maruyama, NEC Corp. (Japan)
M. Murdocca, Rutgers University (USA)
J. Neff, University of Colorado (USA)
L. Ni, Michigan State University (USA)
A. Nowatzyk, Sun Microsystems (USA)
Y. Patt, University of Michigan (USA)
W. Paul, Universitaet des Saarlandes-Saarbruecken (Germany)
B. Pecor, Cray (USA)
T. Pinkston, USC (USA)
C. Qiao, SUNY at Buffalo (USA)
J. Reif, Duke university (USA)
J. Rowlette, AMP (USA)
H. J. Siegel, Purdue University (USA)
S. Sahni, University of Florida (USA)
A. Smith, UC Berkeley (USA)
M. Snir, IBM T. J. Watson Research Center (USA)
G. Sohi, University of Wisconsin (USA)
Q. Song, Syracuse University (USA)
T. Sterling, USRA  CESDIS (USA)
B. Tarjan, Princeton University (USA)
S. Tomita, Kyoto University (Japan)
F. Tooley, McGill University (Canada)
L. Valiant, Harvard University (USA)
O. Wada, Fujitsu Corp. (Japan)
A. Walker, Heriot-Watt University (UK)
P. Wang, George Masson University (USA)
S. Yokoyama, Hiroshima University (Japan)
Y. Zhang, Tianjin University (China)

STEERING COMMITTEE
=================

J. Goodman, Stanford University
L. Johnsson, University of Houston
S. Lee, University of California at San Diego
R. Melhem, University of Pittsburgh
E. Schenfeld, NEC Research Institute (Chair)
P. Wang, George Mason University

========================================================================
\end{verbatim}
\newpage
\begin{verbatim}


CUSTOMS/PASSPORTS:  It is suggested for those of other than US
nationalities to check with a travel agent and with an US consulate the
requirements for VISA and passports to enter the United States, as well as for
US Customs regulations.

================================
****** NSF TRAVEL SUPPORT ******
================================

The National Science Foundation (NSF) is considering travel support for 
minority and female faculty members as well as for graduate students. This travel 
award is pending final approval by the NSF and would be available for qualified
authors presenting papers at the MPPOI'95 conference. For details on the travel support
and to obtain a Request Form please contact (email, fax, or phone) the
Conference Chair at the above address.


========================================================================
                         MPPOI '96 ADVANCE PROGRAM
========================================================================

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
***** INVITED TALKS: 40 Minutes. REGULAR TALKS: 20 Minutes *****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

========================================
Saturday, October 26, 1996
========================================

8:00 PM - 9:30 PM
REGISTRATION 

========================================
Sunday, October 27, 1996
========================================

7:00 AM - 8:00 AM       
CONTINENTAL BREAKFAST 
________________________________________

7:00 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:00 AM - 8:15 AM
OPENING REMARKS - WELCOME
R. Melhem, University of Pittsburgh

8:15 AM - 8:30 AM
TECHNICAL PROGRAM OVERVIEW
A. Gottlieb, NYU and Yao Li, NEC Research Institute
________________________________________

8:30 AM - 10:10 AM
Session I - Comparative Studies for Optical Interconnects
Chair: K. Kasahara, NEC Corp. Japan

Optical Geometrical Transformations Used for Parallel Communication
A. W. Lohmann, Erlangen University (INVITED)

Towards an Optimal Foundation Architecture for Optoelectronic Computing 
H. M. Ozaktas, Bilkent University

Fundamental Advantages of Free-space Optical Interconnects
M. W. Haney, and M. P. Christensen, George Mason University

A Comparative Study of Cost Effective Multiplexing
Approaches in Optical Networks
C. Qiao, and Y. Mei, SUNY at Buffalo

________________________________________

10:10 AM - 10:30 AM
MID-MORNING BREAK
________________________________________

10:30 AM - 12:10 PM
Session II - Interconnection Networks and System Architectures
Chair: T. M. Pinkston, University of Southern California

Scalable Parallel Systems: Past, Present and Future (from an IBM perspective)
M. Snir, IBM T. J. Watson Research Center (INVITED)

Design of a Parallel Photonic FFT Processor
R. G. Rozie, F. E. Kiamilev, University of North Carolina 
at Charlotte, and A. V. Krishnamoorthy, Lucent Technologies

SIMPil:  An OE Integrated SIMD Architecture for
Focal Plane Processing Applications
H. H. Cat, A. Gentile, J. C. Eble, M. Lee, O. Vendier,
Y. J. Joo, D. S. Wills, M. Brooke, N. M. Jokerst, 
and A. S. Brown, Georgia Institute of Technology, and
R. Leavitt, Army Research Laboratory

Design of a 64-bit microprocessor core IC for hybrid
CMOS-SEED technology
F. E. Kiamilev, J. S. Lambirth, and R. G. Rozier,
University of North Carolina at Charlotte, and
A. V. Krishnamoorthy, Lucent Technologies

________________________________________

12.10 PM - 2:00 PM
LUNCH BREAK (ON YOUR OWN)
________________________________________

2:00 PM - 3:40 PM
Session III - WDM in MPP Systems 
Chair: P. Prucnal, Princeton University

High-performance Parallel Processors based on Star-coupled 
WDM Optical Interconnects
A. J. De Groot, R. J. Deri, R. E. Haigh, F. G. Patterson, and
S. P. DiJaili, Lawrence Livermore National Laboratory

Dynamic Alignment of Pulses in Bit-Parallel Wavelength
Links Using Shepherd Pulse in Nonlinear Fibers for
Massively Parallel Processing Computer Networks
L. Bergman, and C. Yeh, California Institute of Technology

Planar Diffraction Grating for Board-Level WDM Applications
R. A. Livingston, and R. R. Krchnavek, Washington University 

Time-Deterministic WDM Star Network for Massively
Parallel Computing in Radar Systems
M. Jonsson, A. Ahlander, and B. Svensson, Halmstad University,
M. Taveniku, and B. Svensson, Chalmers University of Technology,
and M. Taveniku, Ericsson Microwave Systems AB

The AMOEBA chip:  an opto-electronic switch for
multiprocessor networking using dense-WDM
A. V. Krishnamoorthy, J. E. Ford, K. W. Goossen, J. A. Walker,
S. P. Hui, J. E. Cunningham, W. Y. Jan, T. K. Woodward, M. C. Nuss,
R. G. Rozier, and D. A. B. Miller,  Lucent Technologies, and
F. E. Kiamilev, University of North Carolina

________________________________________

3:40 PM - 4:00 PM
AFTERNOON BREAK
________________________________________

4:00 PM - 5:40 PM
CONFERENCE PANEL I - Intra-System Optical Interconnects: 
Performance, Cost, Functionality - Pick Any Two
MODERATOR: A. G. Nowatzyk, Sun Microsystems
PANELISTS: H. Davidson, Sun Microsystems, R. Newhall, Silicon Graphics,
P. Prucnal, Princeton University, J. Sauer, University of Colorado
at Boulder, M. Snir, IBM T. J. Watson Research Center 

________________________________________

6.00 PM - 7:30 PM
GET ACQUAINTANCED RECEPTION

Meet some of the MPPOI participants
Food, booze, and small-talk opportunities provided

========================================
Monday, October 28, 1996
========================================

7:30 AM - 8:30 AM
CONTINENTAL BREAKFAST
________________________________________

7:30 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:30 AM - 10:10 AM
Session IV - Scalable Interconnection Networks
Chair: A. Nowatzyk, Sun Microsystems

Exploiting Optical Interconnects to Eliminate Serial Bottlenecks
J. Goodman, University of Wisconsin-Madison (INVITED)

Scalable Network Architectures Using the Optical Transpose
Interconnection System (OTIS)
F. Zane, P. Marchand, R. Paturi, and S. Esener,
University of California at San Diego

A Scalable Recirculating Shuffle Network with Deflection Routing
S. P. Monacos, California Institute of Technology, and
A. A. Sawchuk, University of Southern California

Improved embeddings in POPS networks through stack-graph models
P. Berthome, Laboratoire LIP - EBS Lyon, and
A. Ferreira, CNRS Carleton University
________________________________________

10:10 AM - 10:30 AM
MID-MORNING BREAK
________________________________________

10:30 AM - 12:10 PM
Session V - Optical Networks: Architecture Issues 
Chair: T. H. Szymanski, McGill University

Optically Interconnected Electronics - Challenges and Choices
F. Tooley, McGill University (INVITED)

Optoelectronic Stochastic Processor Array:  Demonstration
of Video Rate Simulated Annealing Noise Cleaning Operation
P. Chavel, P. Lalanne, J.-C. Rodier, Institut d'Optique Orsay

High Throughput Optical Algorithms for the FFT and
sorting via Data Packing
K. Bergman, P. Prucnal, C. Read, Princeton University,
G. Burdge, University of Maryland, D. Carlson, N. Coletti, and
C. Reed, Institute for Defense Analyses, H. Jordan, and
D. Straub, University of Colorado at Boulder, R. Kannan, and
K. Lee, University of Denver, and P. Merkey, USRA CESDIS

Bit-Parallel Completely Connected Optoelectronic
Switching Networks for Massively Parallel Processing:
Principle and Optical Architecture
V. B. Fyodorov, Russian Academy of Sciences Moscow

________________________________________

12:10 PM - 2:00 PM
CONFERENCE LUNCH (PROVIDED)
________________________________________

2:00 PM - 3:40 PM
Session VI - Guided-Wave Components for Optical Interconnects
Chair: J. Bristow, Honeywell Technology Center

Flexible Optical Backplane Interconnects
M. A. Shahid and W. R. Holland, Bell Laboratories, 
Lucent Technologies, Inc. (INVITED)

1-GHz Clock Signal Distribution for Multi-processor Super Computers
S. Tang, R. R. Chen, Radiant Research Inc., T. Li, F. Li, 
M. Dubinovsky, R. T. Chen, University of Texas at Austin,
and R. Wickman, Cray Research Inc. 

Low-Loss High-Thermal-Stability Polymer Interconnects
for Low-Cost High-Performance Massively Parallel Processing
L. Eldada, C. Xu, K. M. T. Stengel, L. W. Shacklette,
R. A. Norwood, and J. T. Yardley, AlliedSignal Inc. 

Two-dimensional parallel optical data link:  Experiment
K. Kitayama, and M. Nakamura, Communication Research Laboratory
of the Ministry of Posts and Telecommunications Japan,
Y. Igasaki, Hamamatsu Photonics K.K., and K. Kaneda, Fujikura Ltd.

________________________________________

3:40 PM - 4:00 PM
AFTERNOON BREAK
________________________________________

4:00 PM - 5:40 PM
CONFERENCE PANEL II -  The Roles of University and Industry in 
Developing Optical Interconnect Systems
MODERATOR: R. K. Kostuk, University of Arizona at Tucson
PANELISTS: J. Bristow, Honeywell Technology Center, J. W. Goodman, 
Stanford University, M. Haney, George Mason University, 
S. Lee, University of California at San Diego, 
B. R. Pecor, Cray Research, and J. R. Rowlette, Amp Inc.

========================================
Tuesday, October 29, 1996
========================================

7:30 AM - 8:30 AM
CONTINENTAL BREAKFAST
________________________________________

7:30 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION
________________________________________

8:30 AM - 10:10 AM
Session VII - Multiprocessor Networks and Systems
Chair: B. R. Pecor, Cray Research

Network of PCs as High-Performance Servers
K. Li, Princeton University (INVITED)

Design of an Efficient Shared Memory Architecture Using Hybrid 
Opto-Electronic VLSI Circuits and Space Invariant Optical Busses
P. Lukowicz, University of Karlsruhe

A Novel Interconnection Network using Semiconductor
Optical Amplifier Gate Switches for Shared Memory Multiprocessors
Y. Maeno, Y. Suemura, and N. Henmi, NEC Optoelectronics Research 
Laboratories Japan

Hierarchical Optical Ring Interconnection (HORN): A WDM-based Scalable 
Interconnection-Network for  Multiprocessors and Multicomputers
A. Louri and R. Gupta, University of Arizona at Tucson

________________________________________

10:10 AM - 10:30 AM
MID-MORNING BREAK
________________________________________

10:30 AM - 12:10 PM
Session VIII - Performance Evaluation, Modeling and Devices
Chair: J. Grote, WL/AADO at the Wright-Patterson Air Force Base

OPTOBUS I:  Performance of a 4 Gb/s Optical Interconnect
D. B. Schwartz, C. K. Y. Chun, J. Grula, S. Planer, G. Raskin, and
S. Shook, Motorola Inc.

Performance Modeling of Optical Interconnection
Technologies for Massively Parallel Processing System
J. L. Cruz-Rivera, W. S. Lacy, D. S. Wills, T. K. Gaylord,
and E. N. Glytsis, Georgia Institute of Technology

Basic Considerations of Improving Communication
Performances  for Parallel Multi-Processor System (PMPS) with
Optical Interconnection Network
Y.-M. Zhang, W.-Y. Liu, G. Zhou, H. Zhang, X.-Q. Hem and F. Hua,
Tianjin University China 

VCSEL/CMOS Smart Pixel Arrays for Free-space Optical Interconnects
J. Neff, C. Chen, T. McLaren, C.-C. Mao, A. Fedor, W. Berseth,
and Y. C. Lee, University of Colorado at Boulder

A Compact Fractal Hexagonal 36 by 36 Self-Routing Switch using
Polarization Controlled VCSEL Array Holographically Interconnected
B. Piernas, and P. Cambon, Institute Superieur d'Electronique
de Bretagne (ISEB), and L. Plouzennnec, Ecole Nationale
Superieure de Telecommunications de Bretagne

________________________________________

12.10 PM - 2:00 PM
LUNCH BREAK (ON YOUR OWN)
________________________________________

2:00 PM - 3:40 PM
Session IX - Optical Backplanes
Chair: F. E. Kiamilev, University of North Carolina

Optical interconnection technologies based on VCSELs and smart pixels
T. Kurokawa,  NTT Optoelectronics Labs (INVITED)

A Multistage Optical Backplane Demonstration System
D. V. Plant, B. Robertson, M. H. Ayliffe, G. C. Boisset, D. Kabak,
R. Iyer, Y. S. Liu, D. R. Rolston, M. Venditti, and T. H. Szymanski,
McGill University, H. S. Hinton, and D. J. Goodwill, University of
Colorado at Boulder, W. M. Robertson, Middle Tennessee State University,
and M. R. Taghizadeh, Heriot-Watt University

Hybrid optoelectronic backplane bus for multiprocessor-based
computing systems
C. Zhao, and R. T. Chen, Univer,sity of Texas at Austin

Reconfigurable Computing with Optical Backplanes
T. H. Szymanski, and B. Supmonchai, McGill University

________________________________________

3:40 PM - 4:00 PM
AFTERNOON BREAK
________________________________________


4:00 PM - 5:40 PM
Session X - Optical Interconnection Technology
Chair: A. V. Krishnamoorthy, Lucent Technologies, Inc.

Optimal Transmission Schedule in WDM Broadcast-and-
Select Networks with Multiple Transmitters and Receivers
S.-K. Lee, and H.-A. Choi, George Washington University, and
A. D. Oh, Uiduk University

Single Chip 8x8 Optical Interconnect Using
Micromachined Free-Space Micro-Optical Bench Technology
L. Fan, S. S. Lee, and M. C. Wu, University of California
at Los-Angeles, and H. C. Lee, and P. Grodzinski, Motorola Inc.
Phoenix Corporate Research Laboratories

A 3D optoelectronic parallel processor for smart pixel
processing units
D. Fey, A. Kurschat, B. Kasche, W. Erhard, Friedrich-Schiller
Universitat Jena

Vertical Cavity X-Modulators for Reconfigurable Optical
Interconnection and Routing
J. S. Powell, M. Morf, J. S. Harriss, Jr., Stanford University, and
J. A. Trezza, Sanders Lockheed Martin Corp.

Demonstration of parallel optical data input for arrays of
PnpN optical thyristors
A. Kirk, H. Thienpont, V. Baukens, N. Debaes, A. Goulet,
M. Kuijk, G. Borghs, R. Vounckx, I. Veretennicoff, Vrije Universiteir
Brussel, and P. Heremans, IMEC

________________________________________

5:40 PM - 6:00 PM

CLOSING REMARKS: MPPOI '97 
J. Goodman, Stanford University 
________________________________________

6:20 PM - 8:00 PM
CONFERENCE DINNER (PROVIDED)
________________________________________

==============================================================================
\end{verbatim}
\newpage
\begin{verbatim}
                           Registration Form
                              MPPOI '96
                         The Westin Maui Hotel
                             Maui, Hawaii
                          October 27-29, 1996

      TO REGISTER, MAIL OR FAX THIS FORM TO: MPPOI registration, IEEE 
      Computer Society, 1730 Massachusetts Av, N.W., Washington DC 20036-1992, 
      USA. Fax: +USA-202-728-0884. For information, call +USA-202-371-1013 - 
      Sorry, no phone registration. No registrations will be accepted at IEEE 
      Computer Society Headquarters after 5:00pm on October 7, but must be 
      processed on-site. Registration forms without payment will not be accepted.

Name:----------------------------------------------------------------------
       Last                           First                        MI
Company:-------------------------------------------------------------------
Address:-------------------------------------------------------------------
City/State/Zip/Country:----------------------------------------------------
Daytime phone:----------------------- Fax number---------------------------
Company:-------------------------------------------------------------------
E-mail address:------------------------------------------------------------
IEEE/ACM/OSA/SPIE Member Number:   ------------------
Do you have any special needs: --------------------------------------------
---------------------------------------------------------------------------
Do not include my mailing address on:
-- Non-society mailing lists         -- Meeting Attendee lists

Please circle the appropriate registration fee:
Advance (before September 30, 1995)        Late(before October 7, 1995)/on site.
  Member $300                              Member $360
  Non-member $375                          Non-member $450
  Full-time student $150                   Full-time student $180

SOCIAL EVENTS: The following tickets are for sale in advance. These tickets will
               be subject to higher fees when purchased on site:
               ___Lunch  $25         ___Reception $20          ___Dinner  $50

Total enclosed:$ ________________________________
Please make all checks payable to: IEEE Computer Society. All checks must be in
US dollars drawn on US banks. Credit card charges will appear on statement as
"IEEE Computer Society Registration". Written requests for refunds must be
received by IEEE office before October 7, 1996. Refunds are subject to a $50
processing fees. Method of payment accepted (payment must accompany form):
-- Personal check               -- Company check        -- Traveler's check
-- American Express             -- Master Card          -- VISA
-- Dinner's club                -- Government purchase order (original)

Credit card number: -------------------------- Expiration date: ------------
Cardholder name   : --------------------------
Signature         : --------------------------

Non-student registration fees include conference attendance, proceedings,
continental breakfast, refreshment at breaks, conference reception, one conference
lunch and one conference dinner. Student registration fees include the above 
**EXCEPT** they ***DO NOT*** include the lunch and ***DO NOT*** include the dinner.
===========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
______________________________________________________________________

                     MPPOI '96 HOTEL RESERVATION
                        The Westin Maui Hotel
                            Maui, Hawaii
                         October 27-29, 1996

______________________________________________________________________

   PLEASE MAKE RESERVATIONS WITH THE MENGER HOTEL AS SOON AS POSSIBLE TO
   GUARANTEE THE SPECIAL RATE (HOTEL PHONE AND FAX NUMBERS ARE GIVEN AT BELLOW).

 * The special MPPOI '96 group rate of US $140.00 (single or double) is available
   from October 23 through November 1, 1996. All rates are subject to additional
   local and state taxes.  These rates will be available for reservations made
   BEFORE September 22, 1996. 

 * The Westin Maui Hotel: Phone: 1-808-526-4111 Fax: 1-808-661-5764
   In USA and Canada: 1-800-228-3000

 * You should ask for the "IEEE 3rd International Conference MPPOI"

The above is a special rate. Only a limited number of rooms are available
at this rate. There are other hotels at the Kannapali Beach area in Maui.
You should check with your travel agent for prices and availability.

\end{verbatim}

\end{document}






        Eugen Schenfeld

From owner-mpi-ptop@CS.UTK.EDU Mon Sep  2 22:11:04 1996
Return-Path: <owner-mpi-ptop@CS.UTK.EDU>
Received: from CS.UTK.EDU by netlib2.cs.utk.edu with ESMTP (cf v2.9t-netlib)
	id WAA08489; Mon, 2 Sep 1996 22:11:04 -0400
Received: from localhost (root@localhost) 
        by CS.UTK.EDU with SMTP (cf v2.9s-UTK)
	id WAA28735; Mon, 2 Sep 1996 22:13:23 -0400
Received: from zingo.nj.nec.com (zingo.nj.nec.com [138.15.150.106]) 
        by CS.UTK.EDU with ESMTP (cf v2.9s-UTK)
	id WAA28727; Mon, 2 Sep 1996 22:13:16 -0400
Received: from iris49 (iris49 [138.15.150.129]) by zingo.nj.nec.com (8.7.4/8.7.3) with SMTP id WAA23358; Mon, 2 Sep 1996 22:11:26 -0400 (EDT)
Received:  by iris49 (940816.SGI.8.6.9/cliff's joyful mailer #2)
	id VAA01005(iris49); Mon, 2 Sep 1996 21:36:06 -0400
Date: Mon, 2 Sep 1996 21:36:06 -0400
From: eugen@research.nj.nec.com (Eugen Schenfeld)
Message-Id: <199609030136.VAA01005@iris49>
To: mppoi@research.nj.nec.com
Subject: MPPOI'96 - Maui, Oct. 27-29, '96


===============================================================================
==========                                                          ===========
            PLEASE NOTE:  Hotel rooms are limited at the special conference
            ===========   Rate. We suggest you make your reservation early
                          to make sure you have the room. 

            Room Sharing: please email to Ms. Sue Bredhoff, at:
                          sue@research.nj.nec.com with your preference
                          (non-smoking/smoking, male/female etc.) and we
                          will do the best to accommodate.

            Conference Registration: Please register early (BEFORE Spetember 30)
                          to the conference to avoid paying the higher fees and
                          help us prepare better. AFTER Oct. 7, only on-site 
                          registration will be accepted. 
==========                                                          ===========
===============================================================================


\documentstyle[fullpage]{article}

\begin{document}

\begin{verbatim}
==========================================================================
                 The Third International Conference on
        MASSIVELY PARALLEL PROCESSING USING OPTICAL INTERCONNECTIONS
===========================================================================


                         The Westin Maui Hotel
                             Maui, Hawaii
                          October 27-29, 1996

                             SPONSORED BY:
          IEEE Technical Committee on Computer Architecture (TCCA)

                          IN COOPERATION WITH:
           ACM Special Interest Group on Architecture (SIGARCH)
          The International Society for Optical Engineering (SPIE)
            The IEEE Lasers and Electro-optics Society (LEOS)
                   The Optical Society of America (OSA)

                        ADDITIONAL SUPPORT PROVIDED BY:
                     NSF - The National Science Foundation 

______________________________________________________________________

PLEASE NOTE:
===========

THIS IS A PRELIMINARY MAILING INTENDED FOR TRIP PLANNING. MORE DETAILED
INFORMATION WILL BE AVAILABLE LATTER, TO INCLUDE INFORMATION ABOUT MAUI,
GETTING THERE (AIRPORTS), ALTERNATIVE HOTEL RESERVATIONS, AND OTHER USEFUL
INFORMATION. THE CURRENT DOCUMENT LISTS THE ADVANCED PROGRAM, REGISTRATION
FORM, AND THE WESTIN MAUI HOTEL INFORMATION.

FOR MORE INFORMATION PLEASE CONTACT: mppoi@research.nj.nec.com
or fax to Dr. Eugen Schenfeld, +USA-609-951-2482

-----------------------------------------------------------------------

The third annual conference on Massively Parallel Processing Architectures
using Optical Interconnections (MPPOI'96) will be held on Oct. 27-29, 1996
in the Westin Maui Hotel, Maui, Hawaii.  The Conference will focus on the
potential for using optical interconnections in massively parallel processing
systems, and their effect on system and algorithm design. Optics offer many
benefits for interconnecting large numbers of processing elements, but may
require us to rethink how we build parallel computer systems and communication
networks, and how we write applications.  Fully exploring the capabilities of
optical interconnection networks requires an interdisciplinary effort.  It is
critical that researchers in all areas of the field are aware of each
other's work and results. The intent of MPPOI is to assemble the leading
researchers and to build towards a synergetic approach to MPP architectures,
optical interconnections, operating systems, and software development. The
conference will feature invited speakers, followed by several sessions of
submitted papers, and will conclude with a panel discussion.

The topics of interest include but are not limited to the following:

- Optical interconnections, Reconfigurable Architectures,
- Embedding and mapping of applications and algorithms,
- Packaging and layout of optical interconnections,
- Electro-optical, and opto-electronic components,
- Relative merits of optical technologies (free-space, fibers, wave guides),
- Passive optical elements, Algorithms and applications exploiting,
- Data distribution and partitioning,
- Characterizing parallel applications,
- Cost/performance studies.


CONFERENCE CHAIR
================

Rami Melhem, University of Pittsburgh

PROGRAM CO-CHAIRS
=================

Allan Gottlieb, NYU; Yao Li, NEC Research Institute


PUBLICITY and PUBLICATION CHAIR
===============================

Eugen Schenfeld, NEC Research Institute


PROGRAM COMMITTEE
=================

T. Ae, Hiroshima University (Japan)
D. Agrawal, North Carolina State University (USA)
K. Batcher, University of Kent (USA)
J. Bristow, Honeywell (USA)
T. Casavant, University of Iowa, Iowa City (USA)
P. Chavel, Institut d'Optique (France)
R. Chen, University of Texas (USA)
A. Chien, UIUC (USA)
T. Cloonan, AT&T Bell Labs (USA)
S. Dickey, Pace University (USA)
N. Dutta, AT&T Bell Labs (USA)
M. Eshaghian, NJIT (USA)
M. Flynn, Stanford University (USA)
L. Giles, NEC Research Institute (USA)
C. Georgiou, IBM T. J. Watson Research Center (USA)
K. Ghose, SUNY at Binghamton (USA)
J. Goodman, Stanford University (USA)
J. Goodman, University of Wisconsin (USA)
M. Goodman, Bellcore (USA)
J. Grote, USAF Wright Patterson (USA)
A. Gupta, Stanford University (USA)
S. Hinton, University of Colorado (USA)
F. Hsu, Fordham University (USA)
Y. Ichioka, Osaka University (Japan)
H. Inoue, Hitachi (Japan)
K. Jenkins, University of Southern California (USA)
L. Johnsson, University of Houston, (USA)
N. Jokerst, Georgia Tech., (USA)
H. Jordan, University of Colorado (USA)
K. Kasahara, NEC Corp. (Japan)
F. Kiamilev, University of N. Carolina, Charlotte (USA)
T. Knight, MIT (USA)
R. Kostuk, University of Arizona at Touson (USA)
A. Krishnamoorthy, AT&T Bell Labs (USA)
S. Lee, UCSD (USA)
K. Li, Princeton University (USA)
A. Lohmann   University of Erlangen-Nurnberg (Germany)
A. Louri, University of Arizona (USA)
Y.-D. Lyuu, National Taiwan University (Taiwan)
T. Maruyama, NEC Corp. (Japan)
M. Murdocca, Rutgers University (USA)
J. Neff, University of Colorado (USA)
L. Ni, Michigan State University (USA)
A. Nowatzyk, Sun Microsystems (USA)
Y. Patt, University of Michigan (USA)
W. Paul, Universitaet des Saarlandes-Saarbruecken (Germany)
B. Pecor, Cray (USA)
T. Pinkston, USC (USA)
C. Qiao, SUNY at Buffalo (USA)
J. Reif, Duke university (USA)
J. Rowlette, AMP (USA)
H. J. Siegel, Purdue University (USA)
S. Sahni, University of Florida (USA)
A. Smith, UC Berkeley (USA)
M. Snir, IBM T. J. Watson Research Center (USA)
G. Sohi, University of Wisconsin (USA)
Q. Song, Syracuse University (USA)
T. Sterling, USRA  CESDIS (USA)
B. Tarjan, Princeton University (USA)
S. Tomita, Kyoto University (Japan)
F. Tooley, McGill University (Canada)
L. Valiant, Harvard University (USA)
O. Wada, Fujitsu Corp. (Japan)
A. Walker, Heriot-Watt University (UK)
P. Wang, George Masson University (USA)
S. Yokoyama, Hiroshima University (Japan)
Y. Zhang, Tianjin University (China)

STEERING COMMITTEE
=================

J. Goodman, Stanford University
L. Johnsson, University of Houston
S. Lee, University of California at San Diego
R. Melhem, University of Pittsburgh
E. Schenfeld, NEC Research Institute (Chair)
P. Wang, George Mason University

========================================================================
\end{verbatim}
\newpage
\begin{verbatim}


CUSTOMS/PASSPORTS:  It is suggested for those of other than US
nationalities to check with a travel agent and with an US consulate the
requirements for VISA and passports to enter the United States, as well as for
US Customs regulations.

================================
****** NSF TRAVEL SUPPORT ******
================================

The National Science Foundation (NSF) is considering travel support for 
minority and female faculty members as well as for graduate students. This travel 
award is pending final approval by the NSF and would be available for qualified
authors presenting papers at the MPPOI'95 conference. For details on the travel support
and to obtain a Request Form please contact (email, fax, or phone) the
Conference Chair at the above address.


========================================================================
                         MPPOI '96 ADVANCE PROGRAM
========================================================================

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
***** INVITED TALKS: 40 Minutes. REGULAR TALKS: 20 Minutes *****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

========================================
Saturday, October 26, 1996
========================================

8:00 PM - 9:30 PM
REGISTRATION 

========================================
Sunday, October 27, 1996
========================================

7:00 AM - 8:00 AM       
CONTINENTAL BREAKFAST 
________________________________________

7:00 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:00 AM - 8:15 AM
OPENING REMARKS - WELCOME
R. Melhem, University of Pittsburgh

8:15 AM - 8:30 AM
TECHNICAL PROGRAM OVERVIEW
A. Gottlieb, NYU and Yao Li, NEC Research Institute
________________________________________

8:30 AM - 10:10 AM
Session I - Comparative Studies for Optical Interconnects
Chair: K. Kasahara, NEC Corp. Japan

Optical Geometrical Transformations Used for Parallel Communication
A. W. Lohmann, Erlangen University (INVITED)

Towards an Optimal Foundation Architecture for Optoelectronic Computing 
H. M. Ozaktas, Bilkent University

Fundamental Advantages of Free-space Optical Interconnects
M. W. Haney, and M. P. Christensen, George Mason University

A Comparative Study of Cost Effective Multiplexing
Approaches in Optical Networks
C. Qiao, and Y. Mei, SUNY at Buffalo

________________________________________

10:10 AM - 10:30 AM
MID-MORNING BREAK
________________________________________

10:30 AM - 12:10 PM
Session II - Interconnection Networks and System Architectures
Chair: T. M. Pinkston, University of Southern California

Scalable Parallel Systems: Past, Present and Future (from an IBM perspective)
M. Snir, IBM T. J. Watson Research Center (INVITED)

Design of a Parallel Photonic FFT Processor
R. G. Rozier, F. E. Kiamilev, University of North Carolina 
at Charlotte, and A. V. Krishnamoorthy, Lucent Technologies

SIMPil:  An OE Integrated SIMD Architecture for
Focal Plane Processing Applications
H. H. Cat, A. Gentile, J. C. Eble, M. Lee, O. Vendier,
Y. J. Joo, D. S. Wills, M. Brooke, N. M. Jokerst, 
and A. S. Brown, Georgia Institute of Technology, and
R. Leavitt, Army Research Laboratory

Design of a 64-bit microprocessor core IC for hybrid
CMOS-SEED technology
F. E. Kiamilev, J. S. Lambirth, and R. G. Rozier,
University of North Carolina at Charlotte, and
A. V. Krishnamoorthy, Lucent Technologies

________________________________________

12.10 PM - 2:00 PM
LUNCH BREAK (ON YOUR OWN)
________________________________________

2:00 PM - 3:40 PM
Session III - WDM in MPP Systems 
Chair: P. Prucnal, Princeton University

High-performance Parallel Processors based on Star-coupled 
WDM Optical Interconnects
A. J. De Groot, R. J. Deri, R. E. Haigh, F. G. Patterson, and
S. P. DiJaili, Lawrence Livermore National Laboratory

Dynamic Alignment of Pulses in Bit-Parallel Wavelength
Links Using Shepherd Pulse in Nonlinear Fibers for
Massively Parallel Processing Computer Networks
L. Bergman, and C. Yeh, California Institute of Technology

Planar Diffraction Grating for Board-Level WDM Applications
R. A. Livingston, and R. R. Krchnavek, Washington University 

Time-Deterministic WDM Star Network for Massively
Parallel Computing in Radar Systems
M. Jonsson, A. Ahlander, and B. Svensson, Halmstad University,
M. Taveniku, and B. Svensson, Chalmers University of Technology,
and M. Taveniku, Ericsson Microwave Systems AB

The AMOEBA chip:  an opto-electronic switch for
multiprocessor networking using dense-WDM
A. V. Krishnamoorthy, J. E. Ford, K. W. Goossen, J. A. Walker,
S. P. Hui, J. E. Cunningham, W. Y. Jan, T. K. Woodward, M. C. Nuss,
R. G. Rozier, and D. A. B. Miller,  Lucent Technologies, and
F. E. Kiamilev, University of North Carolina

________________________________________

3:40 PM - 4:00 PM
AFTERNOON BREAK
________________________________________

4:00 PM - 5:40 PM
CONFERENCE PANEL I - Intra-System Optical Interconnects: 
Performance, Cost, Functionality - Pick Any Two
MODERATOR: A. G. Nowatzyk, Sun Microsystems
PANELISTS: H. Davidson, Sun Microsystems, R. Newhall, Silicon Graphics,
P. Prucnal, Princeton University, J. Sauer, University of Colorado
at Boulder, M. Snir, IBM T. J. Watson Research Center 

________________________________________

6.00 PM - 7:30 PM
GET ACQUAINTANCED RECEPTION

Meet some of the MPPOI participants
Food, booze, and small-talk opportunities provided

========================================
Monday, October 28, 1996
========================================

7:30 AM - 8:30 AM
CONTINENTAL BREAKFAST
________________________________________

7:30 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION 
________________________________________

8:30 AM - 10:10 AM
Session IV - Scalable Interconnection Networks
Chair: A. Nowatzyk, Sun Microsystems

Exploiting Optical Interconnects to Eliminate Serial Bottlenecks
J. Goodman, University of Wisconsin-Madison (INVITED)

Scalable Network Architectures Using the Optical Transpose
Interconnection System (OTIS)
F. Zane, P. Marchand, R. Paturi, and S. Esener,
University of California at San Diego

A Scalable Recirculating Shuffle Network with Deflection Routing
S. P. Monacos, California Institute of Technology, and
A. A. Sawchuk, University of Southern California

Improved embeddings in POPS networks through stack-graph models
P. Berthome, Laboratoire LIP - EBS Lyon, and
A. Ferreira, CNRS Carleton University
________________________________________

10:10 AM - 10:30 AM
MID-MORNING BREAK
________________________________________

10:30 AM - 12:30 PM
Session V - Optical Networks: Architecture Issues 
Chair: T. H. Szymanski, McGill University

Optically Interconnected Electronics - Challenges and Choices
F. Tooley, McGill University (INVITED)

A Smart-Pixel Parallel Optoelectronic Computing System with
Free-Space Dynamic Interconnections
N. McArdke, M. Naruse, T. Komuro, H. Sakaida, M. Ishikawa,
Tokyo University, Y. Kobayashi, and H. Toyoda, Hamamatsu 
Photonics K.K. Japan

Optoelectronic Stochastic Processor Array:  Demonstration
of Video Rate Simulated Annealing Noise Cleaning Operation
P. Chavel, P. Lalanne, J.-C. Rodier, Institut d'Optique Orsay

High Throughput Optical Algorithms for the FFT and
sorting via Data Packing
K. Bergman, P. Prucnal, C. Read, Princeton University,
G. Burdge, University of Maryland, D. Carlson, N. Coletti, and
C. Reed, Institute for Defense Analyses, H. Jordan, and
D. Straub, University of Colorado at Boulder, R. Kannan, and
K. Lee, University of Denver, and P. Merkey, USRA CESDIS

Bit-Parallel Completely Connected Optoelectronic
Switching Networks for Massively Parallel Processing:
Principle and Optical Architecture
V. B. Fyodorov, Russian Academy of Sciences Moscow

________________________________________

12:30 PM - 2:00 PM
CONFERENCE LUNCH (PROVIDED)
________________________________________

2:00 PM - 3:40 PM
Session VI - Guided-Wave Components for Optical Interconnects
Chair: J. Bristow, Honeywell Technology Center

Flexible Optical Backplane Interconnects
M. A. Shahid and W. R. Holland, Bell Laboratories, 
Lucent Technologies, Inc. (INVITED)

1-GHz Clock Signal Distribution for Multi-processor Super Computers
S. Tang, R. R. Chen, Radiant Research Inc., T. Li, F. Li, 
M. Dubinovsky, R. T. Chen, University of Texas at Austin,
and R. Wickman, Cray Research Inc. 

Low-Loss High-Thermal-Stability Polymer Interconnects
for Low-Cost High-Performance Massively Parallel Processing
L. Eldada, C. Xu, K. M. T. Stengel, L. W. Shacklette,
R. A. Norwood, and J. T. Yardley, AlliedSignal Inc. 

Two-dimensional parallel optical data link:  Experiment
K. Kitayama, and M. Nakamura, Communication Research Laboratory
of the Ministry of Posts and Telecommunications Japan,
Y. Igasaki, Hamamatsu Photonics K.K., and K. Kaneda, Fujikura Ltd.

________________________________________

3:40 PM - 4:00 PM
AFTERNOON BREAK
________________________________________

4:00 PM - 5:40 PM
CONFERENCE PANEL II -  The Roles of University and Industry in 
Developing Optical Interconnect Systems
MODERATOR: R. K. Kostuk, University of Arizona at Tucson
PANELISTS: J. Bristow, Honeywell Technology Center, J. W. Goodman, 
Stanford University, M. Haney, George Mason University, 
S. Lee, University of California at San Diego, 
B. R. Pecor, Cray Research, and J. R. Rowlette, Amp Inc.

========================================
Tuesday, October 29, 1996
========================================

7:30 AM - 8:30 AM
CONTINENTAL BREAKFAST
________________________________________

7:30 AM - 11:30 AM  AND  2:00 PM - 4:00 PM
CONFERENCE REGISTRATION
________________________________________

8:30 AM - 10:10 AM
Session VII - Multiprocessor Networks and Systems
Chair: B. R. Pecor, Cray Research

Network of PCs as High-Performance Servers
K. Li, Princeton University (INVITED)

Design of an Efficient Shared Memory Architecture Using Hybrid 
Opto-Electronic VLSI Circuits and Space Invariant Optical Busses
P. Lukowicz, University of Karlsruhe

A Novel Interconnection Network using Semiconductor
Optical Amplifier Gate Switches for Shared Memory Multiprocessors
Y. Maeno, Y. Suemura, and N. Henmi, NEC Optoelectronics Research 
Laboratories Japan

Hierarchical Optical Ring Interconnection (HORN): A WDM-based Scalable 
Interconnection-Network for  Multiprocessors and Multicomputers
A. Louri and R. Gupta, University of Arizona at Tucson

________________________________________

10:10 AM - 10:30 AM
MID-MORNING BREAK
________________________________________

10:30 AM - 12:10 PM
Session VIII - Performance Evaluation, Modeling and Devices
Chair: J. Grote, WL/AADO at the Wright-Patterson Air Force Base

OPTOBUS I:  Performance of a 4 Gb/s Optical Interconnect
D. B. Schwartz, C. K. Y. Chun, J. Grula, S. Planer, G. Raskin, and
S. Shook, Motorola Inc.

Performance Modeling of Optical Interconnection
Technologies for Massively Parallel Processing System
J. L. Cruz-Rivera, W. S. Lacy, D. S. Wills, T. K. Gaylord,
and E. N. Glytsis, Georgia Institute of Technology

Basic Considerations of Improving Communication
Performances  for Parallel Multi-Processor System (PMPS) with
Optical Interconnection Network
Y.-M. Zhang, W.-Y. Liu, G. Zhou, H. Zhang, X.-Q. Hem and F. Hua,
Tianjin University China 

VCSEL/CMOS Smart Pixel Arrays for Free-space Optical Interconnects
J. Neff, C. Chen, T. McLaren, C.-C. Mao, A. Fedor, W. Berseth,
and Y. C. Lee, University of Colorado at Boulder

A Compact Fractal Hexagonal 36 by 36 Self-Routing Switch using
Polarization Controlled VCSEL Array Holographically Interconnected
B. Piernas, and P. Cambon, Institute Superieur d'Electronique
de Bretagne (ISEB), and L. Plouzennnec, Ecole Nationale
Superieure de Telecommunications de Bretagne

________________________________________

12.10 PM - 2:00 PM
LUNCH BREAK (ON YOUR OWN)
________________________________________

2:00 PM - 3:40 PM
Session IX - Optical Backplanes
Chair: F. E. Kiamilev, University of North Carolina

Optical interconnection technologies based on VCSELs and smart pixels
T. Kurokawa,  NTT Optoelectronics Labs (INVITED)

A Multistage Optical Backplane Demonstration System
D. V. Plant, B. Robertson, M. H. Ayliffe, G. C. Boisset, D. Kabak,
R. Iyer, Y. S. Liu, D. R. Rolston, M. Venditti, and T. H. Szymanski,
McGill University, H. S. Hinton, and D. J. Goodwill, University of
Colorado at Boulder, W. M. Robertson, Middle Tennessee State University,
and M. R. Taghizadeh, Heriot-Watt University

Hybrid optoelectronic backplane bus for multiprocessor-based
computing systems
C. Zhao, and R. T. Chen, Univer,sity of Texas at Austin

Reconfigurable Computing with Optical Backplanes
T. H. Szymanski, and B. Supmonchai, McGill University

________________________________________

3:40 PM - 4:00 PM
AFTERNOON BREAK
________________________________________


4:00 PM - 5:40 PM
Session X - Optical Interconnection Technology
Chair: A. V. Krishnamoorthy, Lucent Technologies, Inc.

Optimal Transmission Schedule in WDM Broadcast-and-
Select Networks with Multiple Transmitters and Receivers
S.-K. Lee, and H.-A. Choi, George Washington University, and
A. D. Oh, Uiduk University

Single Chip 8x8 Optical Interconnect Using
Micromachined Free-Space Micro-Optical Bench Technology
L. Fan, S. S. Lee, and M. C. Wu, University of California
at Los-Angeles, and H. C. Lee, and P. Grodzinski, Motorola Inc.
Phoenix Corporate Research Laboratories

A 3D optoelectronic parallel processor for smart pixel
processing units
D. Fey, A. Kurschat, B. Kasche, W. Erhard, Friedrich-Schiller
Universitat Jena

Vertical Cavity X-Modulators for Reconfigurable Optical
Interconnection and Routing
J. S. Powell, M. Morf, J. S. Harriss, Jr., Stanford University, and
J. A. Trezza, Sanders Lockheed Martin Corp.

Demonstration of parallel optical data input for arrays of
PnpN optical thyristors
A. Kirk, H. Thienpont, V. Baukens, N. Debaes, A. Goulet,
M. Kuijk, G. Borghs, R. Vounckx, I. Veretennicoff, Vrije Universiteir
Brussel, and P. Heremans, IMEC

________________________________________

5:40 PM - 6:00 PM

CLOSING REMARKS: MPPOI '97 
J. Goodman, Stanford University 
________________________________________

6:20 PM - 8:00 PM
CONFERENCE DINNER (PROVIDED)
________________________________________

==============================================================================
\end{verbatim}
\newpage
\begin{verbatim}
                           Registration Form
                              MPPOI '96
                         The Westin Maui Hotel
                             Maui, Hawaii
                          October 27-29, 1996

TO REGISTER, MAIL OR FAX THIS FORM TO: MPPOI registration, IEEE 
Computer Society, 1730 Massachusetts Av, N.W., Washington DC 20036-1992, 
USA. Fax: +USA-202-728-0884. For information, call +USA-202-371-1013 - 
Sorry, no phone registration. No registrations will be accepted at IEEE 
Computer Society Headquarters after 5:00pm on October 7, but must be 
processed on-site. Registration forms without payment will not be accepted.

Name:----------------------------------------------------------------------
       Last                           First                        MI
Company:-------------------------------------------------------------------
Address:-------------------------------------------------------------------
City/State/Zip/Country:----------------------------------------------------
Daytime phone:----------------------- Fax number---------------------------
Company:-------------------------------------------------------------------
E-mail address:------------------------------------------------------------
IEEE/ACM/OSA/SPIE Member Number:   ------------------
Do you have any special needs: --------------------------------------------
---------------------------------------------------------------------------
Do not include my mailing address on:
-- Non-society mailing lists         -- Meeting Attendee lists

Please circle the appropriate registration fee:
Advance (before September 30, 1995)        Late(before October 7, 1995)/on site.
  Member $300                              Member $360
  Non-member $375                          Non-member $450
  Full-time student $150                   Full-time student $180

SOCIAL EVENTS: EXTRA tickets (for spouse, etc.) are for sale in advance. These 
tickets will be subject to higher fees when purchased on site (please note: if 
you register as a non-student you do not need to buy these for yourself):
               ___Lunch  $25         ___Reception $20          ___Dinner  $50

Total enclosed:$ ________________________________
Please make all checks payable to: IEEE Computer Society. All checks must be in
US dollars drawn on US banks. Credit card charges will appear on statement as
"IEEE Computer Society Registration". Written requests for refunds must be
received by IEEE office before October 7, 1996. Refunds are subject to a $50
processing fees. Method of payment accepted (payment must accompany form):
-- Personal check               -- Company check        -- Traveler's check
-- American Express             -- Master Card          -- VISA
-- Dinner's club                -- Government purchase order (original)

Credit card number: -------------------------- Expiration date: ------------
Cardholder name   : --------------------------
Signature         : --------------------------

Non-student registration fees include conference attendance, proceedings,
continental breakfast, refreshment at breaks, conference reception, one conference
lunch and one conference dinner. Student registration fees include the above 
**EXCEPT** they ***DO NOT*** include the lunch and ***DO NOT*** include the dinner.
===========================================================================
\end{verbatim}
\newpage
\begin{verbatim}
______________________________________________________________________

                     MPPOI '96 HOTEL RESERVATION
                        The Westin Maui Hotel
                            Maui, Hawaii
                         October 27-29, 1996

______________________________________________________________________

   PLEASE MAKE RESERVATIONS WITH THE MENGER HOTEL AS SOON AS POSSIBLE TO
   GUARANTEE THE SPECIAL RATE (HOTEL PHONE AND FAX NUMBERS ARE GIVEN AT BELLOW).

* The special MPPOI '96 group rate of US $140.00 (single or double) is available
  from October 23 through November 1, 1996. All rates are subject to additional
  local and state taxes, and a $5 resort fee. These rates will be available for   reservations made BEFORE September 22, 1996. 

* The Westin Maui Hotel: Phone: 1-808-526-4111 Fax: 1-808-661-5764
  In USA and Canada: 1-800-228-3000

* You should ask for the "IEEE 3rd International Conference MPPOI" rate.

The above is a special rate. Only a limited number of rooms are available
at this rate. There are other hotels at the Kaannapali Beach area in Maui.
You should check with your travel agent for prices and availability.

\end{verbatim}

\end{document}


==========================================================================




        Eugen Schenfeld

