15 years agoThis is a "refinement" load balancer for Grid communication. It tries to
Greg Koenig [Fri, 24 Mar 2006 07:13:35 +0000 (07:13 +0000)]
This is a "refinement" load balancer for Grid communication.  It tries to
hold down the number of object migrations by only migrating objects from
PEs that exceed an average number of objects per PE plus some tolerance
(e.g., only migrate objects away from PEs that exceed the average by 110%).

15 years agoInitial addition of jacobi example using Cell.
David Kunzman [Fri, 24 Mar 2006 00:21:31 +0000 (00:21 +0000)]
Initial addition of jacobi example using Cell.

15 years agoAdded calloc and alloca like functions to the spert_common code. Added a writeOnlyPtr
David Kunzman [Fri, 24 Mar 2006 00:19:40 +0000 (00:19 +0000)]
Added calloc and alloca like functions to the spert_common code.  Added a writeOnlyPtr
pointer to the sendWorkRequest() function (and related functions).  Also changed the
names of the data and msg pointers to readWritePtr and readOnlyPtr, respectively.

15 years agoUpdated hello example to match changes to cell_lib (Offload API for Cell).
David Kunzman [Fri, 24 Mar 2006 00:13:11 +0000 (00:13 +0000)]
Updated hello example to match changes to cell_lib (Offload API for Cell).

15 years agofixed a bug that assign bad magic to allocated slot due to wrong operator precedence
Gengbin Zheng [Thu, 23 Mar 2006 22:13:04 +0000 (22:13 +0000)]
fixed a bug that assign bad magic to allocated slot due to wrong operator precedence

15 years agomake shared lib
Gengbin Zheng [Thu, 23 Mar 2006 21:46:59 +0000 (21:46 +0000)]
make shared lib

15 years agofixed the previous fix - a syntax error
Gengbin Zheng [Thu, 23 Mar 2006 20:52:49 +0000 (20:52 +0000)]
fixed the previous fix - a syntax error

15 years agofor QT, assign base->stack pointer to be same as cth->stack so that threadBaseFree...
Gengbin Zheng [Thu, 23 Mar 2006 20:51:50 +0000 (20:51 +0000)]
for QT, assign base->stack pointer to be same as cth->stack so that threadBaseFree will free the stack properly.

15 years agofor QT, fixed a bug in double freeing stack when thread is non-migratable and stack...
Gengbin Zheng [Thu, 23 Mar 2006 19:00:44 +0000 (19:00 +0000)]
for QT, fixed a bug in double freeing stack when thread is non-migratable and stack is protectable.

15 years agoFixed a memory leak: 16B with every reduction.
Yan Shi [Thu, 23 Mar 2006 01:05:43 +0000 (01:05 +0000)]
Fixed a memory leak: 16B with every reduction.

15 years agoCMK_PIC = -qpic
Gengbin Zheng [Wed, 22 Mar 2006 04:16:55 +0000 (04:16 +0000)]
CMK_PIC = -qpic

15 years agoread CMK_PIC for compiler specific -fpic option
Gengbin Zheng [Wed, 22 Mar 2006 04:16:12 +0000 (04:16 +0000)]
read CMK_PIC for compiler specific -fpic option

15 years agofixed a c++ syntax used in c.
Gengbin Zheng [Wed, 22 Mar 2006 00:48:52 +0000 (00:48 +0000)]
fixed a c++ syntax used in c.

15 years agodisable long double even when warning occurs.
Gengbin Zheng [Tue, 21 Mar 2006 22:23:40 +0000 (22:23 +0000)]
disable long double even when warning occurs.

15 years agoif CtgInstall called with same globals, skip it
Gengbin Zheng [Tue, 21 Mar 2006 07:36:29 +0000 (07:36 +0000)]
if CtgInstall called with same globals, skip it

15 years agoremoved several AMPIAPI (isomalloc and swapglobal) that are unnecessary. For example...
Gengbin Zheng [Tue, 21 Mar 2006 06:31:51 +0000 (06:31 +0000)]
removed several AMPIAPI (isomalloc and swapglobal) that are unnecessary. For example AMPI_Wtime calls TCHARM_Wall_timer which already does the thing

15 years agoAdded a barrier to keep msa in sync
Sayantan Chakravorty [Sun, 19 Mar 2006 21:48:07 +0000 (21:48 +0000)]
Added a barrier to keep msa in sync

15 years agoDelete the msa cache only after all the local msa threads have deregistered (ie
Sayantan Chakravorty [Sun, 19 Mar 2006 21:47:30 +0000 (21:47 +0000)]
Delete the msa cache only after all the local msa threads have deregistered (ie
have been deleted)

15 years agomake CthSuspendNormalThread static, which fix the checkpoint/restart threads. I thoug...
Gengbin Zheng [Sun, 19 Mar 2006 18:00:37 +0000 (18:00 +0000)]
make CthSuspendNormalThread static, which fix the checkpoint/restart threads. I thought I checked in, but actually not.

15 years agoAdded support for vmi-linux-amd64.
Greg Koenig [Sat, 18 Mar 2006 07:25:39 +0000 (07:25 +0000)]
Added support for vmi-linux-amd64.

15 years agoinclude Makefile.cell.
David Kunzman [Fri, 17 Mar 2006 23:55:18 +0000 (23:55 +0000)]
include Makefile.cell.

15 years agodefine SDK path in
David Kunzman [Fri, 17 Mar 2006 23:54:43 +0000 (23:54 +0000)]
define SDK path in
error checking in, generates Makefile.cell which can be used for any Makefile.

15 years agoinclude cell-api.c when CMK_CELL is defined.
David Kunzman [Fri, 17 Mar 2006 23:33:04 +0000 (23:33 +0000)]
include cell-api.c when CMK_CELL is defined.

15 years agocell charm example using offloading api
David Kunzman [Fri, 17 Mar 2006 23:22:57 +0000 (23:22 +0000)]
cell charm example using offloading api

15 years agocall when gathering files if it exists.
David Kunzman [Fri, 17 Mar 2006 23:22:06 +0000 (23:22 +0000)]
call when gathering files if it exists.
removing cell-api.[ch]

15 years agoa special script used in gathering stage of building charm.
David Kunzman [Fri, 17 Mar 2006 23:21:06 +0000 (23:21 +0000)]
a special script used in gathering stage of building charm.

15 years agoadded cell-api files.
David Kunzman [Fri, 17 Mar 2006 23:11:17 +0000 (23:11 +0000)]
added cell-api files.

15 years agorename files, cleanup.
David Kunzman [Fri, 17 Mar 2006 23:09:57 +0000 (23:09 +0000)]
rename files, cleanup.

15 years agosmall change
Sayantan Chakravorty [Fri, 17 Mar 2006 21:54:48 +0000 (21:54 +0000)]
small change

15 years agoAdded a bubble sort for the last few elements
Sayantan Chakravorty [Fri, 17 Mar 2006 21:52:22 +0000 (21:52 +0000)]
Added a bubble sort for the last few elements

15 years agoadded cell-api.o
David Kunzman [Fri, 17 Mar 2006 21:50:13 +0000 (21:50 +0000)]
added cell-api.o

15 years agointerface with cell offload api
David Kunzman [Fri, 17 Mar 2006 21:48:00 +0000 (21:48 +0000)]
interface with cell offload api

15 years agofilter "cell"
David Kunzman [Fri, 17 Mar 2006 21:42:27 +0000 (21:42 +0000)]
filter "cell"

15 years agocell library for function offloading.
David Kunzman [Fri, 17 Mar 2006 21:41:06 +0000 (21:41 +0000)]
cell library for function offloading.

15 years agoa new implementation of CmiMemoryUsage
Gengbin Zheng [Fri, 17 Mar 2006 19:31:49 +0000 (19:31 +0000)]
a new implementation of CmiMemoryUsage

15 years agoa better hack for intel 9 compiler.
Gengbin Zheng [Thu, 16 Mar 2006 20:52:53 +0000 (20:52 +0000)]
a better hack for intel 9 compiler.

15 years agoa doxygen file and support for make docs.. the cocmments though still have to be...
Nilesh Choudhury [Thu, 16 Mar 2006 19:47:48 +0000 (19:47 +0000)]
a doxygen file and support for make docs.. the cocmments though still have to be converted to
doxygen format.. i'll also be adding much more comments

15 years agoworkaround a stupud icc 9.0 optimization bug for inline function
Gengbin Zheng [Thu, 16 Mar 2006 17:03:53 +0000 (17:03 +0000)]
workaround a stupud icc 9.0 optimization bug for inline function

15 years agomoved from f90main, for charm fortran api
Gengbin Zheng [Thu, 16 Mar 2006 16:32:52 +0000 (16:32 +0000)]
moved from f90main, for charm fortran api

15 years agomoved to ck
Gengbin Zheng [Thu, 16 Mar 2006 16:32:16 +0000 (16:32 +0000)]
moved to ck

15 years agobuild a libckf.a for ck fortan api.
Gengbin Zheng [Thu, 16 Mar 2006 16:31:23 +0000 (16:31 +0000)]
build a libckf.a for ck fortan api.

15 years agochange CthSuspendNormalThread to static to fix a strange bug on teragrid that the...
Gengbin Zheng [Thu, 16 Mar 2006 07:39:04 +0000 (07:39 +0000)]
change CthSuspendNormalThread to static to fix a strange bug on teragrid that the function pointer is not same across processors.

15 years agofem_silent added to get rid of some prints
Nilesh Choudhury [Thu, 16 Mar 2006 01:18:31 +0000 (01:18 +0000)]
fem_silent added to get rid of some prints

15 years agoadded a new mode FEM_SILENT, to cut off most prints, excepts errors
Nilesh Choudhury [Thu, 16 Mar 2006 00:40:24 +0000 (00:40 +0000)]
added a new mode FEM_SILENT, to cut off most prints, excepts errors

15 years agohandle memory size count when MREMAP is called
Gengbin Zheng [Wed, 15 Mar 2006 20:18:15 +0000 (20:18 +0000)]
handle memory size count when MREMAP is called

15 years agoA new refinement test. It will take a mesh and refine it until a specified number...
Isaac Dooley [Wed, 15 Mar 2006 19:42:32 +0000 (19:42 +0000)]
A new refinement test. It will take a mesh and refine it until a specified number of elements exist.

15 years agosmall tweak: forward mesg along spanning tree before push to queue.
Gengbin Zheng [Wed, 15 Mar 2006 16:33:19 +0000 (16:33 +0000)]
small tweak: forward mesg along spanning tree before push to queue.

15 years ago*** empty log message ***
Nilesh Choudhury [Tue, 14 Mar 2006 23:55:56 +0000 (23:55 +0000)]
*** empty log message ***

15 years agoadded support for the situation where even when a chunk loses all nodes and elements...
Nilesh Choudhury [Tue, 14 Mar 2006 00:53:19 +0000 (00:53 +0000)]
added support for the situation where even when a chunk loses all nodes and elements, it still
keeps working, and boundaries are ok. The problem was detected when boundaries started
getting messed up after a chunk lost all its elements

15 years agoadded support for local->ghost transitions from a chunk, happens when a chunk is...
Nilesh Choudhury [Mon, 13 Mar 2006 21:51:23 +0000 (21:51 +0000)]
added support for local->ghost transitions from a chunk, happens when a chunk is eating another one
and one of the nodes which is local becomes a ghost... it appears to me that it can only
happen if the node is a corner, so we need to also fix the fixed node set on both chunks
also added a bunch of comments, still working on more comments

15 years agoReduced leak not entirely fixed
Sayantan Chakravorty [Sat, 11 Mar 2006 06:52:40 +0000 (06:52 +0000)]
Reduced leak not entirely fixed

15 years agoReduced the memory leak in parallel partition. There are more which need
Sayantan Chakravorty [Sat, 11 Mar 2006 06:52:15 +0000 (06:52 +0000)]
Reduced the memory leak in parallel partition. There are more which need
to be traced down. Also reduced the time significantly by converting bubble sort to
quick sort

15 years agoAdded a quick sort to CkVec. got tired of converting to stl vec to sort
Sayantan Chakravorty [Sat, 11 Mar 2006 06:50:55 +0000 (06:50 +0000)]
Added a quick sort to CkVec. got tired of converting to stl vec to sort

15 years agoFixed bug in boundary element processing for mesh gradation
Aaron Becker [Fri, 10 Mar 2006 20:13:01 +0000 (20:13 +0000)]
Fixed bug in boundary element processing for mesh gradation

15 years agoSplitting out some of the internal headers into separate files.
Isaac Dooley [Thu, 9 Mar 2006 23:27:42 +0000 (23:27 +0000)]
Splitting out some of the internal headers into separate files.

15 years agoimproved configure for testing inline (using c instead c++ suffix)
Gengbin Zheng [Thu, 9 Mar 2006 16:24:26 +0000 (16:24 +0000)]
improved configure for testing inline (using c instead c++ suffix)

15 years agofor 64 bit
Gengbin Zheng [Thu, 9 Mar 2006 07:51:05 +0000 (07:51 +0000)]
for 64 bit

15 years agouse aix-light to test autobuild
Gengbin Zheng [Thu, 9 Mar 2006 06:36:03 +0000 (06:36 +0000)]
use aix-light to test autobuild

15 years agoa light weight verrsion that calling _setjmp
Gengbin Zheng [Thu, 9 Mar 2006 06:35:12 +0000 (06:35 +0000)]
a light weight verrsion that calling _setjmp

15 years agochange to ansi c declaration.
Gengbin Zheng [Wed, 8 Mar 2006 16:09:11 +0000 (16:09 +0000)]
change to ansi c declaration.

15 years agominor change status "ok" => "yes"
Gengbin Zheng [Wed, 8 Mar 2006 05:31:16 +0000 (05:31 +0000)]
minor change status "ok" => "yes"

15 years agoadds a few inline to c
Gengbin Zheng [Wed, 8 Mar 2006 05:24:13 +0000 (05:24 +0000)]
adds a few inline to c

15 years agotest if C program accept "inline"
Gengbin Zheng [Wed, 8 Mar 2006 05:21:29 +0000 (05:21 +0000)]
test if C program accept "inline"

15 years agosorted out the mysterous length match error, due to pretty bad typo.
Gengbin Zheng [Wed, 8 Mar 2006 00:58:13 +0000 (00:58 +0000)]
sorted out the mysterous length match error, due to pretty bad typo.

15 years agoWhile looking for the latency problem I'm trying to track down, I noticed
Greg Koenig [Tue, 7 Mar 2006 07:46:02 +0000 (07:46 +0000)]
While looking for the latency problem I'm trying to track down, I noticed
a small bug in memory allocation/deallocation in the path that I intercept
from CmiAlloc() and CmiFree().  Unfortunately this will not fix the latency
problem.  (The princess is in another castle.)

15 years agoisomalloc and isomallocpup global data segment to make it work with any time migration
Gengbin Zheng [Mon, 6 Mar 2006 21:49:58 +0000 (21:49 +0000)]
isomalloc and isomallocpup global data segment to make it work with any time migration

15 years ago*** empty log message ***
Terry L. Wilmarth [Mon, 6 Mar 2006 17:17:08 +0000 (17:17 +0000)]
*** empty log message ***

15 years agouse faster i386 QT instead of "generic"
Gengbin Zheng [Mon, 6 Mar 2006 03:35:34 +0000 (03:35 +0000)]
use faster i386 QT instead of "generic"

15 years agoModify vmi-linux to use Quickthreads on IA-32.
Greg Koenig [Sun, 5 Mar 2006 20:13:24 +0000 (20:13 +0000)]
Modify vmi-linux to use Quickthreads on IA-32.
conv-mach.h must define Context threads for IA-64 (I think).

15 years agoModify vmi-linux to use Quickthreads on IA-32.
Greg Koenig [Sun, 5 Mar 2006 20:11:39 +0000 (20:11 +0000)]
Modify vmi-linux to use Quickthreads on IA-32.

15 years agoThese modifications to GridCommLB allow the balancer to automatically
Greg Koenig [Sun, 5 Mar 2006 20:04:41 +0000 (20:04 +0000)]
These modifications to GridCommLB allow the balancer to automatically
detect cluster topology as well as balance secondarily on measured CPU
load.  The balancer also works with any number of clusters now.

15 years agoRemoved excessive qualifier MsgPacker::
Chao Huang [Fri, 3 Mar 2006 04:39:15 +0000 (04:39 +0000)]
Removed excessive qualifier MsgPacker::

15 years agoporting to ParFUM introduced a bunch of bugs into parallel partitioning
Sayantan Chakravorty [Thu, 2 Mar 2006 23:10:56 +0000 (23:10 +0000)]
porting to ParFUM introduced a bunch of bugs into parallel partitioning
fixed it

15 years agoA token utility to control the number of outstanding [iget] messages.
Yan Shi [Thu, 2 Mar 2006 21:26:55 +0000 (21:26 +0000)]
A token utility to control the number of outstanding [iget] messages.

15 years agoflag: compile flag "-DMEMORYUSAGE_OUTPUT=0" or 1 turns off/on the memory usage printout.
Yan Shi [Thu, 2 Mar 2006 21:24:40 +0000 (21:24 +0000)]
flag: compile flag "-DMEMORYUSAGE_OUTPUT=0" or 1 turns off/on the memory usage printout.

15 years agoChanges to support the k-token iget.
Yan Shi [Thu, 2 Mar 2006 21:22:42 +0000 (21:22 +0000)]
Changes to support the k-token iget.

15 years agoModified the default small message boundary to 2,048 bytes and the
Greg Koenig [Thu, 2 Mar 2006 19:41:56 +0000 (19:41 +0000)]
Modified the default small message boundary to 2,048 bytes and the
default medium message boundary to 32,768 bytes.  These are much more
reasonable numbers for machines with fast memory bandwidth.

15 years agobusy polling network at idle when +idlepoll
Gengbin Zheng [Tue, 28 Feb 2006 20:11:53 +0000 (20:11 +0000)]
busy polling network at idle when +idlepoll

15 years agobuild will pick gmake first
Gengbin Zheng [Sun, 26 Feb 2006 05:45:44 +0000 (05:45 +0000)]
build will pick gmake first

15 years agoFixed a race condition for ++probe-clusters functionality that appears with
Greg Koenig [Sun, 26 Feb 2006 02:44:32 +0000 (02:44 +0000)]
Fixed a race condition for ++probe-clusters functionality that appears with
large numbers of processes (> 64).  In this race, some processes may send
"latency probe" messages to another process that has not yet completed
connection setup, so its latency data is incomplete.  This causes a
segfault.  Solution is to CmiBarrier() before probing latency data and
computing the cluster mapping.  Tested okay on 128 processors now.

15 years agoThis version does a barrier vs. sleep() immediately inside ConverseExit().
Greg Koenig [Sat, 25 Feb 2006 22:06:30 +0000 (22:06 +0000)]
This version does a barrier vs. sleep() immediately inside ConverseExit().
I incorrectly thought this version was wrong due to running on bad nodes
on Tungsten.

Also, *some* of tunc nodes work (high numbers) and some always fail.

15 years agoOkay, this is really strange...
Greg Koenig [Sat, 25 Feb 2006 04:11:52 +0000 (04:11 +0000)]
Okay, this is really strange...

autobuild runs correctly and to completion on nodes from the Tungsten
partition called "tuna" but fails immediately on nodes from "tunc".
I have no idea why.

15 years agoThis version passed the autobuild that I ran on Tungsten.
Greg Koenig [Fri, 24 Feb 2006 19:58:20 +0000 (19:58 +0000)]
This version passed the autobuild that I ran on Tungsten.

15 years agoModified the shutdown process in ConverseExit() so that it hopefully
Greg Koenig [Fri, 24 Feb 2006 06:13:30 +0000 (06:13 +0000)]
Modified the shutdown process in ConverseExit() so that it hopefully
always works with charmrun and with charmgrid.

15 years agoSilly bug. Used ifdef instead of if, so the definition in conv-mach.h does
Chee Wai Lee [Thu, 23 Feb 2006 20:32:02 +0000 (20:32 +0000)]
Silly bug. Used ifdef instead of if, so the definition in conv-mach.h does

15 years agohack to try to pass autobuild tonight
Greg Koenig [Thu, 23 Feb 2006 07:50:52 +0000 (07:50 +0000)]
hack to try to pass autobuild tonight

15 years agoModified the way the machine layer shuts down when started from
Greg Koenig [Thu, 23 Feb 2006 07:27:14 +0000 (07:27 +0000)]
Modified the way the machine layer shuts down when started from
charmrun.  This will hopefully help in passing autobuild.

15 years agoaded machine-smp.c
Gengbin Zheng [Wed, 22 Feb 2006 20:32:27 +0000 (20:32 +0000)]
aded machine-smp.c

15 years agoMistake in one of the variable names I had to change due to overloading
Greg Koenig [Wed, 22 Feb 2006 06:46:20 +0000 (06:46 +0000)]
Mistake in one of the variable names I had to change due to overloading
the variable name in the parameter list with a declared variable in a
function.  In one place, I actually needed to use the parameter variable
and didn't.

15 years agoModified ia64 files same way.
Greg Koenig [Wed, 22 Feb 2006 02:51:34 +0000 (02:51 +0000)]
Modified ia64 files same way.

15 years agoChanged these files before to add -DNO_LOCK and shared library path, but
Greg Koenig [Wed, 22 Feb 2006 02:41:42 +0000 (02:41 +0000)]
Changed these files before to add -DNO_LOCK and shared library path, but
for some reason they didn't make it into CVS.

15 years agoThere is a bug in VMI 2.1 where the return code (of type VMI_STATUS) is not
Greg Koenig [Wed, 22 Feb 2006 02:11:21 +0000 (02:11 +0000)]
There is a bug in VMI 2.1 where the return code (of type VMI_STATUS) is not
set for the following three calls:


Modified machine.c to not test the return code for these because it is a
"floating" value.

15 years agoFixed a problem where the declaration of a variable was overloaded as a
Greg Koenig [Tue, 21 Feb 2006 23:22:19 +0000 (23:22 +0000)]
Fixed a problem where the declaration of a variable was overloaded as a
parameter passed into a function.

15 years agoa typo
Gengbin Zheng [Mon, 20 Feb 2006 07:53:15 +0000 (07:53 +0000)]
a typo

15 years agoModified build for Tungsten autobuild.
Greg Koenig [Mon, 20 Feb 2006 07:47:43 +0000 (07:47 +0000)]
Modified build for Tungsten autobuild.

15 years agoMy implementation of eager RDMA message sends has to be able to intercept
Greg Koenig [Mon, 20 Feb 2006 04:41:26 +0000 (04:41 +0000)]
My implementation of eager RDMA message sends has to be able to intercept
calls to free() on the discarded message buffer and instead of freeing the
memory send a "update credit" message to the sender to mark the buffer as
available for more messages.  To do this, I prepend the standard Charm
memory header (size field, ref field) with an additional field which is a
pointer to the eager handle.  For a CmiFree() this field is checked and if
it points to a handle, the handle is updated; otherwise if NULL the memory
is just a regular allocation that can be freed.

The problem with this is when using some of Sameer's comlib routines
like StreamingStrategy and MeshStreamingStrategy (which I originally wrote
but which Sameer modified to include this bug here).  These strategies
pack messages together and send a single stream containing multiple
packed messages.  In order to do this, he uses the ref fields for the
messages in a packed buffer, making them point back to the ref field of
the larger packed buffer.  Since he transfers the entire buffer of packed
memory and does not know about my additional prepended field, he tromples
my marker.

I think the Converse commbench routines also exercise this fault.

To correct this, I modified my code to disable the eager send protocol
by default, so this additional memory field is never used.  If the
environment variable CMI_VMI_EAGER_PROTOCOL=1 is set, eager sends can be
turned on as usual and the additional memory field is added to all memory

My machine layer now passes autobuild.

15 years agoModified ConverseExit() so that the VMI termination hack is used by
Greg Koenig [Sat, 18 Feb 2006 02:03:37 +0000 (02:03 +0000)]
Modified ConverseExit() so that the VMI termination hack is used by
default.  AMPI programs that use Isomalloc cause segfault when trying
to cleanly shut down VMI when it unregisters memory.  Easiest thing to do
is to just call exit() and let the OS release memory (which automatically
unpins it).

15 years agoMatching { missing when MEMORYUSAGE_OUTPUT is not set.
Yan Shi [Fri, 17 Feb 2006 16:54:54 +0000 (16:54 +0000)]
Matching { missing when MEMORYUSAGE_OUTPUT is not set.

15 years agoSpelled the variable disable_regcache incorrectly in one place.
Greg Koenig [Fri, 17 Feb 2006 07:13:15 +0000 (07:13 +0000)]
Spelled the variable disable_regcache incorrectly in one place.

15 years agoModified vmi-linux machine layer to understand the concept of distinct
Greg Koenig [Fri, 17 Feb 2006 04:22:58 +0000 (04:22 +0000)]
Modified vmi-linux machine layer to understand the concept of distinct
clusters.  Now it is possible for a PE to determine whether it is in the
same cluster as any other PE.  This will be necessary for the work coming
up in March.

The user may specify which cluster a given sub-job belongs to, or may tell
the machine layer to probe the PE-to-cluster mapping automatically.  In
order to do this, the PEs each measure the point-to-point latency to all
other PEs in the computation and then report this data to PE 0.  PE 0
collects all the latency data and uses it to compute the cluster map.
It then distributes this map to all PEs in the computation.

The latency collection routines are also important for Grid load balancer
work that will be checked in later.