ComlibManager Class Reference
[Charm++ Communication Optimization Framework]

The main group doing the management of all the system. More...

#include <ComlibManager.h>

Inheritance diagram for ComlibManager:

Inheritance graph
[legend]
Collaboration diagram for ComlibManager:

Collaboration graph
[legend]

Public Member Functions

 ComlibManager ()
 ComlibManager (CkMigrateMessage *m)
int useDefCtor (void)
void barrier (void)
void barrier2 (void)
void resumeFromBarrier2 (void)
void receiveTable (StrategyWrapper &sw, CkHashtableT< ClibGlobalArrayIndex, int > &)
void ArraySend (CkDelegateData *pd, int ep, void *msg, const CkArrayIndexMax &idx, CkArrayID a)
void receiveRemoteSend (CkQ< CharmMessageHolder * > &rq, int id)
void sendRemote ()
void GroupSend (CkDelegateData *pd, int ep, void *msg, int onpe, CkGroupID gid)
virtual void ArrayBroadcast (CkDelegateData *pd, int ep, void *m, CkArrayID a)
virtual void GroupBroadcast (CkDelegateData *pd, int ep, void *m, CkGroupID g)
virtual void ArraySectionSend (CkDelegateData *pd, int ep, void *m, CkArrayID a, CkSectionID &s, int opts)
CharmStrategygetStrategy (int instid)
StrategyTableEntrygetStrategyTableEntry (int instid)
ComlibInstanceHandle createInstance ()
void broadcastStrategies ()
void AtSync ()
void lbUpdate (LBMigrateMsg *)
void setRemote (int remotePe)
void collectStats (ComlibLocalStats &s, int src, CkVec< ClibGlobalArrayIndex > &)
int getLastKnown (CkArrayID a, CkArrayIndexMax &idx)
CkDelegateDatackCopyDelegateData (CkDelegateData *data)
CkDelegateDataDelegatePointerPup (PUP::er &p, CkDelegateData *pd)
 Management of per-proxy data: pup this delegate's data.

Data Fields

ComlibLocalStats clib_stats

Private Member Functions

void init ()
void multicast (CharmMessageHolder *cmsg)
 Initialization function.
void beginIteration ()
void endIteration ()
 Notify begining of a bracket with strategy identifier.
void setInstance (int id)
 Notify end, endIteration must be called if a beginIteration is called.
void registerStrategy (int pos, CharmStrategy *s)

Private Attributes

intbcast_pelist
int section_send_event
int remotePe
CmiBool isRemote
CmiBool strategyCreated
int npes
intpelist
CkArrayIndexMax dummyArrayIndex
int strategyID
StrategyTablestrategyTable
 Pointer to the converse comm lib strategy table.
CkQ< CharmStrategy * > ListOfStrategies
CkQ< CharmMessageHolder * > remoteQ
int curStratID
int prevStratID
int receivedTable
int setupComplete
int barrierReached
int barrier2Reached
CmiBool lbUpdateReceived
int bcount
int b2count
ComlibArrayListeneralistener
int prioEndIterationFlag
ComlibGlobalStats clib_gstats
int numStatsReceived
int curComlibController
int clibIteration

Friends

class ComlibInstanceHandle

Detailed Description

The main group doing the management of all the system.

It takes care of holding all the registered strategies, calling them when a message arrives, and modifying them when needed by the learning framework. It installed itself as a delegated class from CkDelegateMgr, overwriting the standard path of message sending in charm.

Definition at line 130 of file ComlibManager.h.


Constructor & Destructor Documentation

ComlibManager::ComlibManager ( CkMigrateMessage m  )  [inline]

Definition at line 210 of file ComlibManager.h.


Member Function Documentation

int ComlibManager::useDefCtor ( void   )  [inline]

Definition at line 211 of file ComlibManager.h.

CharmStrategy* ComlibManager::getStrategy ( int  instid  )  [inline]

Definition at line 236 of file ComlibManager.h.

Referenced by receiveTable().

StrategyTableEntry* ComlibManager::getStrategyTableEntry ( int  instid  )  [inline]

Definition at line 239 of file ComlibManager.h.

int ComlibManager::getLastKnown ( CkArrayID  a,
CkArrayIndexMax idx 
) [inline]

Definition at line 259 of file ComlibManager.h.

References ComlibGetLastKnown().

Referenced by ArraySend(), and resumeFromBarrier2().


Friends And Related Function Documentation

friend class ComlibInstanceHandle [friend]

Definition at line 131 of file ComlibManager.h.

Referenced by ckCopyDelegateData(), and DelegatePointerPup().


Field Documentation

int* ComlibManager::bcast_pelist [private]

Definition at line 133 of file ComlibManager.h.

Referenced by init().

int ComlibManager::section_send_event [private]

Definition at line 135 of file ComlibManager.h.

Referenced by ArraySectionSend(), and init().

int ComlibManager::remotePe [private]

Definition at line 137 of file ComlibManager.h.

Referenced by init(), sendRemote(), and setRemote().

CmiBool ComlibManager::isRemote [private]

Definition at line 138 of file ComlibManager.h.

Referenced by ArraySend(), endIteration(), init(), and setRemote().

CmiBool ComlibManager::strategyCreated [private]

Definition at line 139 of file ComlibManager.h.

Referenced by barrier(), init(), and registerStrategy().

int ComlibManager::npes [private]

Definition at line 141 of file ComlibManager.h.

Referenced by init().

int* ComlibManager::pelist [private]

Definition at line 142 of file ComlibManager.h.

Referenced by init().

CkArrayIndexMax ComlibManager::dummyArrayIndex [private]

Definition at line 144 of file ComlibManager.h.

Referenced by ArrayBroadcast(), ArraySectionSend(), and init().

int ComlibManager::strategyID [private]

Definition at line 147 of file ComlibManager.h.

StrategyTable* ComlibManager::strategyTable [private]

Pointer to the converse comm lib strategy table.

Definition at line 150 of file ComlibManager.h.

Referenced by ArraySend(), AtSync(), beginIteration(), endIteration(), init(), receiveTable(), resumeFromBarrier2(), and setInstance().

CkQ<CharmStrategy *> ComlibManager::ListOfStrategies [private]

Definition at line 152 of file ComlibManager.h.

Referenced by broadcastStrategies(), collectStats(), and registerStrategy().

CkQ<CharmMessageHolder *> ComlibManager::remoteQ [private]

Definition at line 154 of file ComlibManager.h.

Referenced by ArraySend(), and sendRemote().

int ComlibManager::curStratID [private]

Definition at line 161 of file ComlibManager.h.

Referenced by ArrayBroadcast(), ArraySectionSend(), ArraySend(), endIteration(), GroupBroadcast(), GroupSend(), init(), multicast(), receiveTable(), sendRemote(), and setInstance().

int ComlibManager::prevStratID [private]

Definition at line 161 of file ComlibManager.h.

Referenced by endIteration(), and init().

int ComlibManager::receivedTable [private]

Definition at line 165 of file ComlibManager.h.

Referenced by AtSync(), endIteration(), init(), receiveTable(), and resumeFromBarrier2().

int ComlibManager::setupComplete [private]

Definition at line 165 of file ComlibManager.h.

Referenced by ArraySend(), AtSync(), GroupSend(), init(), multicast(), and resumeFromBarrier2().

int ComlibManager::barrierReached [private]

Definition at line 165 of file ComlibManager.h.

Referenced by AtSync(), barrier(), broadcastStrategies(), collectStats(), init(), lbUpdate(), and resumeFromBarrier2().

int ComlibManager::barrier2Reached [private]

Definition at line 165 of file ComlibManager.h.

Referenced by AtSync(), barrier(), endIteration(), init(), and resumeFromBarrier2().

CmiBool ComlibManager::lbUpdateReceived [private]

Definition at line 166 of file ComlibManager.h.

Referenced by broadcastStrategies(), init(), and lbUpdate().

int ComlibManager::bcount [private]

Definition at line 168 of file ComlibManager.h.

Referenced by barrier(), barrier2(), and init().

int ComlibManager::b2count [private]

Definition at line 168 of file ComlibManager.h.

Referenced by barrier2(), and init().

ComlibArrayListener* ComlibManager::alistener [private]

Definition at line 171 of file ComlibManager.h.

int ComlibManager::prioEndIterationFlag [private]

Definition at line 172 of file ComlibManager.h.

ComlibGlobalStats ComlibManager::clib_gstats [private]

Definition at line 174 of file ComlibManager.h.

Referenced by collectStats().

int ComlibManager::numStatsReceived [private]

Definition at line 175 of file ComlibManager.h.

Referenced by collectStats(), and init().

int ComlibManager::curComlibController [private]

Definition at line 177 of file ComlibManager.h.

Referenced by AtSync(), init(), and receiveTable().

int ComlibManager::clibIteration [private]

Definition at line 178 of file ComlibManager.h.

Referenced by AtSync(), init(), receiveTable(), and resumeFromBarrier2().

ComlibLocalStats ComlibManager::clib_stats

Definition at line 205 of file ComlibManager.h.

Referenced by AtSync(), and receiveTable().


The documentation for this class was generated from the following files:
Generated on Sun Jun 29 13:31:42 2008 for Charm++ by  doxygen 1.5.1