Moving some comlib startup code to an initproc routine. This code needs to execute...
authorIsaac Dooley <idooley2@illinois.edu>
Wed, 3 Jun 2009 21:06:22 +0000 (21:06 +0000)
committerIsaac Dooley <idooley2@illinois.edu>
Wed, 3 Jun 2009 21:06:22 +0000 (21:06 +0000)
performed inside the comlib mainchare.

src/ck-com/ComlibManager.C
src/ck-com/ComlibManager.ci
src/ck-com/ComlibManager.h
src/conv-com/convcomlibmanager.C
src/conv-com/convcomlibmanager.h
src/scripts/Make.depends

index f2bdbc2fefef0d9fc0b60ab7f1fb6f42fec6e40e..c79202476ca4c915519ef2505837a3f6b0d82cf0 100644 (file)
@@ -79,20 +79,28 @@ static void periodicDebugPrintStatus(void* ptr, double currWallTime);
  * the processors. Used only at the beginning of the program.
  ***************************************************************************/
 
  * the processors. Used only at the beginning of the program.
  ***************************************************************************/
 
+// // initialized at startup before the main chare main methods are called:
+// void initCharmComlibManager(){
+//   CkPrintf("[%d] initCharmComlibManager()\n", CkMyPe());
+//   fflush(stdout);
+// }
+
+
+
 ComlibManager::ComlibManager(){
        init();
 }
 
 void ComlibManager::init(){
 
 ComlibManager::ComlibManager(){
        init();
 }
 
 void ComlibManager::init(){
 
+
   CcdCallFnAfterOnPE((CcdVoidFn)periodicDebugPrintStatus, (void*)this, 4000, CkMyPe());
 
   CcdCallFnAfterOnPE((CcdVoidFn)periodicDebugPrintStatus, (void*)this, 4000, CkMyPe());
 
+
   if(CkNumPes() == 1 ){
     ComlibPrintf("Doing nothing in ComlibManager::init() because we are running on 1 pe.\n");
   } else {
 
   if(CkNumPes() == 1 ){
     ComlibPrintf("Doing nothing in ComlibManager::init() because we are running on 1 pe.\n");
   } else {
 
-       initComlibManager();
-
        if (CkMyRank() == 0) {
                PUPable_reg(CharmMessageHolder);
        }
        if (CkMyRank() == 0) {
                PUPable_reg(CharmMessageHolder);
        }
@@ -117,7 +125,9 @@ void ComlibManager::init(){
        CkpvAccess(cmgrID) = thisgroup;
 
        dummyArrayIndex.nInts = 0;
        CkpvAccess(cmgrID) = thisgroup;
 
        dummyArrayIndex.nInts = 0;
-       converseManager = CkpvAccess(conv_com_ptr);
+
+       CkAssert(CkpvInitialized(conv_com_object));
+       converseManager = &CkpvAccess(conv_com_object);
 
        setupComplete = 0;
 
 
        setupComplete = 0;
 
@@ -209,8 +219,8 @@ void ComlibManager::sendBufferedMessages(int instid){
            
       case CMH_ARRAYSEND:
        //          CkAbort("CMH_ARRAYSEND unimplemented");
            
       case CMH_ARRAYSEND:
        //          CkAbort("CMH_ARRAYSEND unimplemented");
-       CkpvAccess(conv_com_ptr)->insertMessage(cmsg, instid);
-       CkpvAccess(conv_com_ptr)->doneInserting(instid);
+       CkpvAccess(conv_com_object).insertMessage(cmsg, instid);
+       CkpvAccess(conv_com_object).doneInserting(instid);
        break;
            
       case CMH_GROUPSEND:
        break;
            
       case CMH_GROUPSEND:
@@ -222,8 +232,8 @@ void ComlibManager::sendBufferedMessages(int instid){
       case CMH_GROUPBROADCAST:
        // Multicast/broadcast to an array or a section:
        cmsg->sec_id = cmsg->copy_of_sec_id;
       case CMH_GROUPBROADCAST:
        // Multicast/broadcast to an array or a section:
        cmsg->sec_id = cmsg->copy_of_sec_id;
-       CkpvAccess(conv_com_ptr)->insertMessage(cmsg, instid);
-       CkpvAccess(conv_com_ptr)->doneInserting(instid);
+       CkpvAccess(conv_com_object).insertMessage(cmsg, instid);
+       CkpvAccess(conv_com_object).doneInserting(instid);
        break;
            
       default:
        break;
            
       default:
@@ -1131,9 +1141,7 @@ void ComlibManager::printDiagnostics(){
     }
   }
   
     }
   }
   
-  ConvComlibManager * conv_mgr = CkpvAccess(conv_com_ptr);
-  
-  conv_mgr->printDiagnostics();
+  CkpvAccess(conv_com_object).printDiagnostics();
   
 }
 
   
 }
 
index e359b9b05b7075bb0c2f0cdc35ec28042272521c..26bb10b8feeb2e0c113568d1bb80901e043bee11 100644 (file)
@@ -1,25 +1,21 @@
 module comlib {
 module comlib {
-  //  initproc void initComlibManager();
+  initproc void initConvComlibManager();
+//  initproc void initCharmComlibManager();
 
   message ComlibDummyMsg;
 
   message ComlibDummyMsg;
-  //  message PrioMsg;
   message ComlibMulticastMsg {
     ComlibMulticastIndexCount indicesCount[];
     CkArrayIndexMax indices[];
     char usrMsg[];
   };
   message ComlibMulticastMsg {
     ComlibMulticastIndexCount indicesCount[];
     CkArrayIndexMax indices[];
     char usrMsg[];
   };
+  //  message PrioMsg;
 
   group [migratable] ComlibManager {
     entry ComlibManager();
 
     entry void barrier(void);
     entry void resumeFromSetupBarrier();
 
   group [migratable] ComlibManager {
     entry ComlibManager();
 
     entry void barrier(void);
     entry void resumeFromSetupBarrier();
-    //entry void barrier2(void);
-    //entry void resumeFromBarrier2(void);
-    //entry void receiveTable(StrategyWrapper sw, 
-    //                     CkHashtableT<ClibGlobalArrayIndex, int>);
 
 
-//    entry void bracketedFinishSetup(int instid);
     entry void bracketedReceiveCount(int instid, int pe, int count, int isFirst, int step);
     entry void bracketedStartErrorRecoveryProcess(int instid, int step);        
     entry void bracketedErrorDetected(int instid, int step);
     entry void bracketedReceiveCount(int instid, int pe, int count, int isFirst, int step);
     entry void bracketedStartErrorRecoveryProcess(int instid, int step);        
     entry void bracketedErrorDetected(int instid, int step);
@@ -32,22 +28,13 @@ module comlib {
     entry void bracketedReleaseCount(int instid);
     entry void bracketedReleaseBufferedMessages(int instid);
 
     entry void bracketedReleaseCount(int instid);
     entry void bracketedReleaseBufferedMessages(int instid);
 
-
-
-    //entry void receiveRemoteSend(CkQ<CharmMessageHolder *> &remoteQ, int id);
     entry void collectStats(ComlibLocalStats s, int src);
     entry void collectStats(ComlibLocalStats s, int src);
-    //                     CkVec<ClibGlobalArrayIndex>);
   }
 
   mainchare ComlibManagerMain {
     entry ComlibManagerMain(); 
   }
 
   }
 
   mainchare ComlibManagerMain {
     entry ComlibManagerMain(); 
   }
 
-  //PUPable CharmStrategy;
-  //PUPable MessageHolder;
-  //PUPable CharmMessageHolder;
- //  PUPable ComlibArrayListener;
-
   PUPable EachToManyMulticastStrategy; 
   PUPable DirectMulticastStrategy;
   PUPable RingMulticastStrategy;       
   PUPable EachToManyMulticastStrategy; 
   PUPable DirectMulticastStrategy;
   PUPable RingMulticastStrategy;       
@@ -58,12 +45,15 @@ module comlib {
   PUPable PipeBroadcastStrategy;
  
 
   PUPable PipeBroadcastStrategy;
  
 
+  //PUPable CharmStrategy;
+  //PUPable MessageHolder;
+  //PUPable CharmMessageHolder;
+ //  PUPable ComlibArrayListener;
+
 // PUPable DummyStrategy;
 //  PUPable NodeMulticast;
 //  PUPable StreamingStrategy;
 //  PUPable MPIStrategy;
 //  PUPable MeshStreamingStrategy;
   
 // PUPable DummyStrategy;
 //  PUPable NodeMulticast;
 //  PUPable StreamingStrategy;
 //  PUPable MPIStrategy;
 //  PUPable MeshStreamingStrategy;
   
-  //Strategy pupable defined in the array manager code, along with the
-  //array listener code
 };
 };
index 5d0bb073fd83521da010c3e47bb96de1a5a22ede..9a153d39ca865df8dec7efc271fa025a9e191c77 100644 (file)
@@ -29,7 +29,11 @@ Strategies should be created in a MainChare's Main method (hence on PE 0). Proxi
   
 <h2>Startup</h2>
 
   
 <h2>Startup</h2>
 
-   The startup of Comlib happens asynchronously. The <i>module comlib</i> does not currently use any initproc routine. The <i>mainchare ComlibManagerMain</i> has a constructor that runs along with all other mainchares while charm++ messages are not activated at startup. This constructor simply sets a few variables from command line arguments, and then creates the <i>ComlibManager group </i>. After all mainchares have run (in no determinable order), then the charm++ system will release all charm++ messages. 
+  The initilization of Comlib is done both asynchronously for parts and at startup for other parts. There is an initproc routine 
+  initConvComlibManager() that instantiates the Ckpv processor local conv_com_object. This needs to be created before the ComlibManagerMain method is called. Because we cannot guarantee the order for which the mainchares execute, we must do this in an initproc routine.
+
+
+   The startup of Comlib happens asynchronously. The <i>mainchare ComlibManagerMain</i> has a constructor that runs along with all other mainchares while charm++ messages are not activated at startup. This constructor simply sets a few variables from command line arguments, and then creates the <i>ComlibManager group </i>. After all mainchares have run (in no determinable order), then the charm++ system will release all charm++ messages. 
 
    At this point the user program will continue asynchronously with the comlib startup.
   
 
    At this point the user program will continue asynchronously with the comlib startup.
   
index bb33c2852744152c45342dde07ea4af5b059fbe0..28840e6f3bd23aa0a00f7d32055ac83dd8fdd400 100644 (file)
@@ -23,8 +23,6 @@ int com_debug=0;
 
 /// The location in the global table where the converse Comlib manager is located.
 CkpvDeclare(ConvComlibManager, conv_com_object);
 
 /// The location in the global table where the converse Comlib manager is located.
 CkpvDeclare(ConvComlibManager, conv_com_object);
-/// A pointer to the location of the converse Comlib manager.
-CkpvDeclare(ConvComlibManager *, conv_com_ptr);
 
 /***************************************************************************
  * Handlers section:
 
 /***************************************************************************
  * Handlers section:
@@ -315,23 +313,23 @@ void recv_dummy(void *msg){
 //extern void propagate_handler(void *);
 extern void propagate_handler_frag(void *);
 
 //extern void propagate_handler(void *);
 extern void propagate_handler_frag(void *);
 
-/// An initialization routine which does preliminary initialization of the 
-/// Converse commlib manager. 
-void initComlibManager(){ 
+
+/** At startup on each processor, this method is called. 
+    This sets up the converse level comlib strategies.
+
+    This is called before any mainchare main functions.
+ */
+void initConvComlibManager(){ 
 
     if(!CkpvInitialized(conv_com_object))
       CkpvInitialize(ConvComlibManager, conv_com_object);
     
 
     if(!CkpvInitialized(conv_com_object))
       CkpvInitialize(ConvComlibManager, conv_com_object);
     
-    if(!CkpvInitialized(conv_com_ptr))
-      CkpvInitialize(ConvComlibManager *, conv_com_ptr);
     
     if(CkpvAccess(conv_com_object).getInitialized()) {
       CmiPrintf("Comlib initialized more than once!\n");
       return;
     }
     
     
     if(CkpvAccess(conv_com_object).getInitialized()) {
       CmiPrintf("Comlib initialized more than once!\n");
       return;
     }
     
-    CkpvAccess(conv_com_ptr) = &(CkpvAccess(conv_com_object));
-    
     CkpvInitialize(int, RecvdummyHandle);
     CkpvAccess(RecvdummyHandle) = CkRegisterHandler((CmiHandler)recv_dummy);
 
     CkpvInitialize(int, RecvdummyHandle);
     CkpvAccess(RecvdummyHandle) = CkRegisterHandler((CmiHandler)recv_dummy);
 
@@ -382,13 +380,13 @@ void initComlibManager(){
     CkpvAccess(conv_com_object).setInitialized();
 }
 
     CkpvAccess(conv_com_object).setInitialized();
 }
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-  void ComlibInit() {initComlibManager();}
-#ifdef __cplusplus
-}
-#endif
+// #ifdef __cplusplus
+// extern "C" {
+// #endif
+//   void ComlibInit() {initComlibManager();}
+// #ifdef __cplusplus
+// }
+// #endif
 
 
 /***************************************************************************
 
 
 /***************************************************************************
@@ -400,12 +398,12 @@ extern "C" {
 Strategy *ConvComlibGetStrategy(int loc) {
     //Calling converse strategy lets Charm++ strategies one strategy
     //table entry but multiple layers of strategies (Charm on top of Converse).
 Strategy *ConvComlibGetStrategy(int loc) {
     //Calling converse strategy lets Charm++ strategies one strategy
     //table entry but multiple layers of strategies (Charm on top of Converse).
-    return (CkpvAccess(conv_com_ptr))->getStrategy(loc);
+    return CkpvAccess(conv_com_object).getStrategy(loc);
 }
 
 // Why is this here for? Guess it is for the routers...
 void ConvComlibScheduleDoneInserting(int loc) {
 }
 
 // Why is this here for? Guess it is for the routers...
 void ConvComlibScheduleDoneInserting(int loc) {
-  CkpvAccess(conv_com_ptr)->getStrategyTable(loc)->call_doneInserting++;
+  CkpvAccess(conv_com_object).getStrategyTable(loc)->call_doneInserting++;
 }
 
 
 }
 
 
index aed4fc938130d74bc918b8a5c3c775855dc26310..63412db56a3c98e2e1a3b8476bda525611f3c4f9 100644 (file)
@@ -108,13 +108,12 @@ class ConvComlibManager {
 
 };
 
 
 };
 
-/// The location in the global table where the converse Comlib manager is located.
+/// This processor's converse Comlib manager
 CkpvExtern(ConvComlibManager, conv_com_object);
 CkpvExtern(ConvComlibManager, conv_com_object);
-/// A pointer to the location of the converse Comlib manager.
-CkpvExtern(ConvComlibManager *, conv_com_ptr);
 
 
 
 
-void initComlibManager();
+void initConvComlibManager();
+
 
 /***************************************************************************
  * User section:
 
 /***************************************************************************
  * User section:
@@ -124,17 +123,6 @@ void initComlibManager();
 
 Strategy *ConvComlibGetStrategy(int loc);
 
 
 Strategy *ConvComlibGetStrategy(int loc);
 
-/* Routine to register a Strategy to the system. It accept both Converse
-    strategies and higher level strategies. Strategies can be registered in all
-    the processors or only on processor 0. ComlibDoneCreating will take care of
-    the synchronization. Strategies are not active until they are synchronized.
-    If different processors register different strategies, or in different
-    order, the behaviour is undefined. */
-/*  DELETED SINCE NOT ANYMORE USEFUL
-inline ConvComlibInstanceHandle ConvComlibRegister(Strategy *s) {
-  return (CkpvAccess(conv_com_ptr))->insertStrategy(s);
-}
-*/
 
 /** Iterate over all the inserted strategies and broadcast all those that are
     marked as new. This has some effect only on processor 0, for all the other
 
 /** Iterate over all the inserted strategies and broadcast all those that are
     marked as new. This has some effect only on processor 0, for all the other
@@ -167,7 +155,7 @@ inline void ComlibBegin(ComlibInstanceHandle cinst, int iteration) {
 
 inline void ComlibEnd(ComlibInstanceHandle cinst, int iteration) {
   // flush strategy???
 
 inline void ComlibEnd(ComlibInstanceHandle cinst, int iteration) {
   // flush strategy???
-  CkpvAccess(conv_com_ptr)->doneInserting(cinst);
+  CkpvAccess(conv_com_object).doneInserting(cinst);
 }
 
 CkpvExtern(int, comlib_handler);
 }
 
 CkpvExtern(int, comlib_handler);
index 61647026e66ee79b1a6f84db09966a4bf434e53a..b381ace54a6f5533f353637c72d5bda14858e30a 100644 (file)
 #generated by make depends
 convcore.o: convcore.c converse.h conv-config.h conv-autoconfig.h \
 #generated by make depends
 convcore.o: convcore.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h sockRoutines.h queueing.h conv-ccs.h \
-  ccs-server.h memory-isomalloc.h converseEvents.h traceCoreAPI.h \
-  converseProjections.h traceCoreCommon.h machineEvents.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h sockRoutines.h queueing.h \
+  conv-ccs.h ccs-server.h memory-isomalloc.h converseEvents.h \
+  traceCoreAPI.h converseProjections.h traceCoreCommon.h machineEvents.h \
   machineProjections.h quiescence.h cmibacktrace.c
        $(CHARMC) -c -I. convcore.c
 
 conv-conds.o: conv-conds.c converse.h conv-config.h conv-autoconfig.h \
   machineProjections.h quiescence.h cmibacktrace.c
        $(CHARMC) -c -I. convcore.c
 
 conv-conds.o: conv-conds.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. conv-conds.c
 
 queueing.o: queueing.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. conv-conds.c
 
 queueing.o: queueing.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h converse.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h queueing.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h queueing.h
        $(CHARMC) -c -I. queueing.c
 
 msgmgr.o: msgmgr.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. queueing.c
 
 msgmgr.o: msgmgr.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h converse.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. msgmgr.c
 
 cpm.o: cpm.c queueing.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. msgmgr.c
 
 cpm.o: cpm.c queueing.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h converse.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. cpm.c
 
 cpthreads.o: cpthreads.c cpthreads.h converse.h conv-config.h \
        $(CHARMC) -c -I. cpm.c
 
 cpthreads.o: cpthreads.c cpthreads.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h converse.h conv-cpath.h conv-qd.h \
+  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. cpthreads.c
 
 futures.o: futures.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. cpthreads.c
 
 futures.o: futures.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. futures.c
 
 cldb.o: cldb.c queueing.h cldb.h converse.h conv-config.h \
        $(CHARMC) -c -I. futures.c
 
 cldb.o: cldb.c queueing.h cldb.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. cldb.c
 
 topology.o: topology.C charm.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. cldb.c
 
 topology.o: topology.C charm.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h topology.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h cklists.h topology.h
        $(CHARMC) -c -I. topology.C
 
 random.o: random.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. topology.C
 
 random.o: random.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. random.c
 
 debug-conv.o: debug-conv.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. random.c
 
 debug-conv.o: debug-conv.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h queueing.h conv-ccs.h sockRoutines.h \
-  ccs-server.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h queueing.h conv-ccs.h \
+  sockRoutines.h ccs-server.h
        $(CHARMC) -c -I. debug-conv.c
 
 generate.o: generate.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. debug-conv.c
 
 generate.o: generate.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h typedefs.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h typedefs.h
        $(CHARMC) -c -I. generate.c
 
 edgelist.o: edgelist.c typedefs.h converse.h conv-config.h \
        $(CHARMC) -c -I. generate.c
 
 edgelist.o: edgelist.c typedefs.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. edgelist.c
 
 conv-ccs.o: conv-ccs.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. edgelist.c
 
 conv-ccs.o: conv-ccs.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h conv-ccs.h sockRoutines.h ccs-server.h \
-  queueing.h ckhashtable.h pup.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h conv-ccs.h sockRoutines.h \
+  ccs-server.h queueing.h ckhashtable.h pup.h
        $(CHARMC) -c -I. conv-ccs.c
 
 ccs-builtins.o: ccs-builtins.C converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. conv-ccs.c
 
 ccs-builtins.o: ccs-builtins.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h ckhashtable.h pup.h pup_toNetwork.h \
-  debug-charm.h cklists.h conv-ccs.h sockRoutines.h ccs-server.h \
-  queueing.h ccs-builtins.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h ckhashtable.h pup.h \
+  pup_toNetwork.h debug-charm.h cklists.h conv-ccs.h sockRoutines.h \
+  ccs-server.h queueing.h ccs-builtins.h
        $(CHARMC) -c -I. ccs-builtins.C
 
 traceCore.o: traceCore.C converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. ccs-builtins.C
 
 traceCore.o: traceCore.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h traceCore.h traceCoreCommon.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h traceCore.h traceCoreCommon.h \
   converseEvents.h traceCoreAPI.h converseProjections.h charmEvents.h \
   charmProjections.h machineEvents.h machineProjections.h
        $(CHARMC) -c -I. traceCore.C
 
 traceCoreCommon.o: traceCoreCommon.C traceCore.h converse.h conv-config.h \
   converseEvents.h traceCoreAPI.h converseProjections.h charmEvents.h \
   charmProjections.h machineEvents.h machineProjections.h
        $(CHARMC) -c -I. traceCore.C
 
 traceCoreCommon.o: traceCoreCommon.C traceCore.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h traceCoreAPI.h traceCoreCommon.h \
-  charmProjections.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h traceCoreAPI.h \
+  traceCoreCommon.h charmProjections.h
        $(CHARMC) -c -I. traceCoreCommon.C
 
 tracec.o: tracec.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. traceCoreCommon.C
 
 tracec.o: tracec.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h trace-common.h tracec.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h trace-common.h tracec.h
        $(CHARMC) -c -I. tracec.C
 
 converseProjections.o: converseProjections.C converse.h conv-config.h \
        $(CHARMC) -c -I. tracec.C
 
 converseProjections.o: converseProjections.C converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h converseEvents.h traceCoreAPI.h \
-  converseProjections.h traceCoreCommon.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h converseEvents.h \
+  traceCoreAPI.h converseProjections.h traceCoreCommon.h
        $(CHARMC) -c -I. converseProjections.C
 
 machineProjections.o: machineProjections.C converse.h conv-config.h \
        $(CHARMC) -c -I. converseProjections.C
 
 machineProjections.o: machineProjections.C converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h machineEvents.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h machineEvents.h \
   machineProjections.h traceCoreAPI.h traceCoreCommon.h
        $(CHARMC) -c -I. machineProjections.C
 
 quiescence.o: quiescence.c converse.h conv-config.h conv-autoconfig.h \
   machineProjections.h traceCoreAPI.h traceCoreCommon.h
        $(CHARMC) -c -I. machineProjections.C
 
 quiescence.o: quiescence.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h quiescence.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h quiescence.h
        $(CHARMC) -c -I. quiescence.c
 
 isomalloc.o: isomalloc.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. quiescence.c
 
 isomalloc.o: isomalloc.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h memory-isomalloc.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h memory-isomalloc.h
        $(CHARMC) -c -I. isomalloc.c
 
 conv-counter.o: conv-counter.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. isomalloc.c
 
 conv-counter.o: conv-counter.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. conv-counter.c
 
 global-nop.o: global-nop.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. conv-counter.c
 
 global-nop.o: global-nop.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. global-nop.c
 
 cmipool.o: cmipool.c cmipool.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. global-nop.c
 
 cmipool.o: cmipool.c cmipool.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h
        $(CHARMC) -c -I. cmipool.c
 
 cpuaffinity.o: cpuaffinity.c converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. cmipool.c
 
 cpuaffinity.o: cpuaffinity.c converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h sockRoutines.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h sockRoutines.h
        $(CHARMC) -c -I. cpuaffinity.c
 
 cputopology.o: cputopology.C converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. cpuaffinity.c
 
 cputopology.o: cputopology.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h sockRoutines.h cklists.h pup.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h sockRoutines.h cklists.h pup.h
        $(CHARMC) -c -I. cputopology.C
 
 trace-projections.o: trace-projections.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. cputopology.C
 
 trace-projections.o: trace-projections.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h trace-projections.h trace-common.h \
-  trace-projectionsBOC.h envelope.h register.h
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h trace-projections.h trace-common.h trace-projectionsBOC.h \
+  register.h
        $(CHARMC) -c -I. trace-projections.C
 
 trace-summary.o: trace-summary.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. trace-projections.C
 
 trace-summary.o: trace-summary.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h trace-summary.h register.h trace-common.h trace-summaryBOC.h \
+  ckcallback-ccs.h CkCallback.decl.h TraceSummary.decl.h \
+  TraceSummary.def.h
+       $(CHARMC) -c -I. trace-summary.C
+
+trace-simple.o: trace-simple.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -216,73 +237,75 @@ trace-summary.o: trace-summary.C charm++.h charm.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h trace-summary.h envelope.h register.h \
-  trace-common.h trace-summaryBOC.h ckcallback-ccs.h CkCallback.decl.h \
-  TraceSummary.decl.h TraceSummary.def.h
-       $(CHARMC) -c -I. trace-summary.C
-
-trace-simple.o: trace-simple.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h trace-simple.h envelope.h register.h trace-common.h \
-  trace-simpleBOC.h TraceSimple.decl.h TraceSimple.def.h
+  trace.h trace-bluegene.h envelope.h trace-simple.h register.h \
+  trace-common.h trace-simpleBOC.h TraceSimple.decl.h TraceSimple.def.h
        $(CHARMC) -c -I. trace-simple.C
 
 trace-counter.o: trace-counter.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. trace-simple.C
 
 trace-counter.o: trace-counter.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h
        $(CHARMC) -c -I. trace-counter.C
 
 trace-controlPoints.o: trace-controlPoints.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. trace-counter.C
 
 trace-controlPoints.o: trace-controlPoints.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h trace-controlPoints.h envelope.h register.h \
-  trace-common.h trace-controlPointsBOC.h TraceControlPoints.decl.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h trace-controlPoints.h register.h trace-common.h \
+  trace-controlPointsBOC.h TraceControlPoints.decl.h \
   TraceControlPoints.def.h
        $(CHARMC) -c -I. trace-controlPoints.C
 
 trace-utilization.o: trace-utilization.C trace-utilization.h charm++.h \
   charm.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
   TraceControlPoints.def.h
        $(CHARMC) -c -I. trace-controlPoints.C
 
 trace-utilization.o: trace-utilization.C trace-utilization.h charm++.h \
   charm.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h \
-  middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
-  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
-  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
-  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
+  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
+  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
+  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h register.h trace-common.h ckcallback-ccs.h \
+  CkCallback.decl.h TraceUtilization.decl.h TraceUtilization.def.h
+       $(CHARMC) -c -I. trace-utilization.C
+
+trace-bluegene.o: trace-bluegene.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
   LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
   LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
@@ -290,54 +313,36 @@ trace-utilization.o: trace-utilization.C trace-utilization.h charm++.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  envelope.h register.h trace-common.h ckcallback-ccs.h CkCallback.decl.h \
-  TraceUtilization.decl.h TraceUtilization.def.h
-       $(CHARMC) -c -I. trace-utilization.C
-
-trace-bluegene.o: trace-bluegene.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h envelope.h trace-common.h blue.h blue-conv.h \
-  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h bigsim_logs.h \
-  blue_defs.h bigsim_network.h
+  envelope.h trace-common.h blue.h blue-conv.h blue_impl.h ckliststring.h \
+  blue_types.h bigsim_timing.h bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. trace-bluegene.C
 
 trace-projector.o: trace-projector.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. trace-bluegene.C
 
 trace-projector.o: trace-projector.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h trace-projector.h ck.h envelope.h qd.h \
-  register.h stats.h ckfutures.h ckIgetControl.h allEvents.h \
-  charmEvents.h charmProjections.h traceCoreAPI.h converseEvents.h \
-  converseProjections.h machineEvents.h machineProjections.h traceCore.h \
-  threadEvents.h traceCoreCommon.h trace-common.h trace-projections.h
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h trace-projector.h ck.h qd.h register.h stats.h ckfutures.h \
+  ckIgetControl.h allEvents.h charmEvents.h charmProjections.h \
+  traceCoreAPI.h converseEvents.h converseProjections.h machineEvents.h \
+  machineProjections.h traceCore.h threadEvents.h traceCoreCommon.h \
+  trace-common.h trace-projections.h
        $(CHARMC) -c -I. trace-projector.C
 
 trace-converse.o: trace-converse.c conv-trace.h converse.h conv-config.h \
        $(CHARMC) -c -I. trace-projector.C
 
 trace-converse.o: trace-converse.c conv-trace.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  persistent.h debug-conv.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h persistent.h debug-conv.h
        $(CHARMC) -c -I. trace-converse.c
 
 trace-all.o: trace-all.C
        $(CHARMC) -c -I. trace-converse.c
 
 trace-all.o: trace-all.C
@@ -345,196 +350,181 @@ trace-all.o: trace-all.C
 
 trace-recordreplay.o: trace-recordreplay.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
 
 trace-recordreplay.o: trace-recordreplay.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h trace-recordreplay.h envelope.h register.h \
-  trace-common.h
-       $(CHARMC) -c -I. trace-recordreplay.C
-
-trace-memory.o: trace-memory.C trace-memory.h charm++.h charm.h \
-  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h trace-common.h
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h trace-recordreplay.h register.h trace-common.h
+       $(CHARMC) -c -I. trace-recordreplay.C
+
+trace-memory.o: trace-memory.C trace-memory.h charm++.h charm.h \
+  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h trace-common.h
        $(CHARMC) -c -I. trace-memory.C
 
 trace-common.o: trace-common.C charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. trace-memory.C
 
 trace-common.o: trace-common.C charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckliststring.h trace.h trace-bluegene.h trace-common.h \
-  allEvents.h charmEvents.h charmProjections.h traceCoreAPI.h \
-  converseEvents.h converseProjections.h machineEvents.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckliststring.h trace.h trace-bluegene.h \
+  trace-common.h allEvents.h charmEvents.h charmProjections.h \
+  traceCoreAPI.h converseEvents.h converseProjections.h machineEvents.h \
   machineProjections.h traceCore.h threadEvents.h traceCoreCommon.h \
   register.h
        $(CHARMC) -c -I. trace-common.C
 
 tracef.o: tracef.C charm++.h charm.h converse.h conv-config.h \
   machineProjections.h traceCore.h threadEvents.h traceCoreCommon.h \
   register.h
        $(CHARMC) -c -I. trace-common.C
 
 tracef.o: tracef.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h charm-api.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h charm-api.h
        $(CHARMC) -c -I. tracef.C
 
 init.o: init.C ck.h charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. tracef.C
 
 init.o: init.C ck.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
   ckIgetControl.h
        $(CHARMC) -c -I. init.C
 
 register.o: register.C ck.h charm++.h charm.h converse.h conv-config.h \
   ckIgetControl.h
        $(CHARMC) -c -I. init.C
 
 register.o: register.C ck.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
   ckIgetControl.h
        $(CHARMC) -c -I. register.C
 
 qd.o: qd.C ck.h charm++.h charm.h converse.h conv-config.h \
   ckIgetControl.h
        $(CHARMC) -c -I. register.C
 
 qd.o: qd.C ck.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
   ckIgetControl.h
        $(CHARMC) -c -I. qd.C
 
 ck.o: ck.C ck.h charm++.h charm.h converse.h conv-config.h \
   ckIgetControl.h
        $(CHARMC) -c -I. qd.C
 
 ck.o: ck.C ck.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h queueing.h CkMarshall.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
+  ckIgetControl.h queueing.h pathHistory.h ControlPoints.decl.h pup_stl.h \
+  pup.h CkMarshall.def.h
        $(CHARMC) -c -I. ck.C
 
 main.o: main.C ck.h charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. ck.C
 
 main.o: main.C ck.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
   ckIgetControl.h
        $(CHARMC) -c -I. main.C
 
 msgalloc.o: msgalloc.C ck.h charm++.h charm.h converse.h conv-config.h \
   ckIgetControl.h
        $(CHARMC) -c -I. main.C
 
 msgalloc.o: msgalloc.C ck.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
   ckIgetControl.h queueing.h
        $(CHARMC) -c -I. msgalloc.C
 
 ckfutures.o: ckfutures.C charm++.h charm.h converse.h conv-config.h \
   ckIgetControl.h queueing.h
        $(CHARMC) -c -I. msgalloc.C
 
 ckfutures.o: ckfutures.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ck.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h CkFutures.def.h
-       $(CHARMC) -c -I. ckfutures.C
-
-ckIgetControl.o: ckIgetControl.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -546,12 +536,68 @@ ckIgetControl.o: ckIgetControl.C charm++.h charm.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h ckIgetControl.h
+  trace.h trace-bluegene.h envelope.h ck.h qd.h register.h stats.h \
+  ckfutures.h ckIgetControl.h CkFutures.def.h
+       $(CHARMC) -c -I. ckfutures.C
+
+ckIgetControl.o: ckIgetControl.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h ckIgetControl.h
        $(CHARMC) -c -I. ckIgetControl.C
 
 debug-message.o: debug-message.C ck.h charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. ckIgetControl.C
 
 debug-message.o: debug-message.C ck.h charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h qd.h register.h stats.h ckfutures.h ckIgetControl.h \
+  envelope.h queueing.h
+       $(CHARMC) -c -I. debug-message.C
+
+debug-charm.o: debug-charm.C converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h ckhashtable.h pup.h conv-ccs.h \
+  sockRoutines.h ccs-server.h debug-charm.h cklists.h charm.h middle.h \
+  middle-conv.h register.h ck.h charm++.h ckbitvector.h ckstream.h init.h \
+  simd.h CkMarshall.decl.h cksection.h ckcallback.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h qd.h stats.h ckfutures.h ckIgetControl.h
+       $(CHARMC) -c -I. debug-charm.C
+
+ckcallback.o: ckcallback.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -563,17 +609,17 @@ debug-message.o: debug-message.C ck.h charm++.h charm.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h envelope.h queueing.h
-       $(CHARMC) -c -I. debug-message.C
+  trace.h trace-bluegene.h envelope.h ckcallback-ccs.h CkCallback.decl.h \
+  CkCallback.def.h
+       $(CHARMC) -c -I. ckcallback.C
 
 
-debug-charm.o: debug-charm.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h ckhashtable.h pup.h conv-ccs.h sockRoutines.h \
-  ccs-server.h debug-charm.h cklists.h charm.h middle.h middle-conv.h \
-  register.h ck.h charm++.h ckbitvector.h ckstream.h init.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h ckobjQ.h ckreduction.h \
+cklocation.o: cklocation.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
   CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
   ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
   cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
   CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
   ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
   cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
@@ -581,86 +627,69 @@ debug-charm.o: debug-charm.C converse.h conv-config.h conv-autoconfig.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h envelope.h qd.h stats.h ckfutures.h \
-  ckIgetControl.h
-       $(CHARMC) -c -I. debug-charm.C
-
-ckcallback.o: ckcallback.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ckcallback-ccs.h CkCallback.decl.h envelope.h \
-  CkCallback.def.h
-       $(CHARMC) -c -I. ckcallback.C
-
-cklocation.o: cklocation.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h register.h ck.h envelope.h qd.h stats.h ckfutures.h \
-  ckIgetControl.h CkLocation.def.h
+  trace.h trace-bluegene.h envelope.h register.h ck.h qd.h stats.h \
+  ckfutures.h ckIgetControl.h CkLocation.def.h
        $(CHARMC) -c -I. cklocation.C
 
 ckarray.o: ckarray.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. cklocation.C
 
 ckarray.o: ckarray.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h register.h ck.h envelope.h qd.h stats.h ckfutures.h \
-  ckIgetControl.h pathHistory.h ControlPoints.decl.h pup_stl.h pup.h \
-  CkArray.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h register.h ck.h qd.h stats.h \
+  ckfutures.h ckIgetControl.h pathHistory.h ControlPoints.decl.h \
+  pup_stl.h pup.h CkArray.def.h
        $(CHARMC) -c -I. ckarray.C
 
 ckreduction.o: ckreduction.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. ckarray.C
 
 ckreduction.o: ckreduction.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ck.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h CkReduction.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h ck.h qd.h register.h stats.h \
+  ckfutures.h ckIgetControl.h CkReduction.def.h
        $(CHARMC) -c -I. ckreduction.C
 
 ckarrayreductionmgr.o: ckarrayreductionmgr.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. ckreduction.C
 
 ckarrayreductionmgr.o: ckarrayreductionmgr.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h ck.h qd.h register.h stats.h ckfutures.h ckIgetControl.h \
+  CkArrayReductionMgr.def.h
+       $(CHARMC) -c -I. ckarrayreductionmgr.C
+
+tempo.o: tempo.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -672,100 +701,66 @@ ckarrayreductionmgr.o: ckarrayreductionmgr.C charm++.h charm.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h ck.h envelope.h qd.h register.h stats.h \
-  ckfutures.h ckIgetControl.h CkArrayReductionMgr.def.h
-       $(CHARMC) -c -I. ckarrayreductionmgr.C
-
-tempo.o: tempo.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h tempo.def.h
+  trace.h trace-bluegene.h envelope.h tempo.def.h
        $(CHARMC) -c -I. tempo.C
 
 waitqd.o: waitqd.C waitqd.h charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. tempo.C
 
 waitqd.o: waitqd.C waitqd.h charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h \
-  ckarrayreductionmgr.h trace.h trace-bluegene.h waitqd.decl.h \
-  waitqd.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h waitqd.decl.h waitqd.def.h
        $(CHARMC) -c -I. waitqd.C
 
 LBDatabase.o: LBDatabase.C converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. waitqd.C
 
 LBDatabase.o: LBDatabase.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h LBDatabase.h lbdb.h charm.h pup.h middle.h \
-  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
-  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
-  readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
-  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
-  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h LBSimulation.h charm++.h CentralLB.h \
-  BaseLB.h CentralLB.decl.h CentralLBMsg.h topology.h NullLB.h BaseLB.h \
-  LBDatabase.def.h
-       $(CHARMC) -c -I. LBDatabase.C
-
-lbdb.o: lbdb.C converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h converse.h conv-cpath.h \
-  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
-  debug-conv.h lbdb.h converse.h charm.h pup.h middle.h middle-conv.h \
-  LBObj.h LBOM.h LBDatabase.h LBDBManager.h cklists.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h LBDatabase.h lbdb.h charm.h \
+  pup.h middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h \
+  LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h conv-trace.h trace-bluegene.h NullLB.decl.h BaseLB.decl.h
+  trace.h trace-bluegene.h envelope.h NullLB.decl.h BaseLB.decl.h \
+  LBSimulation.h charm++.h CentralLB.h BaseLB.h CentralLB.decl.h \
+  CentralLBMsg.h topology.h NullLB.h BaseLB.h LBDatabase.def.h
+       $(CHARMC) -c -I. LBDatabase.C
+
+lbdb.o: lbdb.C converse.h conv-config.h conv-autoconfig.h conv-common.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
+  converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h lbdb.h converse.h charm.h pup.h \
+  middle.h middle-conv.h LBObj.h LBOM.h LBDatabase.h LBDBManager.h \
+  cklists.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  debug-conv.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h conv-config.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
+  trace-bluegene.h envelope.h NullLB.decl.h BaseLB.decl.h
        $(CHARMC) -c -I. lbdb.C
 
 lbdbf.o: lbdbf.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. lbdb.C
 
 lbdbf.o: lbdbf.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h charm-api.h
-       $(CHARMC) -c -I. lbdbf.C
-
-charisma.o: charisma.C charisma.h charisma.decl.h charm++.h charm.h \
-  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -774,84 +769,85 @@ charisma.o: charisma.C charisma.h charisma.decl.h charm++.h charm.h \
   ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
   cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
   LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
   ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
   cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
   LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h tempo.h tempo.decl.h \
-  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  charisma.def.h
-       $(CHARMC) -c -I. charisma.C
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h charm-api.h
+       $(CHARMC) -c -I. lbdbf.C
 
 
-ckobjQ.o: ckobjQ.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h queueing.h
+charisma.o: charisma.C charisma.h charisma.decl.h charm++.h charm.h \
+  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h charisma.def.h
+       $(CHARMC) -c -I. charisma.C
+
+ckobjQ.o: ckobjQ.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h queueing.h
        $(CHARMC) -c -I. ckobjQ.C
 
 LBAgent.o: LBAgent.C LBAgent.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. ckobjQ.C
 
 LBAgent.o: LBAgent.C LBAgent.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h charm.h pup.h \
-  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h charm.h pup.h middle.h middle-conv.h LBDBManager.h \
+  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h topology.h
+  envelope.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
+  topology.h
        $(CHARMC) -c -I. LBAgent.C
 
 LBProfit.o: LBProfit.C converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. LBAgent.C
 
 LBProfit.o: LBProfit.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h LBProfit.h BaseLB.h LBDatabase.h lbdb.h \
-  charm.h pup.h middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h \
-  LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h \
-  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h LBProfit.h BaseLB.h LBDatabase.h \
+  lbdb.h charm.h pup.h middle.h middle-conv.h LBDBManager.h cklists.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  charm++.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
+  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h NullLB.decl.h BaseLB.decl.h
+  trace.h trace-bluegene.h envelope.h NullLB.decl.h BaseLB.decl.h
        $(CHARMC) -c -I. LBProfit.C
 
 ckcheckpoint.o: ckcheckpoint.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. LBProfit.C
 
 ckcheckpoint.o: ckcheckpoint.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ck.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h CkCheckpoint.def.h
-       $(CHARMC) -c -I. ckcheckpoint.C
-
-ckmemcheckpoint.o: ckmemcheckpoint.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -863,32 +859,33 @@ ckmemcheckpoint.o: ckmemcheckpoint.C charm++.h charm.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h ck.h envelope.h qd.h register.h stats.h \
-  ckfutures.h ckIgetControl.h CkMemCheckpoint.def.h
+  trace.h trace-bluegene.h envelope.h ck.h qd.h register.h stats.h \
+  ckfutures.h ckIgetControl.h CkCheckpoint.def.h
+       $(CHARMC) -c -I. ckcheckpoint.C
+
+ckmemcheckpoint.o: ckmemcheckpoint.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h ck.h qd.h register.h stats.h ckfutures.h ckIgetControl.h \
+  CkMemCheckpoint.def.h
        $(CHARMC) -c -I. ckmemcheckpoint.C
 
 ckevacuation.o: ckevacuation.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. ckmemcheckpoint.C
 
 ckevacuation.o: ckevacuation.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ck.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h
-       $(CHARMC) -c -I. ckevacuation.C
-
-ckmessagelogging.o: ckmessagelogging.C charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h ck.h charm++.h middle.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
@@ -899,72 +896,132 @@ ckmessagelogging.o: ckmessagelogging.C charm.h converse.h conv-config.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h envelope.h qd.h register.h stats.h ckfutures.h \
-  ckIgetControl.h ckmessagelogging.h ckobjid.h queueing.h CentralLB.h \
-  BaseLB.h CentralLB.decl.h CentralLBMsg.h
+  trace.h trace-bluegene.h envelope.h ck.h qd.h register.h stats.h \
+  ckfutures.h ckIgetControl.h
+       $(CHARMC) -c -I. ckevacuation.C
+
+ckmessagelogging.o: ckmessagelogging.C charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h ck.h \
+  charm++.h middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h \
+  init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h qd.h register.h stats.h ckfutures.h ckIgetControl.h \
+  ckmessagelogging.h ckobjid.h queueing.h CentralLB.h BaseLB.h \
+  CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. ckmessagelogging.C
 
 LBDBManager.o: LBDBManager.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. ckmessagelogging.C
 
 LBDBManager.o: LBDBManager.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h LBDBManager.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h LBDBManager.h
        $(CHARMC) -c -I. LBDBManager.C
 
 LBComm.o: LBComm.C converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. LBDBManager.C
 
 LBComm.o: LBComm.C converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h converse.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h LBComm.h converse.h lbdb.h charm.h pup.h \
-  middle.h middle-conv.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h LBComm.h converse.h lbdb.h \
+  charm.h pup.h middle.h middle-conv.h
        $(CHARMC) -c -I. LBComm.C
 
 LBObj.o: LBObj.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. LBComm.C
 
 LBObj.o: LBObj.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h LBObj.h LBOM.h LBDBManager.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h LBObj.h LBOM.h LBDBManager.h
        $(CHARMC) -c -I. LBObj.C
 
 LBMachineUtil.o: LBMachineUtil.C LBDatabase.h lbdb.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. LBObj.C
 
 LBMachineUtil.o: LBMachineUtil.C LBDatabase.h lbdb.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h charm.h pup.h \
-  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h charm.h pup.h middle.h middle-conv.h LBDBManager.h \
+  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h
+  envelope.h NullLB.decl.h BaseLB.decl.h
        $(CHARMC) -c -I. LBMachineUtil.C
 
 CentralPredictor.o: CentralPredictor.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. LBMachineUtil.C
 
 CentralPredictor.o: CentralPredictor.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h
+       $(CHARMC) -c -I. CentralPredictor.C
+
+BaseLB.o: BaseLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h BaseLB.h LBSimulation.h charm++.h \
+  CentralLB.h CentralLB.decl.h CentralLBMsg.h BaseLB.def.h
+       $(CHARMC) -c -I. BaseLB.C
+
+CentralLB.o: CentralLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -977,43 +1034,7 @@ CentralPredictor.o: CentralPredictor.C charm++.h charm.h converse.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h charm++.h \
-  BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h
-       $(CHARMC) -c -I. CentralPredictor.C
-
-BaseLB.o: BaseLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BaseLB.h LBSimulation.h charm++.h CentralLB.h \
-  CentralLB.decl.h CentralLBMsg.h BaseLB.def.h
-       $(CHARMC) -c -I. BaseLB.C
-
-CentralLB.o: CentralLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h envelope.h charm.h CentralLB.h BaseLB.h LBDatabase.h \
+  envelope.h envelope.h CentralLB.h BaseLB.h LBDatabase.h \
   CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLBMsg.h LBDBManager.h LBSimulation.h ComlibStrategy.h \
   ckhashtable.h pup.h convcomlibstrategy.h converse.h cklists.h \
   CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLBMsg.h LBDBManager.h LBSimulation.h ComlibStrategy.h \
   ckhashtable.h pup.h convcomlibstrategy.h converse.h cklists.h \
@@ -1021,216 +1042,201 @@ CentralLB.o: CentralLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. CentralLB.C
 
 HybridBaseLB.o: HybridBaseLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. CentralLB.C
 
 HybridBaseLB.o: HybridBaseLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BaseLB.h HybridBaseLB.h CentralLB.h CentralLB.decl.h \
-  CentralLBMsg.h HybridBaseLB.decl.h NeighborLBMsg.h HybridLBMsg.h \
-  topology.h GreedyLB.h GreedyLB.decl.h GreedyCommLB.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h BaseLB.h HybridBaseLB.h CentralLB.h \
+  CentralLB.decl.h CentralLBMsg.h HybridBaseLB.decl.h NeighborLBMsg.h \
+  HybridLBMsg.h topology.h GreedyLB.h GreedyLB.decl.h GreedyCommLB.h \
   GreedyCommLB.decl.h elements.h Set.h heap.h CommLBHeap.h RefineCommLB.h \
   RefinerComm.h Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h \
   HybridBaseLB.def.h
        $(CHARMC) -c -I. HybridBaseLB.C
 
 NborBaseLB.o: NborBaseLB.C charm++.h charm.h converse.h conv-config.h \
   GreedyCommLB.decl.h elements.h Set.h heap.h CommLBHeap.h RefineCommLB.h \
   RefinerComm.h Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h \
   HybridBaseLB.def.h
        $(CHARMC) -c -I. HybridBaseLB.C
 
 NborBaseLB.o: NborBaseLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BaseLB.h NborBaseLB.h NborBaseLB.decl.h \
-  NeighborLBMsg.h topology.h NborBaseLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h BaseLB.h NborBaseLB.h \
+  NborBaseLB.decl.h NeighborLBMsg.h topology.h NborBaseLB.def.h
        $(CHARMC) -c -I. NborBaseLB.C
 
 WSLB.o: WSLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. NborBaseLB.C
 
 WSLB.o: WSLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BaseLB.h LBDatabase.h cklists.h heap.h elements.h \
-  Set.h WSLB.h BaseLB.h WSLB.decl.h topology.h WSLB.def.h
-       $(CHARMC) -c -I. WSLB.C
-
-ObjGraph.o: ObjGraph.C ObjGraph.h lbdb.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h charm.h pup.h middle.h \
-  middle-conv.h CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h cklists.h \
-  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
-  charm++.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h \
-  CentralLBMsg.h
+  trace.h trace-bluegene.h envelope.h BaseLB.h LBDatabase.h cklists.h \
+  heap.h elements.h Set.h WSLB.h BaseLB.h WSLB.decl.h topology.h \
+  WSLB.def.h
+       $(CHARMC) -c -I. WSLB.C
+
+ObjGraph.o: ObjGraph.C ObjGraph.h lbdb.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h charm.h pup.h \
+  middle.h middle-conv.h CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h \
+  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. ObjGraph.C
 
 graph.o: graph.c converse.h conv-config.h conv-autoconfig.h conv-common.h \
        $(CHARMC) -c -I. ObjGraph.C
 
 graph.o: graph.c converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
-  graph.h
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
+  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
+  persistent.h debug-conv.h graph.h
        $(CHARMC) -c -I. graph.c
 
 LButil.o: LButil.C elements.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. graph.c
 
 LButil.o: LButil.C elements.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h lbdb.h charm.h pup.h middle.h middle-conv.h \
-  Set.h cklists.h heap.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h \
-  LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h \
-  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h NullLB.decl.h BaseLB.decl.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h lbdb.h charm.h pup.h middle.h \
+  middle-conv.h Set.h cklists.h heap.h BaseLB.h LBDatabase.h \
+  LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h NullLB.decl.h BaseLB.decl.h
        $(CHARMC) -c -I. LButil.C
 
 Refiner.o: Refiner.C Refiner.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. LButil.C
 
 Refiner.o: Refiner.C Refiner.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h charm.h pup.h \
-  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h charm.h pup.h middle.h middle-conv.h LBDBManager.h \
+  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h elements.h \
-  Set.h heap.h
+  envelope.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
+  elements.h Set.h heap.h
        $(CHARMC) -c -I. Refiner.C
 
 RefinerApprox.o: RefinerApprox.C RefinerApprox.h CentralLB.h BaseLB.h \
   LBDatabase.h lbdb.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. Refiner.C
 
 RefinerApprox.o: RefinerApprox.C RefinerApprox.h CentralLB.h BaseLB.h \
   LBDatabase.h lbdb.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h charm.h pup.h middle.h middle-conv.h \
-  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h \
-  lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
-  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
-  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
-  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h charm.h pup.h middle.h \
+  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h \
-  elements.h Set.h heap.h
+  envelope.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
+  Refiner.h elements.h Set.h heap.h
        $(CHARMC) -c -I. RefinerApprox.C
 
 RefinerComm.o: RefinerComm.C RefinerComm.h CentralLB.h BaseLB.h \
   LBDatabase.h lbdb.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. RefinerApprox.C
 
 RefinerComm.o: RefinerComm.C RefinerComm.h CentralLB.h BaseLB.h \
   LBDatabase.h lbdb.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h charm.h pup.h middle.h middle-conv.h \
-  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h \
-  lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
-  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
-  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
-  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h charm.h pup.h middle.h \
+  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h elements.h \
-  Set.h heap.h Refiner.h
+  envelope.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
+  elements.h Set.h heap.h Refiner.h
        $(CHARMC) -c -I. RefinerComm.C
 
 bitvecset.o: bitvecset.c bitvecset.h
        $(CHARMC) -c -I. bitvecset.c
 
 Set.o: Set.C Set.h elements.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. RefinerComm.C
 
 bitvecset.o: bitvecset.c bitvecset.h
        $(CHARMC) -c -I. bitvecset.c
 
 Set.o: Set.C Set.h elements.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h lbdb.h charm.h pup.h middle.h middle-conv.h \
-  cklists.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h lbdb.h charm.h pup.h middle.h \
+  middle-conv.h cklists.h
        $(CHARMC) -c -I. Set.C
 
 heap.o: heap.C heap.h elements.h converse.h conv-config.h \
        $(CHARMC) -c -I. Set.C
 
 heap.o: heap.C heap.h elements.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h lbdb.h charm.h pup.h middle.h \
-  middle-conv.h Set.h cklists.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h lbdb.h charm.h \
+  pup.h middle.h middle-conv.h Set.h cklists.h
        $(CHARMC) -c -I. heap.C
 
 CommLBHeap.o: CommLBHeap.C CommLBHeap.h charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. heap.C
 
 CommLBHeap.o: CommLBHeap.C CommLBHeap.h charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h
        $(CHARMC) -c -I. CommLBHeap.C
 
 NullLB.o: NullLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. CommLBHeap.C
 
 NullLB.o: NullLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BaseLB.h NullLB.h NullLB.decl.h ck.h charm++.h \
-  envelope.h charm.h qd.h register.h stats.h ckfutures.h CkFutures.decl.h \
-  ckIgetControl.h charisma.h NullLB.def.h
-       $(CHARMC) -c -I. NullLB.C
-
-LBSimulation.o: LBSimulation.C LBSimulation.h charm++.h charm.h \
-  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -1243,18 +1249,39 @@ LBSimulation.o: LBSimulation.C LBSimulation.h charm++.h charm.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h charm++.h \
-  BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h
+  envelope.h BaseLB.h NullLB.h NullLB.decl.h ck.h charm++.h envelope.h \
+  qd.h register.h stats.h ckfutures.h CkFutures.decl.h ckIgetControl.h \
+  charisma.h NullLB.def.h
+       $(CHARMC) -c -I. NullLB.C
+
+LBSimulation.o: LBSimulation.C LBSimulation.h charm++.h charm.h \
+  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h
        $(CHARMC) -c -I. LBSimulation.C
 
 ComlibModuleInterface.o: ComlibModuleInterface.C ComlibStrategy.h \
   charm++.h charm.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. LBSimulation.C
 
 ComlibModuleInterface.o: ComlibModuleInterface.C ComlibStrategy.h \
   charm++.h charm.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
-  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
+  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
+  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -1262,13 +1289,13 @@ ComlibModuleInterface.o: ComlibModuleInterface.C ComlibStrategy.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. ComlibModuleInterface.C
 
 charmProjections.o: charmProjections.C converse.h conv-config.h \
        $(CHARMC) -c -I. ComlibModuleInterface.C
 
 charmProjections.o: charmProjections.C converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h charmProjections.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h charmProjections.h \
   traceCoreCommon.h charmEvents.h traceCoreAPI.h ck.h charm++.h charm.h \
   pup.h middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
   ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
   traceCoreCommon.h charmEvents.h traceCoreAPI.h ck.h charm++.h charm.h \
   pup.h middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
   ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
@@ -1286,20 +1313,21 @@ charmProjections.o: charmProjections.C converse.h conv-config.h \
        $(CHARMC) -c -I. charmProjections.C
 
 EveryLB.o: EveryLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. charmProjections.C
 
 EveryLB.o: EveryLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h LBDatabase.h EveryLB.decl.h charm++.h DummyLB.decl.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h LBDatabase.h EveryLB.decl.h charm++.h DummyLB.decl.h \
   CentralLB.decl.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
   ComboCentLB.decl.h RandCentLB.decl.h RefineLB.decl.h RefineKLB.decl.h \
   RefineCommLB.decl.h GreedyLB.decl.h GreedyCommLB.decl.h \
   CentralLB.decl.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
   ComboCentLB.decl.h RandCentLB.decl.h RefineLB.decl.h RefineKLB.decl.h \
   RefineCommLB.decl.h GreedyLB.decl.h GreedyCommLB.decl.h \
@@ -1314,164 +1342,110 @@ EveryLB.o: EveryLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. EveryLB.C
 
 DummyLB.o: DummyLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. EveryLB.C
 
 DummyLB.o: DummyLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h DummyLB.h CentralLB.h BaseLB.h LBDatabase.h \
-  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
-  CentralLBMsg.h DummyLB.decl.h DummyLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h DummyLB.h CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h \
+  charm++.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h DummyLB.decl.h \
+  DummyLB.def.h
        $(CHARMC) -c -I. DummyLB.C
 
 ComboCentLB.o: ComboCentLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. DummyLB.C
 
 ComboCentLB.o: ComboCentLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ComboCentLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h ComboCentLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h ComboCentLB.decl.h ComboCentLB.def.h
+       $(CHARMC) -c -I. ComboCentLB.C
+
+RandCentLB.o: RandCentLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h cklists.h RandCentLB.h CentralLB.h BaseLB.h LBDatabase.h \
   CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
-  CentralLBMsg.h ComboCentLB.decl.h ComboCentLB.def.h
-       $(CHARMC) -c -I. ComboCentLB.C
-
-RandCentLB.o: RandCentLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h RandCentLB.h CentralLB.h BaseLB.h \
-  LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLBMsg.h RandCentLB.decl.h RandCentLB.def.h
        $(CHARMC) -c -I. RandCentLB.C
 
 RefineLB.o: RefineLB.C charm++.h charm.h converse.h conv-config.h \
   CentralLBMsg.h RandCentLB.decl.h RandCentLB.def.h
        $(CHARMC) -c -I. RandCentLB.C
 
 RefineLB.o: RefineLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h RefineLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h cklists.h RefineLB.h CentralLB.h BaseLB.h LBDatabase.h \
   CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLBMsg.h Refiner.h elements.h converse.h lbdb.h Set.h heap.h \
   RefineLB.decl.h RefineLB.def.h
        $(CHARMC) -c -I. RefineLB.C
 
 RefineKLB.o: RefineKLB.C charm++.h charm.h converse.h conv-config.h \
   CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLBMsg.h Refiner.h elements.h converse.h lbdb.h Set.h heap.h \
   RefineLB.decl.h RefineLB.def.h
        $(CHARMC) -c -I. RefineLB.C
 
 RefineKLB.o: RefineKLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h RefineKLB.h CentralLB.h BaseLB.h \
-  LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h cklists.h RefineKLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
   CentralLBMsg.h RefinerApprox.h Refiner.h elements.h converse.h lbdb.h \
   Set.h heap.h RefineKLB.decl.h RefineKLB.def.h
        $(CHARMC) -c -I. RefineKLB.C
 
 RefineCommLB.o: RefineCommLB.C charm++.h charm.h converse.h conv-config.h \
   CentralLBMsg.h RefinerApprox.h Refiner.h elements.h converse.h lbdb.h \
   Set.h heap.h RefineKLB.decl.h RefineKLB.def.h
        $(CHARMC) -c -I. RefineKLB.C
 
 RefineCommLB.o: RefineCommLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h RefineCommLB.h CentralLB.h BaseLB.h \
-  LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
-  CentralLBMsg.h RefinerComm.h elements.h converse.h lbdb.h Set.h heap.h \
-  Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h \
-  RefineCommLB.def.h
-       $(CHARMC) -c -I. RefineCommLB.C
-
-GreedyLB.o: GreedyLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h GreedyLB.h CentralLB.h BaseLB.h CentralLB.decl.h \
-  CentralLBMsg.h GreedyLB.decl.h GreedyLB.def.h
-       $(CHARMC) -c -I. GreedyLB.C
-
-GreedyCommLB.o: GreedyCommLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h GreedyCommLB.h CentralLB.h BaseLB.h \
-  LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
-  CentralLBMsg.h GreedyCommLB.decl.h elements.h converse.h lbdb.h Set.h \
-  heap.h CommLBHeap.h manager.h GreedyCommLB.def.h
-       $(CHARMC) -c -I. GreedyCommLB.C
-
-GreedyAgentLB.o: GreedyAgentLB.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -1484,14 +1458,16 @@ GreedyAgentLB.o: GreedyAgentLB.C charm++.h charm.h converse.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  LBSimulation.h CentralLB.h BaseLB.h CentralLB.decl.h CentralLBMsg.h \
-  cklists.h GreedyAgentLB.h CentralLB.h GreedyAgentLB.decl.h charm++.h \
-  CentralLB.decl.h LBAgent.h topology.h GreedyAgentLB.def.h
-       $(CHARMC) -c -I. GreedyAgentLB.C
+  envelope.h cklists.h RefineCommLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h RefinerComm.h elements.h converse.h lbdb.h Set.h heap.h \
+  Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h \
+  RefineCommLB.def.h
+       $(CHARMC) -c -I. RefineCommLB.C
 
 
-GridCommLB.o: GridCommLB.C GridCommLB.decl.h charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+GreedyLB.o: GreedyLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
@@ -1503,16 +1479,16 @@ GridCommLB.o: GridCommLB.C GridCommLB.decl.h charm++.h charm.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h CentralLB.decl.h CentralLBMsg.h GridCommLB.h \
-  CentralLB.h BaseLB.h manager.h GridCommLB.def.h
-       $(CHARMC) -c -I. GridCommLB.C
+  trace.h trace-bluegene.h envelope.h GreedyLB.h CentralLB.h BaseLB.h \
+  CentralLB.decl.h CentralLBMsg.h GreedyLB.decl.h GreedyLB.def.h
+       $(CHARMC) -c -I. GreedyLB.C
 
 
-GridCommRefineLB.o: GridCommRefineLB.C GridCommRefineLB.decl.h charm++.h \
-  charm.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h \
-  middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
-  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+GreedyCommLB.o: GreedyCommLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
   ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
   ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
@@ -1522,54 +1498,99 @@ GridCommRefineLB.o: GridCommRefineLB.C GridCommRefineLB.decl.h charm++.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  CentralLB.decl.h CentralLBMsg.h GridCommRefineLB.h CentralLB.h BaseLB.h \
-  manager.h GridCommRefineLB.def.h
+  envelope.h cklists.h GreedyCommLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h GreedyCommLB.decl.h elements.h converse.h lbdb.h Set.h \
+  heap.h CommLBHeap.h manager.h GreedyCommLB.def.h
+       $(CHARMC) -c -I. GreedyCommLB.C
+
+GreedyAgentLB.o: GreedyAgentLB.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h LBSimulation.h CentralLB.h BaseLB.h \
+  CentralLB.decl.h CentralLBMsg.h cklists.h GreedyAgentLB.h CentralLB.h \
+  GreedyAgentLB.decl.h charm++.h CentralLB.decl.h LBAgent.h topology.h \
+  GreedyAgentLB.def.h
+       $(CHARMC) -c -I. GreedyAgentLB.C
+
+GridCommLB.o: GridCommLB.C GridCommLB.decl.h charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h CentralLB.decl.h CentralLBMsg.h GridCommLB.h CentralLB.h \
+  BaseLB.h manager.h GridCommLB.def.h
+       $(CHARMC) -c -I. GridCommLB.C
+
+GridCommRefineLB.o: GridCommRefineLB.C GridCommRefineLB.decl.h charm++.h \
+  charm.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
+  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
+  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
+  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h CentralLB.decl.h CentralLBMsg.h \
+  GridCommRefineLB.h CentralLB.h BaseLB.h manager.h \
+  GridCommRefineLB.def.h
        $(CHARMC) -c -I. GridCommRefineLB.C
 
 GridMetisLB.o: GridMetisLB.C GridMetisLB.decl.h charm++.h charm.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. GridCommRefineLB.C
 
 GridMetisLB.o: GridMetisLB.C GridMetisLB.decl.h charm++.h charm.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h CentralLB.decl.h CentralLBMsg.h GridMetisLB.h \
-  CentralLB.h BaseLB.h manager.h GridMetisLB.def.h
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h CentralLB.decl.h CentralLBMsg.h GridMetisLB.h CentralLB.h \
+  BaseLB.h manager.h GridMetisLB.def.h
        $(CHARMC) -c -I. GridMetisLB.C
 
 GridHybridLB.o: GridHybridLB.C GridHybridLB.decl.h charm++.h charm.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. GridMetisLB.C
 
 GridHybridLB.o: GridHybridLB.C GridHybridLB.decl.h charm++.h charm.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h CentralLB.decl.h CentralLBMsg.h GridHybridLB.h \
-  CentralLB.h BaseLB.h manager.h GridHybridLB.def.h
-       $(CHARMC) -c -I. GridHybridLB.C
-
-GridHybridSeedLB.o: GridHybridSeedLB.C GridHybridSeedLB.decl.h charm++.h \
-  charm.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h \
-  middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
-  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
-  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
-  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
   LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
   LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
@@ -1577,17 +1598,18 @@ GridHybridSeedLB.o: GridHybridSeedLB.C GridHybridSeedLB.decl.h charm++.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  CentralLB.decl.h CentralLBMsg.h GridHybridSeedLB.h CentralLB.h BaseLB.h \
-  manager.h GridHybridSeedLB.def.h
-       $(CHARMC) -c -I. GridHybridSeedLB.C
+  envelope.h CentralLB.decl.h CentralLBMsg.h GridHybridLB.h CentralLB.h \
+  BaseLB.h manager.h GridHybridLB.def.h
+       $(CHARMC) -c -I. GridHybridLB.C
 
 
-Comm1LB.o: Comm1LB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+GridHybridSeedLB.o: GridHybridSeedLB.C GridHybridSeedLB.decl.h charm++.h \
+  charm.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
+  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
+  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
+  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -1595,35 +1617,35 @@ Comm1LB.o: Comm1LB.C charm++.h charm.h converse.h conv-config.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h Comm1LB.h CentralLB.h BaseLB.h \
-  CentralLB.decl.h CentralLBMsg.h Comm1LB.decl.h charm++.h \
-  CentralLB.decl.h CommLBHeap.h GreedyCommLB.h CentralLB.h \
-  GreedyCommLB.decl.h elements.h converse.h lbdb.h Set.h heap.h \
-  Comm1LB.def.h
+  trace-bluegene.h envelope.h CentralLB.decl.h CentralLBMsg.h \
+  GridHybridSeedLB.h CentralLB.h BaseLB.h manager.h \
+  GridHybridSeedLB.def.h
+       $(CHARMC) -c -I. GridHybridSeedLB.C
+
+Comm1LB.o: Comm1LB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h cklists.h Comm1LB.h CentralLB.h BaseLB.h CentralLB.decl.h \
+  CentralLBMsg.h Comm1LB.decl.h charm++.h CentralLB.decl.h CommLBHeap.h \
+  GreedyCommLB.h CentralLB.h GreedyCommLB.decl.h elements.h converse.h \
+  lbdb.h Set.h heap.h Comm1LB.def.h
        $(CHARMC) -c -I. Comm1LB.C
 
 OrbLB.o: OrbLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. Comm1LB.C
 
 OrbLB.o: OrbLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h OrbLB.h CentralLB.h BaseLB.h LBDatabase.h \
-  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
-  CentralLBMsg.h OrbLB.decl.h OrbLB.def.h
-       $(CHARMC) -c -I. OrbLB.C
-
-RecBisectBfLB.o: RecBisectBfLB.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -1636,19 +1658,19 @@ RecBisectBfLB.o: RecBisectBfLB.C charm++.h charm.h converse.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  RecBisectBfLB.h CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h \
-  charm++.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
-  RecBisectBfLB.decl.h ObjGraph.h lbdb.h graph.h bitvecset.h cklists.h \
-  RecBisectBfLB.def.h
-       $(CHARMC) -c -I. RecBisectBfLB.C
+  envelope.h cklists.h OrbLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h OrbLB.decl.h OrbLB.def.h
+       $(CHARMC) -c -I. OrbLB.C
 
 
-MetisLB.o: MetisLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+RecBisectBfLB.o: RecBisectBfLB.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -1656,14 +1678,15 @@ MetisLB.o: MetisLB.C charm++.h charm.h converse.h conv-config.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h MetisLB.h CentralLB.h BaseLB.h LBDatabase.h \
-  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
-  CentralLBMsg.h MetisLB.decl.h MetisLB.def.h
-       $(CHARMC) -c -I. MetisLB.C
+  trace-bluegene.h envelope.h RecBisectBfLB.h CentralLB.h BaseLB.h \
+  LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h RecBisectBfLB.decl.h ObjGraph.h lbdb.h graph.h \
+  bitvecset.h cklists.h RecBisectBfLB.def.h
+       $(CHARMC) -c -I. RecBisectBfLB.C
 
 
-PhasebyArrayLB.o: PhasebyArrayLB.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+MetisLB.o: MetisLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -1676,18 +1699,19 @@ PhasebyArrayLB.o: PhasebyArrayLB.C charm++.h charm.h converse.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  PhasebyArrayLB.h CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h \
-  charm++.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
-  PhasebyArrayLB.decl.h PhasebyArrayLB.def.h
-       $(CHARMC) -c -I. PhasebyArrayLB.C
+  envelope.h cklists.h MetisLB.h CentralLB.h BaseLB.h LBDatabase.h \
+  CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h MetisLB.decl.h MetisLB.def.h
+       $(CHARMC) -c -I. MetisLB.C
 
 
-RotateLB.o: RotateLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+PhasebyArrayLB.o: PhasebyArrayLB.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -1695,33 +1719,32 @@ RotateLB.o: RotateLB.C charm++.h charm.h converse.h conv-config.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h RotateLB.decl.h CentralLB.decl.h CentralLBMsg.h \
-  RotateLB.h CentralLB.h BaseLB.h RotateLB.def.h
+  trace-bluegene.h envelope.h PhasebyArrayLB.h CentralLB.h BaseLB.h \
+  LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+  CentralLBMsg.h PhasebyArrayLB.decl.h PhasebyArrayLB.def.h
+       $(CHARMC) -c -I. PhasebyArrayLB.C
+
+RotateLB.o: RotateLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h RotateLB.decl.h CentralLB.decl.h \
+  CentralLBMsg.h RotateLB.h CentralLB.h BaseLB.h RotateLB.def.h
        $(CHARMC) -c -I. RotateLB.C
 
 NeighborLB.o: NeighborLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. RotateLB.C
 
 NeighborLB.o: NeighborLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h cklists.h heap.h elements.h converse.h lbdb.h Set.h \
-  NeighborLB.h NborBaseLB.h BaseLB.h LBDatabase.h NborBaseLB.decl.h \
-  charm++.h LBDatabase.decl.h BaseLB.decl.h NeighborLBMsg.h topology.h \
-  NeighborLB.decl.h NeighborLB.def.h
-       $(CHARMC) -c -I. NeighborLB.C
-
-NeighborCommLB.o: NeighborCommLB.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -1733,20 +1756,21 @@ NeighborCommLB.o: NeighborCommLB.C charm++.h charm.h converse.h \
   NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h cklists.h \
-  heap.h elements.h converse.h lbdb.h Set.h NeighborCommLB.h NborBaseLB.h \
-  BaseLB.h LBDatabase.h NborBaseLB.decl.h charm++.h LBDatabase.decl.h \
-  BaseLB.decl.h NeighborLBMsg.h topology.h NeighborCommLB.decl.h \
-  NeighborCommLB.def.h
-       $(CHARMC) -c -I. NeighborCommLB.C
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h cklists.h heap.h elements.h converse.h lbdb.h Set.h \
+  NeighborLB.h NborBaseLB.h BaseLB.h LBDatabase.h NborBaseLB.decl.h \
+  charm++.h LBDatabase.decl.h BaseLB.decl.h NeighborLBMsg.h topology.h \
+  NeighborLB.decl.h NeighborLB.def.h
+       $(CHARMC) -c -I. NeighborLB.C
 
 
-TopoLB.o: TopoLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+NeighborCommLB.o: NeighborCommLB.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -1754,146 +1778,172 @@ TopoLB.o: TopoLB.C charm++.h charm.h converse.h conv-config.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h CentralLB.h BaseLB.h CentralLB.decl.h CentralLBMsg.h \
-  TopoLB.decl.h TopoLB.h topology.h TopoLB.def.h
+  trace-bluegene.h envelope.h cklists.h heap.h elements.h converse.h \
+  lbdb.h Set.h NeighborCommLB.h NborBaseLB.h BaseLB.h LBDatabase.h \
+  NborBaseLB.decl.h charm++.h LBDatabase.decl.h BaseLB.decl.h \
+  NeighborLBMsg.h topology.h NeighborCommLB.decl.h NeighborCommLB.def.h
+       $(CHARMC) -c -I. NeighborCommLB.C
+
+TopoLB.o: TopoLB.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h CentralLB.h BaseLB.h \
+  CentralLB.decl.h CentralLBMsg.h TopoLB.decl.h TopoLB.h topology.h \
+  TopoLB.def.h
        $(CHARMC) -c -I. TopoLB.C
 
 RefineTopoLB.o: RefineTopoLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. TopoLB.C
 
 RefineTopoLB.o: RefineTopoLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h CentralLB.h BaseLB.h CentralLB.decl.h CentralLBMsg.h \
-  RefineTopoLB.decl.h RefineTopoLB.h TopoLB.h topology.h \
-  RefineTopoLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h CentralLB.h BaseLB.h \
+  CentralLB.decl.h CentralLBMsg.h RefineTopoLB.decl.h RefineTopoLB.h \
+  TopoLB.h topology.h RefineTopoLB.def.h
        $(CHARMC) -c -I. RefineTopoLB.C
 
 TopoCentLB.o: TopoCentLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. RefineTopoLB.C
 
 TopoCentLB.o: TopoCentLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h CentralLB.h BaseLB.h CentralLB.decl.h CentralLBMsg.h \
-  TopoCentLB.decl.h TopoCentLB.h topology.h TopoCentLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h CentralLB.h BaseLB.h \
+  CentralLB.decl.h CentralLBMsg.h TopoCentLB.decl.h TopoCentLB.h \
+  topology.h TopoCentLB.def.h
        $(CHARMC) -c -I. TopoCentLB.C
 
 HybridLB.o: HybridLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. TopoCentLB.C
 
 HybridLB.o: HybridLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h HybridLB.h BaseLB.h CentralLB.h CentralLB.decl.h \
-  CentralLBMsg.h HybridBaseLB.h HybridBaseLB.decl.h NeighborLBMsg.h \
-  HybridLBMsg.h topology.h HybridLB.decl.h GreedyLB.h GreedyLB.decl.h \
-  GreedyCommLB.h GreedyCommLB.decl.h elements.h Set.h heap.h CommLBHeap.h \
-  RefineCommLB.h RefinerComm.h Refiner.h RefineLB.h RefineLB.decl.h \
-  RefineCommLB.decl.h MetisLB.h MetisLB.decl.h HybridLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h HybridLB.h BaseLB.h CentralLB.h \
+  CentralLB.decl.h CentralLBMsg.h HybridBaseLB.h HybridBaseLB.decl.h \
+  NeighborLBMsg.h HybridLBMsg.h topology.h HybridLB.decl.h GreedyLB.h \
+  GreedyLB.decl.h GreedyCommLB.h GreedyCommLB.decl.h elements.h Set.h \
+  heap.h CommLBHeap.h RefineCommLB.h RefinerComm.h Refiner.h RefineLB.h \
+  RefineLB.decl.h RefineCommLB.decl.h MetisLB.h MetisLB.decl.h \
+  HybridLB.def.h
        $(CHARMC) -c -I. HybridLB.C
 
 HbmLB.o: HbmLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. HybridLB.C
 
 HbmLB.o: HbmLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BaseLB.h HbmLB.h CentralLB.h CentralLB.decl.h \
-  CentralLBMsg.h HbmLB.decl.h NeighborLBMsg.h HybridLBMsg.h topology.h \
-  GreedyLB.h GreedyLB.decl.h GreedyCommLB.h GreedyCommLB.decl.h \
-  elements.h Set.h heap.h CommLBHeap.h RefineCommLB.h RefinerComm.h \
-  Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h HbmLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h BaseLB.h HbmLB.h CentralLB.h \
+  CentralLB.decl.h CentralLBMsg.h HbmLB.decl.h NeighborLBMsg.h \
+  HybridLBMsg.h topology.h GreedyLB.h GreedyLB.decl.h GreedyCommLB.h \
+  GreedyCommLB.decl.h elements.h Set.h heap.h CommLBHeap.h RefineCommLB.h \
+  RefinerComm.h Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h \
+  HbmLB.def.h
        $(CHARMC) -c -I. HbmLB.C
 
 BlockLB.o: BlockLB.C charm++.h charm.h converse.h conv-config.h \
        $(CHARMC) -c -I. HbmLB.C
 
 BlockLB.o: BlockLB.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h BlockLB.decl.h CentralLB.decl.h CentralLBMsg.h \
-  BlockLB.h CentralLB.h BaseLB.h BlockLB.def.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h BlockLB.decl.h CentralLB.decl.h \
+  CentralLBMsg.h BlockLB.h CentralLB.h BaseLB.h BlockLB.def.h
        $(CHARMC) -c -I. BlockLB.C
 
 manager.o: manager.C manager.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. BlockLB.C
 
 manager.o: manager.C manager.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h charm.h pup.h \
-  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h charm.h pup.h middle.h middle-conv.h LBDBManager.h \
+  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+  ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h
+  envelope.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. manager.C
 
 blue.o: blue.C cklists.h pup.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. manager.C
 
 blue.o: blue.C cklists.h pup.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h queueing.h blue.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h bigsim_logs.h blue_defs.h \
-  bigsim_network.h bigsim_record.h bigsim_ooc.h bigsim_debug.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h queueing.h blue.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h bigsim_logs.h \
+  blue_defs.h bigsim_network.h bigsim_record.h bigsim_ooc.h \
+  bigsim_debug.h
        $(CHARMC) -c -I. blue.C
 
 bigsim_node.o: bigsim_node.C blue.h converse.h conv-config.h \
        $(CHARMC) -c -I. blue.C
 
 bigsim_node.o: bigsim_node.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
   bigsim_logs.h blue_defs.h bigsim_network.h bigsim_debug.h
        $(CHARMC) -c -I. bigsim_node.C
 
 bigsim_proc.o: bigsim_proc.C blue.h converse.h conv-config.h \
   bigsim_logs.h blue_defs.h bigsim_network.h bigsim_debug.h
        $(CHARMC) -c -I. bigsim_node.C
 
 bigsim_proc.o: bigsim_proc.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
   bigsim_logs.h blue_defs.h bigsim_network.h bigsim_record.h \
   ckcheckpoint.h CkCheckpoint.decl.h charm++.h charm.h middle.h \
   middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   bigsim_logs.h blue_defs.h bigsim_network.h bigsim_record.h \
   ckcheckpoint.h CkCheckpoint.decl.h charm++.h charm.h middle.h \
   middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
@@ -1906,83 +1956,85 @@ bigsim_proc.o: bigsim_proc.C blue.h converse.h conv-config.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  bigsim_ooc.h bigsim_debug.h
+  envelope.h bigsim_ooc.h bigsim_debug.h
        $(CHARMC) -c -I. bigsim_proc.C
 
 bigsim_init.o: bigsim_init.C bigsim_debug.h queueing.h blue.h converse.h \
        $(CHARMC) -c -I. bigsim_proc.C
 
 bigsim_init.o: bigsim_init.C bigsim_debug.h queueing.h blue.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
-  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
-  bigsim_logs.h blue_defs.h bigsim_network.h bigsim_ooc.h
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h blue-conv.h blue_impl.h ckliststring.h blue_types.h \
+  bigsim_timing.h cklists.h pup.h bigsim_logs.h blue_defs.h \
+  bigsim_network.h bigsim_ooc.h
        $(CHARMC) -c -I. bigsim_init.C
 
 bigsim_timing.o: bigsim_timing.C blue.h converse.h conv-config.h \
        $(CHARMC) -c -I. bigsim_init.C
 
 bigsim_timing.o: bigsim_timing.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_timing.C
 
 bigsim_record.o: bigsim_record.C blue.h converse.h conv-config.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_timing.C
 
 bigsim_record.o: bigsim_record.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h bigsim_record.h \
-  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
-  bigsim_logs.h blue_defs.h bigsim_network.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  bigsim_record.h blue_impl.h ckliststring.h blue_types.h bigsim_timing.h \
+  cklists.h pup.h bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_record.C
 
 bigsim_ooc.o: bigsim_ooc.C blue.h converse.h conv-config.h \
        $(CHARMC) -c -I. bigsim_record.C
 
 bigsim_ooc.o: bigsim_ooc.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_types.h \
-  bigsim_ooc.h blue_impl.h ckliststring.h bigsim_timing.h cklists.h pup.h \
-  bigsim_logs.h blue_defs.h bigsim_network.h bigsim_debug.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_types.h bigsim_ooc.h blue_impl.h ckliststring.h bigsim_timing.h \
+  cklists.h pup.h bigsim_logs.h blue_defs.h bigsim_network.h \
+  bigsim_debug.h
        $(CHARMC) -c -I. bigsim_ooc.C
 
 shared_alloc.o: shared_alloc.C shared-alloc.h
        $(CHARMC) -c -I. shared_alloc.C
 
 bigsim_read.o: bigsim_read.C blue.h converse.h conv-config.h \
        $(CHARMC) -c -I. bigsim_ooc.C
 
 shared_alloc.o: shared_alloc.C shared-alloc.h
        $(CHARMC) -c -I. shared_alloc.C
 
 bigsim_read.o: bigsim_read.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_read.C
 
 bigsim_logs.o: bigsim_logs.C blue.h converse.h conv-config.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_read.C
 
 bigsim_logs.o: bigsim_logs.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_logs.C
 
 bigsim_api.o: bigsim_api.C blue.h converse.h conv-config.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_logs.C
 
 bigsim_api.o: bigsim_api.C blue.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h blue-conv.h blue_impl.h \
-  ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h blue-conv.h \
+  blue_impl.h ckliststring.h blue_types.h bigsim_timing.h cklists.h pup.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_api.C
 
 blue_stub.o: blue_stub.C charm++.h charm.h converse.h conv-config.h \
   bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. bigsim_api.C
 
 blue_stub.o: blue_stub.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
+  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h
        $(CHARMC) -c -I. blue_stub.C
 
 blue_standalone.o: blue_standalone.C
        $(CHARMC) -c -I. blue_stub.C
 
 blue_standalone.o: blue_standalone.C
@@ -1993,9 +2045,9 @@ MPIStrategy.o: MPIStrategy.C
 
 StreamingStrategy.o: StreamingStrategy.C StreamingStrategy.h \
   convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
 
 StreamingStrategy.o: StreamingStrategy.C StreamingStrategy.h \
   convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h pup_cmialloc.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h cklists.h pup_cmialloc.h
        $(CHARMC) -c -I. StreamingStrategy.C
 
 DummyStrategy.o: DummyStrategy.C
        $(CHARMC) -c -I. StreamingStrategy.C
 
 DummyStrategy.o: DummyStrategy.C
@@ -2007,28 +2059,7 @@ NodeMulticast.o: NodeMulticast.C
 EachToManyMulticastStrategy.o: EachToManyMulticastStrategy.C \
   EachToManyMulticastStrategy.h ComlibManager.h convcomlibmanager.h \
   convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
 EachToManyMulticastStrategy.o: EachToManyMulticastStrategy.C \
   EachToManyMulticastStrategy.h ComlibManager.h convcomlibmanager.h \
   convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
-  routerstrategy.h router.h AAPLearner.h convcomlib.h AAMLearner.h
-       $(CHARMC) -c -I. EachToManyMulticastStrategy.C
-
-ComlibSectionInfo.o: ComlibSectionInfo.C ComlibManager.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
   conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
   conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
   conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
   conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
@@ -2043,43 +2074,15 @@ ComlibSectionInfo.o: ComlibSectionInfo.C ComlibManager.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
-       $(CHARMC) -c -I. ComlibSectionInfo.C
-
-AAPLearner.o: AAPLearner.C
-       $(CHARMC) -c -I. AAPLearner.C
-
-ComlibStats.o: ComlibStats.C ComlibStats.h charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h convcomlibmanager.h convcomlibstrategy.h \
-  converse.h pup.h cklists.h ComlibStrategy.h convcomlibstrategy.h \
-  ComlibLearner.h envelope.h ComlibManager.h ComlibArrayListener.h \
-  comlib.decl.h
-       $(CHARMC) -c -I. ComlibStats.C
-
-AAMLearner.o: AAMLearner.C
-       $(CHARMC) -c -I. AAMLearner.C
-
-MsgPacker.o: MsgPacker.C
-       $(CHARMC) -c -I. MsgPacker.C
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibArrayListener.h ComlibStats.h comlib.decl.h routerstrategy.h \
+  router.h AAPLearner.h convcomlib.h AAMLearner.h
+       $(CHARMC) -c -I. EachToManyMulticastStrategy.C
 
 
-MulticastStrategy.o: MulticastStrategy.C MulticastStrategy.h \
-  ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+ComlibSectionInfo.o: ComlibSectionInfo.C ComlibManager.h \
+  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
@@ -2093,61 +2096,46 @@ MulticastStrategy.o: MulticastStrategy.C MulticastStrategy.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
   ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
   ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
-       $(CHARMC) -c -I. MulticastStrategy.C
+       $(CHARMC) -c -I. ComlibSectionInfo.C
 
 
-DirectMulticastStrategy.o: DirectMulticastStrategy.C \
-  DirectMulticastStrategy.h MulticastStrategy.h ComlibManager.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
-  charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
-  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  debug-conv.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h conv-config.h ccs-server.h ckobjQ.h \
-  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+AAPLearner.o: AAPLearner.C
+       $(CHARMC) -c -I. AAPLearner.C
+
+ComlibStats.o: ComlibStats.C ComlibStats.h charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
   LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
   NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
   readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
   LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
   NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
-       $(CHARMC) -c -I. DirectMulticastStrategy.C
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h convcomlibmanager.h convcomlibstrategy.h converse.h pup.h \
+  cklists.h ComlibStrategy.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibManager.h ComlibArrayListener.h comlib.decl.h
+       $(CHARMC) -c -I. ComlibStats.C
 
 
-RingMulticastStrategy.o: RingMulticastStrategy.C RingMulticastStrategy.h \
-  MulticastStrategy.h ComlibManager.h convcomlibmanager.h \
-  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
-  ComlibSectionInfo.h
-       $(CHARMC) -c -I. RingMulticastStrategy.C
+AAMLearner.o: AAMLearner.C
+       $(CHARMC) -c -I. AAMLearner.C
 
 
-MultiRingMulticast.o: MultiRingMulticast.C MultiRingMulticast.h \
-  MulticastStrategy.h ComlibManager.h convcomlibmanager.h \
-  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+MsgPacker.o: MsgPacker.C
+       $(CHARMC) -c -I. MsgPacker.C
+
+MulticastStrategy.o: MulticastStrategy.C MulticastStrategy.h \
+  ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
+  converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
   ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
@@ -2158,15 +2146,16 @@ MultiRingMulticast.o: MultiRingMulticast.C MultiRingMulticast.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
+  conv-trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
   ComlibSectionInfo.h
   ComlibSectionInfo.h
-       $(CHARMC) -c -I. MultiRingMulticast.C
+       $(CHARMC) -c -I. MulticastStrategy.C
 
 
-PipeBroadcastStrategy.o: PipeBroadcastStrategy.C PipeBroadcastStrategy.h \
-  ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+DirectMulticastStrategy.o: DirectMulticastStrategy.C \
+  DirectMulticastStrategy.h MulticastStrategy.h ComlibManager.h \
+  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
@@ -2180,14 +2169,14 @@ PipeBroadcastStrategy.o: PipeBroadcastStrategy.C PipeBroadcastStrategy.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  ComlibArrayListener.h ComlibStats.h comlib.decl.h \
-  pipebroadcastconverse.h
-       $(CHARMC) -c -I. PipeBroadcastStrategy.C
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
+       $(CHARMC) -c -I. DirectMulticastStrategy.C
 
 
-MeshStreamingStrategy.o: MeshStreamingStrategy.C MeshStreamingStrategy.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
+RingMulticastStrategy.o: RingMulticastStrategy.C RingMulticastStrategy.h \
+  MulticastStrategy.h ComlibManager.h convcomlibmanager.h \
+  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
   conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
   conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
   conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
   conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
@@ -2202,13 +2191,14 @@ MeshStreamingStrategy.o: MeshStreamingStrategy.C MeshStreamingStrategy.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  pup_cmialloc.h
-       $(CHARMC) -c -I. MeshStreamingStrategy.C
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
+       $(CHARMC) -c -I. RingMulticastStrategy.C
 
 
-PrioStreaming.o: PrioStreaming.C PrioStreaming.h ComlibManager.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
+MultiRingMulticast.o: MultiRingMulticast.C MultiRingMulticast.h \
+  MulticastStrategy.h ComlibManager.h convcomlibmanager.h \
+  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
   conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
   conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
   conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
   conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
@@ -2223,14 +2213,36 @@ PrioStreaming.o: PrioStreaming.C PrioStreaming.h ComlibManager.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  ComlibArrayListener.h ComlibStats.h comlib.decl.h StreamingStrategy.h
-       $(CHARMC) -c -I. PrioStreaming.C
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
+       $(CHARMC) -c -I. MultiRingMulticast.C
 
 
-BroadcastStrategy.o: BroadcastStrategy.C BroadcastStrategy.h \
+PipeBroadcastStrategy.o: PipeBroadcastStrategy.C PipeBroadcastStrategy.h \
   ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
   ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
+  converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
+  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  conv-trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
+  pipebroadcastconverse.h
+       $(CHARMC) -c -I. PipeBroadcastStrategy.C
+
+MeshStreamingStrategy.o: MeshStreamingStrategy.C MeshStreamingStrategy.h \
+  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
@@ -2244,14 +2256,14 @@ BroadcastStrategy.o: BroadcastStrategy.C BroadcastStrategy.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  ComlibArrayListener.h ComlibStats.h comlib.decl.h
-       $(CHARMC) -c -I. BroadcastStrategy.C
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  pup_cmialloc.h
+       $(CHARMC) -c -I. MeshStreamingStrategy.C
 
 
-RectMulticastStrategy.o: RectMulticastStrategy.C RectMulticastStrategy.h \
-  ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+PrioStreaming.o: PrioStreaming.C PrioStreaming.h ComlibManager.h \
+  convcomlibmanager.h convcomlibstrategy.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h cklists.h \
   ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
@@ -2265,16 +2277,17 @@ RectMulticastStrategy.o: RectMulticastStrategy.C RectMulticastStrategy.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h \
-  ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
-       $(CHARMC) -c -I. RectMulticastStrategy.C
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibArrayListener.h ComlibStats.h comlib.decl.h StreamingStrategy.h
+       $(CHARMC) -c -I. PrioStreaming.C
 
 
-convcomlibstrategy.o: convcomlibstrategy.C convcomlibmanager.h \
-  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+BroadcastStrategy.o: BroadcastStrategy.C BroadcastStrategy.h \
+  ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
+  converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
   ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
@@ -2285,16 +2298,17 @@ convcomlibstrategy.o: convcomlibstrategy.C convcomlibmanager.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h
-       $(CHARMC) -c -I. convcomlibstrategy.C
+  conv-trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h
+       $(CHARMC) -c -I. BroadcastStrategy.C
 
 
-ComlibManager.o: ComlibManager.C ComlibManager.h convcomlibmanager.h \
-  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+RectMulticastStrategy.o: RectMulticastStrategy.C RectMulticastStrategy.h \
+  ComlibManager.h convcomlibmanager.h convcomlibstrategy.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
+  converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
   ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
@@ -2305,8 +2319,50 @@ ComlibManager.o: ComlibManager.C ComlibManager.h convcomlibmanager.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h ComlibArrayListener.h ComlibStats.h comlib.decl.h comlib.h \
+  conv-trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
+  ComlibSectionInfo.h
+       $(CHARMC) -c -I. RectMulticastStrategy.C
+
+convcomlibstrategy.o: convcomlibstrategy.C convcomlibmanager.h \
+  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
+  charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  debug-conv.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h conv-config.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h
+       $(CHARMC) -c -I. convcomlibstrategy.C
+
+ComlibManager.o: ComlibManager.C ComlibManager.h convcomlibmanager.h \
+  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
+  charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  debug-conv.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h conv-config.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  ComlibArrayListener.h ComlibStats.h comlib.decl.h comlib.h \
   StreamingStrategy.h MeshStreamingStrategy.h PrioStreaming.h \
   BroadcastStrategy.h PipeBroadcastStrategy.h pipebroadcastconverse.h \
   EachToManyMulticastStrategy.h routerstrategy.h router.h \
   StreamingStrategy.h MeshStreamingStrategy.h PrioStreaming.h \
   BroadcastStrategy.h PipeBroadcastStrategy.h pipebroadcastconverse.h \
   EachToManyMulticastStrategy.h routerstrategy.h router.h \
@@ -2317,28 +2373,9 @@ ComlibManager.o: ComlibManager.C ComlibManager.h convcomlibmanager.h \
 
 ComlibStrategy.o: ComlibStrategy.C ComlibStrategy.h charm++.h charm.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
 
 ComlibStrategy.o: ComlibStrategy.C ComlibStrategy.h charm++.h charm.h \
   converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
-  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
-  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
-  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
-  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
-  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
-  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
-  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
-  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h register.h
-       $(CHARMC) -c -I. ComlibStrategy.C
-
-gridrouter.o: gridrouter.C gridrouter.h petable.h router.h cklists.h \
-  pup.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h pup.h cklists.h \
-  ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h ckbitvector.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
   ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
   cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
   ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
   ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
   cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
   ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
@@ -2349,12 +2386,12 @@ gridrouter.o: gridrouter.C gridrouter.h petable.h router.h cklists.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  convcomlibstrategy.h ComlibLearner.h envelope.h
-       $(CHARMC) -c -I. gridrouter.C
+  envelope.h convcomlibstrategy.h ComlibLearner.h register.h
+       $(CHARMC) -c -I. ComlibStrategy.C
 
 
-hypercuberouter.o: hypercuberouter.C hypercuberouter.h petable.h router.h \
-  cklists.h pup.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
+gridrouter.o: gridrouter.C gridrouter.h petable.h router.h cklists.h \
+  pup.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
   conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
   persistent.h debug-conv.h convcomlibmanager.h convcomlibstrategy.h \
   converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
   conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
   persistent.h debug-conv.h convcomlibmanager.h convcomlibstrategy.h \
   converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
@@ -2368,33 +2405,15 @@ hypercuberouter.o: hypercuberouter.C hypercuberouter.h petable.h router.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h
-       $(CHARMC) -c -I. hypercuberouter.C
-
-treerouter.o: treerouter.C treerouter.h petable.h router.h cklists.h \
-  pup.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h pup.h cklists.h \
-  ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
-  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
-  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
-  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
-  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
-  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
-  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  convcomlibstrategy.h ComlibLearner.h envelope.h
-       $(CHARMC) -c -I. treerouter.C
+  trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h
+       $(CHARMC) -c -I. gridrouter.C
 
 
-petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h convcomlibmanager.h \
+hypercuberouter.o: hypercuberouter.C hypercuberouter.h petable.h router.h \
+  cklists.h pup.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h convcomlibmanager.h \
   convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h middle.h middle-conv.h ckbitvector.h ckstream.h \
   init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
   convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h middle.h middle-conv.h ckbitvector.h ckstream.h \
   init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
@@ -2407,12 +2426,12 @@ petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  convcomlibstrategy.h ComlibLearner.h envelope.h
-       $(CHARMC) -c -I. petable.C
+  envelope.h convcomlibstrategy.h ComlibLearner.h
+       $(CHARMC) -c -I. hypercuberouter.C
 
 
-3dgridrouter.o: 3dgridrouter.C 3dgridrouter.h petable.h router.h \
-  cklists.h pup.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
+treerouter.o: treerouter.C treerouter.h petable.h router.h cklists.h \
+  pup.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
   conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
   persistent.h debug-conv.h convcomlibmanager.h convcomlibstrategy.h \
   converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
   conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
   persistent.h debug-conv.h convcomlibmanager.h convcomlibstrategy.h \
   converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
@@ -2426,34 +2445,34 @@ petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
   CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
   charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
   ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
-  trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h
-       $(CHARMC) -c -I. 3dgridrouter.C
-
-graphrouter.o: graphrouter.C graphrouter.h petable.h router.h cklists.h \
-  pup.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
-  conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
-  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
-  convcomlibmanager.h convcomlibstrategy.h converse.h pup.h cklists.h \
-  ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
-  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
-  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
-  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
-  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
-  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
-  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
-  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
-  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  convcomlibstrategy.h ComlibLearner.h envelope.h hypercubetopology.h
-       $(CHARMC) -c -I. graphrouter.C
+  trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h
+       $(CHARMC) -c -I. treerouter.C
 
 
-hypercubetopology.o: hypercubetopology.C hypercubetopology.h \
-  graphrouter.h petable.h router.h cklists.h pup.h converse.h \
+petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h convcomlibmanager.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h convcomlibmanager.h convcomlibstrategy.h converse.h pup.h \
+  cklists.h ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
+  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h
+       $(CHARMC) -c -I. petable.C
+
+3dgridrouter.o: 3dgridrouter.C 3dgridrouter.h petable.h router.h \
+  cklists.h pup.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h convcomlibmanager.h \
   convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h middle.h middle-conv.h ckbitvector.h ckstream.h \
   init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
   convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
   charm++.h charm.h middle.h middle-conv.h ckbitvector.h ckstream.h \
   init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
@@ -2466,18 +2485,39 @@ hypercubetopology.o: hypercubetopology.C hypercubetopology.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  convcomlibstrategy.h ComlibLearner.h envelope.h
-       $(CHARMC) -c -I. hypercubetopology.C
+  envelope.h convcomlibstrategy.h ComlibLearner.h
+       $(CHARMC) -c -I. 3dgridrouter.C
 
 
-routerstrategy.o: routerstrategy.C routerstrategy.h convcomlibmanager.h \
-  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
+graphrouter.o: graphrouter.C graphrouter.h petable.h router.h cklists.h \
+  pup.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
+  conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h \
   conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
   conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
+  persistent.h debug-conv.h convcomlibmanager.h convcomlibstrategy.h \
+  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
+  middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+  CkReduction.decl.h cknodegroupreduction.h CkArrayReductionMgr.decl.h \
+  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+  CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+  charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+  ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+  trace.h trace-bluegene.h envelope.h convcomlibstrategy.h \
+  ComlibLearner.h hypercubetopology.h
+       $(CHARMC) -c -I. graphrouter.C
+
+hypercubetopology.o: hypercubetopology.C hypercubetopology.h \
+  graphrouter.h petable.h router.h cklists.h pup.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h convcomlibmanager.h convcomlibstrategy.h converse.h pup.h \
+  cklists.h ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
   CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -2485,63 +2525,104 @@ routerstrategy.o: routerstrategy.C routerstrategy.h convcomlibmanager.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h router.h gridrouter.h petable.h persistent.h graphrouter.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h
+       $(CHARMC) -c -I. hypercubetopology.C
+
+routerstrategy.o: routerstrategy.C routerstrategy.h convcomlibmanager.h \
+  convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
+  charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  debug-conv.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h conv-config.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  router.h gridrouter.h petable.h persistent.h graphrouter.h \
   hypercuberouter.h treerouter.h 3dgridrouter.h prefixrouter.h converse.h
        $(CHARMC) -c -I. routerstrategy.C
 
 convcomlibmanager.o: convcomlibmanager.C convcomlibmanager.h \
   convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
   hypercuberouter.h treerouter.h 3dgridrouter.h prefixrouter.h converse.h
        $(CHARMC) -c -I. routerstrategy.C
 
 convcomlibmanager.o: convcomlibmanager.C convcomlibmanager.h \
   convcomlibstrategy.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h \
-  charm.h converse.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h routerstrategy.h router.h StreamingStrategy.h \
-  MeshStreamingStrategy.h pipebroadcastconverse.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
+  charm++.h charm.h converse.h pup.h middle.h middle-conv.h cklists.h \
+  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
+  debug-conv.h simd.h CkMarshall.decl.h cksection.h ckcallback.h \
+  conv-ccs.h sockRoutines.h conv-config.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h \
+  routerstrategy.h router.h StreamingStrategy.h MeshStreamingStrategy.h \
+  pipebroadcastconverse.h
        $(CHARMC) -c -I. convcomlibmanager.C
 
 pipebroadcastconverse.o: pipebroadcastconverse.C pipebroadcastconverse.h \
   ckhashtable.h pup.h converse.h conv-config.h conv-autoconfig.h \
        $(CHARMC) -c -I. convcomlibmanager.C
 
 pipebroadcastconverse.o: pipebroadcastconverse.C pipebroadcastconverse.h \
   ckhashtable.h pup.h converse.h conv-config.h conv-autoconfig.h \
-  conv-common.h conv-mach.h conv-mach-opt.h pup_c.h conv-cpm.h \
-  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
-  persistent.h debug-conv.h convcomlibmanager.h convcomlibstrategy.h \
-  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h debug-charm.h \
-  simd.h CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h convcomlibstrategy.h ComlibLearner.h envelope.h
+  conv-common.h conv-mach.h conv-mach-opt.h conv-mach-smp.h pup_c.h \
+  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+  conv-trace.h persistent.h debug-conv.h convcomlibmanager.h \
+  convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
+  charm++.h charm.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+  envelope.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. pipebroadcastconverse.C
 
 pipelinestrategy.o: pipelinestrategy.C
        $(CHARMC) -c -I. pipelinestrategy.C
 
 prefixrouter.o: prefixrouter.C prefixrouter.h converse.h conv-config.h \
        $(CHARMC) -c -I. pipebroadcastconverse.C
 
 pipelinestrategy.o: pipelinestrategy.C
        $(CHARMC) -c -I. pipelinestrategy.C
 
 prefixrouter.o: prefixrouter.C prefixrouter.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h converse.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h router.h cklists.h pup.h \
-  converse.h convcomlibmanager.h convcomlibstrategy.h pup.h cklists.h \
-  ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h ckbitvector.h \
-  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv.h simd.h \
-  CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
-  conv-config.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h converse.h conv-cpath.h conv-qd.h \
+  conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
+  router.h cklists.h pup.h converse.h convcomlibmanager.h \
+  convcomlibstrategy.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
+  middle.h middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+  debug-charm.h debug-conv.h simd.h CkMarshall.decl.h cksection.h \
+  ckcallback.h conv-ccs.h sockRoutines.h conv-config.h ccs-server.h \
+  ckobjQ.h ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
+  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+  ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
+  trace-bluegene.h envelope.h convcomlibstrategy.h ComlibLearner.h
+       $(CHARMC) -c -I. prefixrouter.C
+
+controlPoints.o: controlPoints.C charm++.h charm.h converse.h \
+  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
   cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
   CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
   lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
@@ -2549,34 +2630,37 @@ prefixrouter.o: prefixrouter.C prefixrouter.h converse.h conv-config.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
   CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
   tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
   CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
-  envelope.h
-       $(CHARMC) -c -I. prefixrouter.C
-
-controlPoints.o: controlPoints.C charm++.h charm.h converse.h \
-  conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
-  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
-  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
-  debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
-  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
-  ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
-  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
-  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
-  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
-  NullLB.decl.h BaseLB.decl.h CkLocation.decl.h CkArray.decl.h \
-  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
-  waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
-  ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  controlPoints.h ControlPoints.decl.h charm++.h pup_stl.h LBDatabase.h \
-  pathHistory.h envelope.h charm.h arrayRedistributor.h \
-  trace-controlPoints.h trace.h register.h trace-common.h \
-  trace-projections.h ckhashtable.h pup.h ControlPoints.def.h
+  trace-bluegene.h envelope.h controlPoints.h ControlPoints.decl.h \
+  charm++.h pup_stl.h LBDatabase.h pathHistory.h envelope.h \
+  arrayRedistributor.h trace-controlPoints.h trace.h register.h \
+  trace-common.h trace-projections.h ckhashtable.h pup.h \
+  ControlPoints.def.h
        $(CHARMC) -c -I. controlPoints.C
 
 arrayRedistributor.o: arrayRedistributor.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
        $(CHARMC) -c -I. controlPoints.C
 
 arrayRedistributor.o: arrayRedistributor.C charm++.h charm.h converse.h \
   conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
-  conv-mach-opt.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
+  conv-mach-opt.h conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h \
+  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
+  ckstream.h init.h ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h \
+  charm++.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+  ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
+  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
+  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
+  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+  trace-bluegene.h envelope.h ControlPoints.decl.h charm++.h \
+  trace-controlPoints.h trace.h envelope.h register.h trace-common.h \
+  LBDatabase.h controlPoints.h pup_stl.h pathHistory.h \
+  arrayRedistributor.h
+       $(CHARMC) -c -I. arrayRedistributor.C
+
+pathHistory.o: pathHistory.C charm++.h charm.h converse.h conv-config.h \
+  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
+  conv-mach-smp.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h conv-random.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
   conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
   middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
   debug-charm.h simd.h CkMarshall.decl.h charm++.h cksection.h \
@@ -2589,27 +2673,8 @@ arrayRedistributor.o: arrayRedistributor.C charm++.h charm.h converse.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
   CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
   waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
   ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
-  ControlPoints.decl.h charm++.h trace-controlPoints.h trace.h envelope.h \
-  charm.h register.h trace-common.h LBDatabase.h controlPoints.h \
-  pup_stl.h pathHistory.h arrayRedistributor.h
-       $(CHARMC) -c -I. arrayRedistributor.C
-
-pathHistory.o: pathHistory.C charm++.h charm.h converse.h conv-config.h \
-  conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h pup_c.h \
-  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
-  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
-  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
-  simd.h CkMarshall.decl.h charm++.h cksection.h ckcallback.h conv-ccs.h \
-  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
-  cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
-  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
-  lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
-  LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h CkLocation.decl.h \
-  CkArray.decl.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
-  tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
-  CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
-  trace-bluegene.h ControlPoints.decl.h charm++.h trace-controlPoints.h \
-  trace.h envelope.h charm.h register.h trace-common.h LBDatabase.h \
-  controlPoints.h pup_stl.h pathHistory.h arrayRedistributor.h register.h
+  envelope.h ControlPoints.decl.h charm++.h trace-controlPoints.h trace.h \
+  envelope.h register.h trace-common.h LBDatabase.h controlPoints.h \
+  pup_stl.h pathHistory.h arrayRedistributor.h register.h
        $(CHARMC) -c -I. pathHistory.C
 
        $(CHARMC) -c -I. pathHistory.C