
#include <cklocation.h>


Public Member Functions | |
| CkLocRec_local (CkLocMgr *mgr, CmiBool fromMigration, CmiBool ignoreArrival, const CkArrayIndex &idx_, int localIdx_) | |
| Stores messages for nonexistent siblings of existing elements. | |
| void | migrateMe (int toPe) |
| void | destroy (void) |
| virtual | ~CkLocRec_local () |
| void | addedElement (void) |
| A new element has been added to this index. | |
| virtual CmiBool | deliver (CkArrayMessage *m, CkDeliver_t type, int opts=0) |
| Accept a message for this element. | |
| CmiBool | invokeEntry (CkMigratable *obj, void *msg, int idx, CmiBool doFree) |
| Invoke the given entry method on this element. | |
| virtual RecType | type (void) |
| virtual CmiBool | isObsolete (int nSprings, const CkArrayIndex &idx) |
| Return if this rec is now obsolete. | |
| void | startTiming (int ignore_running=0) |
| Control the load balancer:. | |
| void | stopTiming (int ignore_running=0) |
| void | setObjTime (double cputime) |
| double | getObjTime () |
| void | startTiming (int ignore_running=0) |
| void | stopTiming (int ignore_running=0) |
| int | getLocalIndex (void) const |
| const CkArrayIndex & | getIndex (void) const |
| virtual CkMigratable * | lookupElement (CkArrayID aid) |
| Return the represented array element; or NULL if there is none. | |
| virtual int | lookupProcessor (void) |
| Return the last known processor; or -1 if none. | |
| LBDatabase * | getLBDB (void) const |
| LDObjHandle | getLdHandle () const |
| void | recvMigrate (int dest) |
| void | setMigratable (int migratable) |
| void | AsyncMigrate (CmiBool use) |
| set migratable | |
| CmiBool | isAsyncMigrate () |
| void | ReadyMigrate (CmiBool ready) |
| int | isReadyMigrate () |
| called from user | |
| CmiBool | checkBufferedMigration () |
| int | MigrateToPe () |
| void | Migrated () |
| void | setMeasure (CmiBool status) |
| CmiBool | isAsyncEvacuate () |
| void | AsyncEvacuate (CmiBool set) |
| CmiBool | isBounced () |
| void | Bounced (CmiBool set) |
Static Public Member Functions | |
| static void | staticMigrate (LDObjHandle h, int dest) |
Private Member Functions | |
| void | AsyncMigrate (CmiBool use) |
| next migration dest processor | |
Private Attributes | |
| CkArrayIndex | idx |
| int | localIdx |
| Element's array index. | |
| CmiBool | running |
| Local index (into array manager's element lists). | |
| CmiBool * | deletedMarker |
| True when inside a startTiming/stopTiming pair. | |
| CkQ< CkArrayMessage * > | halfCreated |
| Set this if we're deleted during processing. | |
| LBDatabase * | the_lbdb |
| LDObjHandle | ldHandle |
| CmiBool | asyncMigrate |
| CmiBool | readyMigrate |
| if readyMove is inited | |
| CmiBool | enable_measure |
| status whether it is ready to migrate | |
| int | nextPe |
| CmiBool | asyncEvacuate |
| FAULT_EVAC. | |
| CmiBool | bounced |
Definition at line 165 of file cklocation.h.
| CkLocRec_local::CkLocRec_local | ( | CkLocMgr * | mgr, | |
| CmiBool | fromMigration, | |||
| CmiBool | ignoreArrival, | |||
| const CkArrayIndex & | idx_, | |||
| int | localIdx_ | |||
| ) |
Stores messages for nonexistent siblings of existing elements.
Definition at line 1262 of file cklocation.C.
References asyncEvacuate, asyncMigrate, bounced, CmiFalse, CmiTrue, enable_measure, CkLocMgr::getLBDB(), CkLocMgr::getOMHandle(), idx, idx2LDObjid(), idx2str(), ldHandle, LBDatabase::Migrated(), nextPe, readyMigrate, LBDatabase::RegisterObj(), and the_lbdb.
| CkLocRec_local::~CkLocRec_local | ( | ) | [virtual] |
Definition at line 1293 of file cklocation.C.
References CmiTrue, deletedMarker, idx, idx2str(), ldHandle, localIdx, CkLocRec::myLocMgr, CkLocMgr::reclaim(), stopTiming(), the_lbdb, and LBDatabase::UnregisterObj().
| void CkLocRec_local::migrateMe | ( | int | toPe | ) |
Definition at line 1303 of file cklocation.C.
References CkLocMgr::emigrate(), and CkLocRec::myLocMgr.
Referenced by checkBufferedMigration(), CkMigratable::ckMigrate(), and recvMigrate().
| void CkLocRec_local::destroy | ( | void | ) |
| void CkLocRec_local::addedElement | ( | void | ) |
A new element has been added to this index.
Definition at line 1351 of file cklocation.C.
References CkArrayManagerDeliver(), Converse::CkMyPe(), CkQ< T >::deq(), halfCreated, and CkQ< T >::isEmpty().
Referenced by CkLocMgr::addElement().
| CmiBool CkLocRec_local::deliver | ( | CkArrayMessage * | m, | |
| CkDeliver_t | type, | |||
| int | opts = 0 | |||
| ) | [virtual] |
Accept a message for this element.
Returns false if the element died during the receive.
Implements CkLocRec.
Definition at line 1470 of file cklocation.C.
References CkArrayMessage::array_ep(), CkArrayMessage::array_hops(), CkArrayMessage::array_ifNotThere(), CkArray_IfNotThere_buffer, CkArrayManagerDeliver(), CkCopyMsg(), CkDeliver_queue, Converse::CkMyPe(), CmiTrue, CkLocMgr::demandCreateElement(), CkQ< T >::enq(), halfCreated, idx, idx2str(), invokeEntry(), localIdx, CkLocMgr::lookupLocal(), CkLocMgr::multiHop(), CkLocRec::myLocMgr, LBDatabase::ObjectStart(), LBDatabase::ObjectStop(), LBDatabase::RunningObject(), status(), the_lbdb, and UsrToEnv().
| CmiBool CkLocRec_local::invokeEntry | ( | CkMigratable * | obj, | |
| void * | msg, | |||
| int | idx, | |||
| CmiBool | doFree | |||
| ) |
Invoke the given entry method on this element.
Returns false if the element died during the receive. If doFree is true, the message is freed after send; if false, the message can be reused.
Definition at line 1429 of file cklocation.C.
References _entryTable, checkBufferedMigration(), CkDeliverMessageFree(), CkDeliverMessageReadonly(), CmiFalse, CmiTrue, deletedMarker, ForChareMsg, envelope::getEvent(), CkArrayIndex::getProjectionID(), envelope::getsetArrayMgr(), envelope::getsetArraySrcPe(), envelope::getTotalsize(), idx, idx2str(), startTiming(), stopTiming(), and UsrToEnv().
Referenced by CkLocMgr::addElementToRec(), CkArrayPrefetch_readFromSwap(), CkMigratable::ckInvokeEntry(), deliver(), and CkLocMgr::pupElementsFor().
| CkLocRec::RecType CkLocRec_local::type | ( | void | ) | [virtual] |
| CmiBool CkLocRec_local::isObsolete | ( | int | nSprings, | |
| const CkArrayIndex & | idx | |||
| ) | [virtual] |
Return if this rec is now obsolete.
Implements CkLocRec.
Definition at line 1359 of file cklocation.C.
References CmiFalse, halfCreated, idx, idx2str(), and CkQ< T >::length().
| void CkLocRec_local::startTiming | ( | int | ignore_running = 0 |
) |
Control the load balancer:.
Definition at line 1311 of file cklocation.C.
References CmiTrue, enable_measure, idx, idx2str(), ldHandle, LBDatabase::ObjectStart(), running, and the_lbdb.
Referenced by CkMigratable::ckStartTiming(), invokeEntry(), and CkMigratable::timingBeforeCall().
| void CkLocRec_local::stopTiming | ( | int | ignore_running = 0 |
) |
Definition at line 1316 of file cklocation.C.
References CmiFalse, enable_measure, idx, idx2str(), ldHandle, LBDatabase::ObjectStop(), running, and the_lbdb.
Referenced by CkMigratable::ckStopTiming(), invokeEntry(), CkMigratable::timingAfterCall(), and ~CkLocRec_local().
| void CkLocRec_local::setObjTime | ( | double | cputime | ) |
Definition at line 1321 of file cklocation.C.
References LBDatabase::EstObjLoad(), ldHandle, and the_lbdb.
Referenced by CkMigratable::setObjTime().
| double CkLocRec_local::getObjTime | ( | ) |
Definition at line 1324 of file cklocation.C.
References LBDatabase::GetObjLoad(), ldHandle, and the_lbdb.
Referenced by CkMigratable::getObjTime().
| void CkLocRec_local::startTiming | ( | int | ignore_running = 0 |
) | [inline] |
Definition at line 205 of file cklocation.h.
| void CkLocRec_local::stopTiming | ( | int | ignore_running = 0 |
) | [inline] |
Definition at line 206 of file cklocation.h.
| int CkLocRec_local::getLocalIndex | ( | void | ) | const [inline] |
Definition at line 208 of file cklocation.h.
References localIdx.
Referenced by _verifyAckRequestHandler(), CkLocMgr::addElementToRec(), CkLocMgr::callMethod(), CkLocMgr::emigrate(), CkLocMgr::migratableList(), and CkLocMgr::pupElementsFor().
| const CkArrayIndex& CkLocRec_local::getIndex | ( | void | ) | const [inline] |
Definition at line 209 of file cklocation.h.
References idx.
Referenced by CkLocMgr::addElementToRec(), CkEmmigrateElement(), CkMigratable::ckGetArrayIndex(), CkMigratable::commonInit(), CkLocMgr::emigrate(), CkLocation::getIndex(), and CkLocMgr::pupElementsFor().
| CkMigratable * CkLocRec_local::lookupElement | ( | CkArrayID | aid | ) | [virtual] |
Return the represented array element; or NULL if there is none.
Reimplemented from CkLocRec.
Definition at line 1337 of file cklocation.C.
References localIdx, CkLocMgr::lookupLocal(), and CkLocRec::myLocMgr.
| int CkLocRec_local::lookupProcessor | ( | void | ) | [virtual] |
Return the last known processor; or -1 if none.
Reimplemented from CkLocRec.
Definition at line 1342 of file cklocation.C.
References Converse::CkMyPe().
| LBDatabase* CkLocRec_local::getLBDB | ( | void | ) | const [inline] |
Definition at line 215 of file cklocation.h.
References the_lbdb.
Referenced by _verifyAckRequestHandler(), CkMigratable::AtSync(), CkMigratable::ckFinishConstruction(), CkMigratable::getLBDB(), and CkMigratable::~CkMigratable().
| LDObjHandle CkLocRec_local::getLdHandle | ( | ) | const [inline] |
Definition at line 216 of file cklocation.h.
References ldHandle.
Referenced by _verifyAckRequestHandler().
| void CkLocRec_local::staticMigrate | ( | LDObjHandle | h, | |
| int | dest | |||
| ) | [static] |
Definition at line 1528 of file cklocation.C.
References idx, idx2str(), LDObjUserData(), and recvMigrate().
| void CkLocRec_local::recvMigrate | ( | int | dest | ) |
Definition at line 1535 of file cklocation.C.
References migrateMe(), nextPe, and readyMigrate.
Referenced by staticMigrate().
| void CkLocRec_local::setMigratable | ( | int | migratable | ) |
Definition at line 1571 of file cklocation.C.
References ldHandle, LBDatabase::Migratable(), LBDatabase::NonMigratable(), and the_lbdb.
Referenced by CkMigratable::setMigratable().
| void CkLocRec_local::AsyncMigrate | ( | CmiBool | use | ) |
set migratable
Definition at line 1543 of file cklocation.C.
References asyncMigrate, ldHandle, the_lbdb, and LBDatabase::UseAsyncMigrate().
Referenced by CkElementEvacuate::addLocation(), CkMigratable::AtSync(), CkEmmigrateElement(), and CkLocMgr::immigrate().
| CmiBool CkLocRec_local::isAsyncMigrate | ( | ) | [inline] |
Definition at line 221 of file cklocation.h.
References asyncMigrate.
Referenced by CkLocMgr::emigrate().
| void CkLocRec_local::ReadyMigrate | ( | CmiBool | ready | ) | [inline] |
Definition at line 222 of file cklocation.h.
References readyMigrate.
Referenced by CkMigratable::pup(), and CkMigratable::ReadyMigrate().
| int CkLocRec_local::isReadyMigrate | ( | ) | [inline] |
called from user
Definition at line 223 of file cklocation.h.
References readyMigrate.
Referenced by CkMigratable::pup().
| CmiBool CkLocRec_local::checkBufferedMigration | ( | ) |
Definition at line 1549 of file cklocation.C.
References CmiFalse, CmiTrue, migrateMe(), nextPe, and readyMigrate.
Referenced by invokeEntry().
| int CkLocRec_local::MigrateToPe | ( | ) |
Definition at line 1564 of file cklocation.C.
References nextPe.
Referenced by CkMigratable::MigrateToPe().
| void CkLocRec_local::Migrated | ( | ) |
Definition at line 1579 of file cklocation.C.
References CmiTrue, ldHandle, LBDatabase::Migrated(), and the_lbdb.
| void CkLocRec_local::setMeasure | ( | CmiBool | status | ) | [inline] |
Definition at line 229 of file cklocation.h.
References enable_measure.
Referenced by CkMigratable::ckFinishConstruction().
| void CkLocRec_local::AsyncMigrate | ( | CmiBool | use | ) | [inline, private] |
| CmiBool CkLocRec_local::isAsyncEvacuate | ( | ) | [inline] |
Definition at line 248 of file cklocation.h.
References asyncEvacuate.
Referenced by CkElementEvacuate::addLocation().
| void CkLocRec_local::AsyncEvacuate | ( | CmiBool | set | ) | [inline] |
Definition at line 249 of file cklocation.h.
References asyncEvacuate.
Referenced by CkMigratable::AsyncEvacuate(), and CkMigratable::pup().
| CmiBool CkLocRec_local::isBounced | ( | ) | [inline] |
Definition at line 250 of file cklocation.h.
References bounced.
Referenced by CkLocMgr::emigrate().
| void CkLocRec_local::Bounced | ( | CmiBool | set | ) | [inline] |
Definition at line 251 of file cklocation.h.
References bounced.
Referenced by CkLocMgr::immigrate().
CkArrayIndex CkLocRec_local::idx [private] |
Definition at line 166 of file cklocation.h.
Referenced by CkLocRec_local(), CkLocRec_remote::deliver(), deliver(), getIndex(), invokeEntry(), isObsolete(), startTiming(), staticMigrate(), stopTiming(), and ~CkLocRec_local().
int CkLocRec_local::localIdx [private] |
Element's array index.
Definition at line 167 of file cklocation.h.
Referenced by deliver(), getLocalIndex(), lookupElement(), and ~CkLocRec_local().
CmiBool CkLocRec_local::running [private] |
Local index (into array manager's element lists).
Definition at line 168 of file cklocation.h.
Referenced by startTiming(), and stopTiming().
CmiBool* CkLocRec_local::deletedMarker [private] |
True when inside a startTiming/stopTiming pair.
Definition at line 169 of file cklocation.h.
Referenced by invokeEntry(), and ~CkLocRec_local().
CkQ<CkArrayMessage *> CkLocRec_local::halfCreated [private] |
Set this if we're deleted during processing.
Definition at line 170 of file cklocation.h.
Referenced by addedElement(), deliver(), and isObsolete().
LBDatabase* CkLocRec_local::the_lbdb [private] |
Definition at line 231 of file cklocation.h.
Referenced by AsyncMigrate(), CkLocRec_local(), deliver(), getLBDB(), getObjTime(), Migrated(), setMigratable(), setObjTime(), startTiming(), stopTiming(), and ~CkLocRec_local().
LDObjHandle CkLocRec_local::ldHandle [private] |
Definition at line 232 of file cklocation.h.
Referenced by AsyncMigrate(), CkLocRec_local(), getLdHandle(), getObjTime(), Migrated(), setMigratable(), setObjTime(), startTiming(), stopTiming(), and ~CkLocRec_local().
CmiBool CkLocRec_local::asyncMigrate [private] |
Definition at line 233 of file cklocation.h.
Referenced by AsyncMigrate(), CkLocRec_local(), and isAsyncMigrate().
CmiBool CkLocRec_local::readyMigrate [private] |
if readyMove is inited
Definition at line 234 of file cklocation.h.
Referenced by checkBufferedMigration(), CkLocRec_local(), isReadyMigrate(), ReadyMigrate(), and recvMigrate().
CmiBool CkLocRec_local::enable_measure [private] |
status whether it is ready to migrate
Definition at line 235 of file cklocation.h.
Referenced by CkLocRec_local(), setMeasure(), startTiming(), and stopTiming().
int CkLocRec_local::nextPe [private] |
Definition at line 236 of file cklocation.h.
Referenced by checkBufferedMigration(), CkLocRec_local(), MigrateToPe(), and recvMigrate().
CmiBool CkLocRec_local::asyncEvacuate [private] |
FAULT_EVAC.
Definition at line 238 of file cklocation.h.
Referenced by AsyncEvacuate(), CkLocRec_local(), and isAsyncEvacuate().
CmiBool CkLocRec_local::bounced [private] |
Definition at line 243 of file cklocation.h.
Referenced by Bounced(), CkLocRec_local(), and isBounced().
1.5.5