PPL Logo

conv-ldb/cldb.C File Reference

Go to the source code of this file.

Data Structures

struct  CldToken_s
struct  CldProcInfo_s

Typedefs

typedef char * BitVector
typedef struct CldToken_sCldToken
typedef struct CldProcInfo_sCldProcInfo

Functions

 CpvDeclare (int, CldHandlerIndex)
 CpvDeclare (int, CldNodeHandlerIndex)
 CpvDeclare (BitVector, CldPEBitVector)
 CpvDeclare (int, CldBalanceHandlerIndex)
 CpvDeclare (int, CldRelocatedMessages)
 CpvDeclare (int, CldLoadBalanceMessages)
 CpvDeclare (int, CldMessageChunks)
 CpvDeclare (int, CldLoadNotify)
 CpvDeclare (CmiNodeLock, cldLock)
void LoadNotifyFn (int)
void CldRegisterEstimator (CldEstimator fn)
 CpvDeclare (int, CldLoadOffset)
int CldRegisterInfoFn (CldInfoFn fn)
int CldRegisterPackFn (CldPackFn fn)
void CldSwitchHandler (char *cmsg, int handler)
void CldRestoreHandler (char *cmsg)
void Cldhandler (char *)
 CpvDeclare (CldProcInfo, CldProc)
static void CldTokenHandler (CldToken tok)
int CldCountTokensRank (int rank)
int CldCountTokens (void)
int CldLoad (void)
int CldLoadRank (int rank)
void CldPutToken (char *msg)
void CldPutTokenPrio (char *msg)
static void * _CldGetTokenMsg (CldProcInfo proc)
void CldGetToken (char **msg)
static void CldGetTokenFromRank (char **msg, int rank)
static void * _CldGetTokenMsgAt (CldProcInfo proc, CldToken tok)
static void CldGetTokenFromRankAt (char **msg, int rank, CldToken tok)
int CldPresentPE (int pe)
void CldMoveAllSeedsAway (void)
void CldSetPEBitVector (const char *newBV)
void CldModuleGeneralInit (char **argv)
void CldMultipleSend (int pe, int numToSend, int rank, int immed)
void CldMultipleSendPrio (int pe, int numToSend, int rank, int immed)
void CldSimpleMultipleSend (int pe, int numToSend, int rank)
void seedBalancerExit (void)

Variables

static char s_lbtopo_default [] = "torus_nd_5"
char * _lbtopo = s_lbtopo_default
static int _cldb_cs = 0


Typedef Documentation

typedef char* BitVector

Definition at line 7 of file cldb.C.

typedef struct CldToken_s * CldToken

typedef struct CldProcInfo_s * CldProcInfo


Function Documentation

CpvDeclare ( int  ,
CldHandlerIndex   
)

CpvDeclare ( int  ,
CldNodeHandlerIndex   
)

CpvDeclare ( BitVector  ,
CldPEBitVector   
)

CpvDeclare ( int  ,
CldBalanceHandlerIndex   
)

CpvDeclare ( int  ,
CldRelocatedMessages   
)

CpvDeclare ( int  ,
CldLoadBalanceMessages   
)

CpvDeclare ( int  ,
CldMessageChunks   
)

CpvDeclare ( int  ,
CldLoadNotify   
)

CpvDeclare ( CmiNodeLock  ,
cldLock   
)

void LoadNotifyFn ( int   ) 

Definition at line 18 of file cldb.bluegene.C.

References CldCountTokens(), CldProcInfo_s::sent, StealLoad(), and WS_Threshold.

Referenced by CldTokenHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldRegisterEstimator ( CldEstimator  fn  ) 

Definition at line 31 of file cldb.C.

Referenced by _initCharm().

Here is the caller graph for this function:

CpvDeclare ( int  ,
CldLoadOffset   
)

int CldRegisterInfoFn ( CldInfoFn  fn  ) 

Definition at line 55 of file cldb.C.

References CmiRegisterHandler().

Referenced by _initCharm().

Here is the call graph for this function:

Here is the caller graph for this function:

int CldRegisterPackFn ( CldPackFn  fn  ) 

Definition at line 60 of file cldb.C.

References CmiRegisterHandler().

Here is the call graph for this function:

void CldSwitchHandler ( char *  cmsg,
int  handler 
)

void CldRestoreHandler ( char *  cmsg  ) 

void Cldhandler ( char *   ) 

CpvDeclare ( CldProcInfo  ,
CldProc   
)

static void CldTokenHandler ( CldToken  tok  )  [static]

Definition at line 118 of file cldb.C.

References CmiFree(), CmiHandleMessage(), CldProcInfo_s::load, LoadNotifyFn(), CldToken_s::msg, CldToken_s::pred, and CldToken_s::succ.

Referenced by CldModuleGeneralInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int CldCountTokensRank ( int  rank  ) 

Definition at line 134 of file cldb.C.

Referenced by CldAskLoadHandler().

Here is the caller graph for this function:

int CldCountTokens ( void   ) 

Definition at line 139 of file cldb.C.

Referenced by CldAskLoadHandler(), CldBalance(), CldBeginIdle(), CldEnqueue(), CldMinAvg(), CldNodeEnqueue(), CldSendLoad(), CldStillIdle(), and LoadNotifyFn().

Here is the caller graph for this function:

int CldLoad ( void   ) 

Definition at line 144 of file cldb.C.

Referenced by CldEstimate().

Here is the caller graph for this function:

int CldLoadRank ( int  rank  ) 

Definition at line 149 of file cldb.C.

References CqsLength(), len, and offset.

Referenced by CldMinAvg().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldPutToken ( char *  msg  ) 

Definition at line 160 of file cldb.C.

References CmiAlloc(), CmiLock(), CmiUnlock(), len, CldProcInfo_s::load, CldToken_s::msg, CldToken_s::pred, CldProcInfo_s::sentinel, CldToken_s::succ, and CldProcInfo_s::tokenhandleridx.

Referenced by CldBalanceHandler(), and CldEnqueue().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldPutTokenPrio ( char *  msg  ) 

static void* _CldGetTokenMsg ( CldProcInfo  proc  )  [inline, static]

Definition at line 231 of file cldb.C.

References CldProcInfo_s::load, CldToken_s::msg, msg, CldToken_s::pred, CldProcInfo_s::sentinel, and CldToken_s::succ.

Referenced by CldGetToken(), and CldGetTokenFromRank().

Here is the caller graph for this function:

void CldGetToken ( char **  msg  ) 

Definition at line 248 of file cldb.C.

References _CldGetTokenMsg(), CmiLock(), and CmiUnlock().

Referenced by CldMoveAllSeedsAway().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CldGetTokenFromRank ( char **  msg,
int  rank 
) [inline, static]

Definition at line 264 of file cldb.C.

References _CldGetTokenMsg(), CmiLock(), and CmiUnlock().

Referenced by CldMultipleSend(), and CldSimpleMultipleSend().

Here is the call graph for this function:

Here is the caller graph for this function:

static void* _CldGetTokenMsgAt ( CldProcInfo  proc,
CldToken  tok 
) [inline, static]

Definition at line 278 of file cldb.C.

References CldProcInfo_s::load, CldToken_s::msg, msg, CldToken_s::pred, CldProcInfo_s::sentinel, and CldToken_s::succ.

Referenced by CldGetTokenFromRankAt().

Here is the caller graph for this function:

static void CldGetTokenFromRankAt ( char **  msg,
int  rank,
CldToken  tok 
) [inline, static]

Definition at line 297 of file cldb.C.

References _CldGetTokenMsgAt(), CmiLock(), and CmiUnlock().

Referenced by CldMultipleSendPrio().

Here is the call graph for this function:

Here is the caller graph for this function:

int CldPresentPE ( int  pe  ) 

Definition at line 309 of file cldb.C.

Referenced by CldEnqueue(), CldMoveAllSeedsAway(), and CldSetPEBitVector().

Here is the caller graph for this function:

void CldMoveAllSeedsAway ( void   ) 

Definition at line 314 of file cldb.C.

References CldGetToken(), CldPresentPE(), CldSwitchHandler(), CmiMyPe(), Converse::CmiSyncSendAndFree(), CrnRand(), len, and msg.

Referenced by CldSetPEBitVector().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldSetPEBitVector ( const char *  newBV  ) 

Definition at line 334 of file cldb.C.

References CldMoveAllSeedsAway(), CldPresentPE(), and CmiMyPe().

Here is the call graph for this function:

void CldModuleGeneralInit ( char **  argv  ) 

Definition at line 348 of file cldb.C.

References _cldb_cs, CldGetStrategy(), CldTokenHandler(), CmiAlloc(), CmiCreateLock(), CmiGetArgFlagDesc(), CmiMyPe(), CmiPrintf(), CmiRegisterHandler(), CldProcInfo_s::load, malloc(), CldToken_s::pred, CldProcInfo_s::sentinel, CldToken_s::succ, and CldProcInfo_s::tokenhandleridx.

Referenced by CldModuleInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldMultipleSend ( int  pe,
int  numToSend,
int  rank,
int  immed 
)

Definition at line 388 of file cldb.C.

References calloc(), CldGetTokenFromRank(), CldSwitchHandler(), CmiFree(), CmiMultipleIsend(), CmiMultipleSend(), Converse::CmiSyncSendAndFree(), CpuTopoDetails::done, free(), and len.

Referenced by CldAskLoadHandler(), and CldBalance().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldMultipleSendPrio ( int  pe,
int  numToSend,
int  rank,
int  immed 
)

Definition at line 450 of file cldb.C.

References calloc(), CldGetTokenFromRankAt(), CldSwitchHandler(), CmiFree(), CmiMultipleIsend(), CmiMultipleSend(), Converse::CmiSyncSendAndFree(), count, free(), len, CldToken_s::pred, CldProcInfo_s::sentinel, and CldToken_s::succ.

Referenced by CldAskLoadHandler().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldSimpleMultipleSend ( int  pe,
int  numToSend,
int  rank 
)

Definition at line 507 of file cldb.C.

References CldGetTokenFromRank(), CldSwitchHandler(), Converse::CmiSyncSendAndFree(), CpuTopoDetails::done, len, and msg.

Referenced by CldAskLoadHandler(), and CldBalance().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

char s_lbtopo_default[] = "torus_nd_5" [static]

Definition at line 23 of file cldb.C.

Definition at line 25 of file cldb.C.

int _cldb_cs = 0 [static]

Definition at line 346 of file cldb.C.

Referenced by CldModuleGeneralInit(), and seedBalancerExit().


Generated on Mon Sep 21 08:02:58 2020 for Charm++ by  doxygen 1.5.5