PPL Logo

conv-ldb/cldb.workstealing.C File Reference

Go to the source code of this file.

Data Structures

struct  CldProcInfo_s

Typedefs

typedef struct CldProcInfo_sCldProcInfo

Functions

void CldMultipleSendPrio (int pe, int numToSend, int rank, int immed)
 CpvStaticDeclare (CldProcInfo, CldData)
 CpvStaticDeclare (int, CldAskLoadHandlerIndex)
 CpvStaticDeclare (int, CldAckNoTaskHandlerIndex)
 CpvStaticDeclare (int, isStealing)
const char * CldGetStrategy (void)
static void StealLoad (void)
void LoadNotifyFn (int l)
static void CldBeginIdle (void *dummy)
static void CldAskLoadHandler (requestmsg *msg)
void CldAckNoTaskHandler (requestmsg *msg)
void CldHandler (void *msg)
void CldBalanceHandler (void *msg)
void CldEnqueueGroup (CmiGroup grp, void *msg, int infofn)
void CldEnqueueMulti (int npes, const int *pes, void *msg, int infofn)
void CldEnqueue (int pe, void *msg, int infofn)
void CldNodeEnqueue (int node, void *msg, int infofn)
void CldGraphModuleInit (char **argv)
void CldModuleInit (char **argv)
void CldCallback (void)

Variables

static int WS_Threshold = -1
static int _steal_prio = 0
static int _stealonly1 = 0
static int _steal_immediate = 0
static int workstealingproactive = 0


Typedef Documentation

typedef struct CldProcInfo_s * CldProcInfo


Function Documentation

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:

CpvStaticDeclare ( CldProcInfo  ,
CldData   
)

CpvStaticDeclare ( int  ,
CldAskLoadHandlerIndex   
)

CpvStaticDeclare ( int  ,
CldAckNoTaskHandlerIndex   
)

CpvStaticDeclare ( int  ,
isStealing   
)

const char* CldGetStrategy ( void   ) 

Definition at line 31 of file cldb.workstealing.C.

Referenced by CldModuleGeneralInit().

Here is the caller graph for this function:

static void StealLoad ( void   )  [static]

Definition at line 37 of file cldb.workstealing.C.

References _steal_immediate, CmiMyPe(), Converse::CmiSyncSend(), CmiWallTimer(), CrnRand(), requestmsg_s::from_pe, msg, requestmsg_s::to_pe, and traceUserBracketEvent().

Referenced by CldBeginIdle(), and LoadNotifyFn().

Here is the call graph for this function:

Here is the caller graph for this function:

void LoadNotifyFn ( int  l  ) 

Definition at line 75 of file cldb.workstealing.C.

References CldCountTokens(), StealLoad(), and WS_Threshold.

Here is the call graph for this function:

static void CldBeginIdle ( void *  dummy  )  [static]

Definition at line 82 of file cldb.workstealing.C.

References CldCountTokens(), and StealLoad().

Here is the call graph for this function:

static void CldAskLoadHandler ( requestmsg msg  )  [static]

void CldAckNoTaskHandler ( requestmsg msg  ) 

Definition at line 140 of file cldb.workstealing.C.

References _steal_immediate, CmiMyPe(), Converse::CmiSyncSendAndFree(), CmiWallTimer(), CrnRand(), requestmsg_s::from_pe, requestmsg_s::to_pe, and traceUserBracketEvent().

Referenced by CldGraphModuleInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldHandler ( void *  msg  ) 

Definition at line 175 of file cldb.workstealing.C.

References CldRestoreHandler(), and len.

Here is the call graph for this function:

void CldBalanceHandler ( void *  msg  ) 

Definition at line 193 of file cldb.workstealing.C.

References CldRestoreHandler().

Here is the call graph for this function:

void CldEnqueueGroup ( CmiGroup  grp,
void *  msg,
int  infofn 
)

Definition at line 200 of file cldb.workstealing.C.

References CldSwitchHandler(), Converse::CmiSyncMulticastAndFree(), and len.

Referenced by _CldEnqueueGroup().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldEnqueueMulti ( int  npes,
const int pes,
void *  msg,
int  infofn 
)

Definition at line 216 of file cldb.workstealing.C.

References CldSwitchHandler(), Converse::CmiSyncListSendAndFree(), and len.

Referenced by _CldEnqueueMulti().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldEnqueue ( int  pe,
void *  msg,
int  infofn 
)

Definition at line 231 of file cldb.workstealing.C.

References CldSwitchHandler(), CmiMyPe(), CmiNodeOf(), Converse::CmiSyncBroadcastAllAndFree(), Converse::CmiSyncBroadcastAndFree(), Converse::CmiSyncSendAndFree(), and len.

Referenced by _CldEnqueue().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldNodeEnqueue ( int  node,
void *  msg,
int  infofn 
)

Definition at line 270 of file cldb.workstealing.C.

References CldSwitchHandler(), CmiMyPe(), CmiNodeOf(), and len.

Referenced by _CldNodeEnqueue(), and CldEnqueue().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldGraphModuleInit ( char **  argv  ) 

void CldCallback ( void   ) 

Definition at line 368 of file cldb.workstealing.C.


Variable Documentation

int WS_Threshold = -1 [static]

Definition at line 19 of file cldb.workstealing.C.

Referenced by CldGraphModuleInit(), and LoadNotifyFn().

int _steal_prio = 0 [static]

Definition at line 20 of file cldb.workstealing.C.

Referenced by CldAskLoadHandler(), and CldGraphModuleInit().

int _stealonly1 = 0 [static]

Definition at line 21 of file cldb.workstealing.C.

Referenced by CldAskLoadHandler(), and CldGraphModuleInit().

int _steal_immediate = 0 [static]

Definition at line 22 of file cldb.workstealing.C.

Referenced by CldAckNoTaskHandler(), CldGraphModuleInit(), and StealLoad().

int workstealingproactive = 0 [static]

Definition at line 23 of file cldb.workstealing.C.


Generated on Mon Sep 21 08:03:14 2020 for Charm++ by  doxygen 1.5.5