#include <msa-DistPageMgr.h>
Public Member Functions | |
MSA_CacheGroup (unsigned int nPages_, CkArrayID pageArrayID, unsigned int max_bytes_, unsigned int nEntries_, unsigned int numberOfWorkerThreads_) | |
~MSA_CacheGroup () | |
void | changeEntryOpsObject (ENTRY_OPS_CLASS *e) |
const ENTRY_TYPE * | readablePage (unsigned int page) |
const void * | readablePage2 (unsigned int page) |
ENTRY_TYPE * | writeablePage (unsigned int page, unsigned int offset) |
ENTRY_TYPE & | accumulate (unsigned int page, unsigned int offset) |
void | ReceivePageWithPUP (unsigned int page, page_t &pageData, int size) |
A requested page has arrived from the network. | |
void | ReceivePage (unsigned int page, ENTRY_TYPE *pageData, int size) |
void | AckPage (unsigned int page) |
void | SyncReq (int single, bool clear_) |
void | FlushCache () |
void | EmptyCache () |
void | enroll (unsigned int num_workers) |
Enroll phase 1: called by users. | |
void | enroll () |
void | enrollAck (int originator) |
Enroll phase 2: called on PE 0 from everywhere. | |
void | enrollDone () |
Enroll phase 3: called everywhere by PE 0. | |
void | SingleSync () |
void | SyncRelease () |
void | syncDebug () |
void | activate () |
void | FinishSync () |
void | Sync (bool clear_) |
unsigned int | getNumEntries () |
CProxy_PageArray_t | getArray () |
void | SyncAck (bool clear_) |
void | SyncDone (CkReductionMsg *m) |
void | FreeMem () |
void | unroll () |
Deregister a client. | |
void | Prefetch (unsigned int pageStart, unsigned int pageEnd) |
Issue a prefetch request for the given range of pages. | |
int | WaitAll (void) |
Wait for all the prefetch pages to be fetched into the cache. | |
void | UnlockPage (unsigned int page) |
void | UnlockPages () |
Unlock all the pages locked in the cache. | |
void | UnlockPages (unsigned int startPage, unsigned int endPage) |
Unlock the given pages: [startPage . | |
void | emitBufferValue (int ID, unsigned int pageNum, unsigned int offset) |
Debugging routine. | |
Protected Types | |
typedef MSA_Page_StateT < ENTRY_TYPE, ENTRIES_PER_PAGE > | pageState_t |
typedef vmNRUReplacementPolicy < ENTRY_TYPE, ENTRIES_PER_PAGE > | vmPageReplacementPolicy |
typedef std::list< writebounds_t > | writelist_t |
typedef CProxy_MSA_PageArray < ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE > | CProxy_PageArray_t |
typedef CProxy_MSA_CacheGroup < ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE > | CProxy_CacheGroup_t |
Protected Member Functions | |
pageState_t * | stateN (unsigned int pageNo) |
Return the state for this page, returning NULL if no state available. | |
pageState_t * | state (unsigned int pageNo) |
Return the state for this page, allocating if needed. | |
MSA_Thread_Listener * | getListener (void) |
Look up or create the listener for the current thread. | |
void | addAndSuspend (MSA_Listeners &dest) |
Add our thread to this list and suspend. | |
void | IncrementPagesWaiting (unsigned int page) |
these routines deal with managing the page queue | |
void | IncrementChangesWaiting (unsigned int page) |
ENTRY_TYPE * | tryBuffer (int async=0) |
Allocate a new page, removing old pages if we're over the limit. | |
ENTRY_TYPE * | makePage (unsigned int page) |
Allocate storage for this page, if none has been allocated already. | |
ENTRY_TYPE * | destroyPage (unsigned int page) |
Throw away this allocated page. | |
void | pageFault (unsigned int page, MSA_Page_Fault_t why) |
void | accessPage (unsigned int page, MSA_Page_Fault_t access) |
Make sure this page is accessible, faulting the page in if needed. | |
void | writeIdentity (ENTRY_TYPE *pagePtr) |
bool | shouldWriteback (unsigned int page) |
void | relocatePage (unsigned int page, int async) |
void | sendChangesToPageArray (const unsigned int page, const int async) |
void | sendNonRLEChangesToPageArray (const unsigned int page) |
void | sendRLEChangesToPageArray (const unsigned int page) |
Protected Attributes | |
ENTRY_OPS_CLASS * | entryOpsObject |
unsigned int | numberOfWorkerThreads |
unsigned int | numberLocalWorkerThreads |
unsigned int | numberLocalWorkerThreadsActive |
unsigned int | enrollDoneq |
MSA_Listeners | enrollWaiters |
MSA_Listeners | syncWaiters |
std::set< int > | enrolledPEs |
unsigned int | nPages |
number of pages | |
std::vector< ENTRY_TYPE * > | pageTable |
the page table for this PE: stores actual data. | |
std::vector< pageState_t * > | pageStateStorage |
Housekeeping information for each allocated page. | |
std::stack< ENTRY_TYPE * > | pagePool |
MSA_PageReplacementPolicy < ENTRY_TYPE, ENTRIES_PER_PAGE > * | replacementPolicy |
writelist_t ** | writes |
unsigned int | resident_pages |
unsigned int | max_resident_pages |
unsigned int | nEntries |
unsigned int | syncAckCount |
int | outOfBufferInPrefetch |
int | syncThreadCount |
MSA_WriteSpan_t | writeSpans [ENTRIES_PER_PAGE] |
ENTRY_TYPE | writeEntries [ENTRIES_PER_PAGE] |
CProxy_PageArray_t | pageArray |
std::map< CthThread, MSA_Thread_Listener * > | threadList |
bool | clear |
Private Types | |
typedef MSA_PageT< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE > | page_t |
Data Structures | |
struct | writebounds_t |
Definition at line 461 of file msa-DistPageMgr.h.
typedef MSA_PageT<ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::page_t [private] |
Definition at line 463 of file msa-DistPageMgr.h.
typedef MSA_Page_StateT<ENTRY_TYPE,ENTRIES_PER_PAGE> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pageState_t [protected] |
Definition at line 478 of file msa-DistPageMgr.h.
typedef vmNRUReplacementPolicy<ENTRY_TYPE, ENTRIES_PER_PAGE> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::vmPageReplacementPolicy [protected] |
Definition at line 483 of file msa-DistPageMgr.h.
typedef std::list<writebounds_t> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writelist_t [protected] |
Definition at line 490 of file msa-DistPageMgr.h.
typedef CProxy_MSA_PageArray<ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::CProxy_PageArray_t [protected] |
Definition at line 507 of file msa-DistPageMgr.h.
typedef CProxy_MSA_CacheGroup<ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::CProxy_CacheGroup_t [protected] |
Definition at line 509 of file msa-DistPageMgr.h.
MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::MSA_CacheGroup | ( | unsigned int | nPages_, | |
CkArrayID | pageArrayID, | |||
unsigned int | max_bytes_, | |||
unsigned int | nEntries_, | |||
unsigned int | numberOfWorkerThreads_ | |||
) | [inline] |
Definition at line 765 of file msa-DistPageMgr.h.
MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::~MSA_CacheGroup | ( | ) | [inline] |
Definition at line 786 of file msa-DistPageMgr.h.
pageState_t* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::stateN | ( | unsigned int | pageNo | ) | [inline, protected] |
Return the state for this page, returning NULL if no state available.
Definition at line 516 of file msa-DistPageMgr.h.
pageState_t* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::state | ( | unsigned int | pageNo | ) | [inline, protected] |
Return the state for this page, allocating if needed.
Definition at line 521 of file msa-DistPageMgr.h.
MSA_Thread_Listener* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getListener | ( | void | ) | [inline, protected] |
Look up or create the listener for the current thread.
Definition at line 533 of file msa-DistPageMgr.h.
References CthSelf(), PUP::l, and PUP::t.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::addAndSuspend | ( | MSA_Listeners & | dest | ) | [inline, protected] |
Add our thread to this list and suspend.
Definition at line 543 of file msa-DistPageMgr.h.
References MSA_Listeners::add(), PUP::l, and MSA_Thread_Listener::suspend().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::IncrementPagesWaiting | ( | unsigned int | page | ) | [inline, protected] |
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::IncrementChangesWaiting | ( | unsigned int | page | ) | [inline, protected] |
Definition at line 559 of file msa-DistPageMgr.h.
ENTRY_TYPE* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::tryBuffer | ( | int | async = 0 |
) | [inline, protected] |
Allocate a new page, removing old pages if we're over the limit.
Returns NULL if no buffer space is available
Definition at line 568 of file msa-DistPageMgr.h.
References MSA_INVALID_PAGE_NO.
ENTRY_TYPE* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::makePage | ( | unsigned int | page | ) | [inline, protected] |
Allocate storage for this page, if none has been allocated already.
Update pageTable, and return the storage for the page.
Definition at line 611 of file msa-DistPageMgr.h.
ENTRY_TYPE* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::destroyPage | ( | unsigned int | page | ) | [inline, protected] |
Throw away this allocated page.
Returns the page itself, for deletion or recycling.
Definition at line 624 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pageFault | ( | unsigned int | page, | |
MSA_Page_Fault_t | why | |||
) | [inline, protected] |
Definition at line 637 of file msa-DistPageMgr.h.
References Converse::CkMyPe(), PUP::l, Read_Fault, and MSA_Thread_Listener::suspend().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accessPage | ( | unsigned int | page, | |
MSA_Page_Fault_t | access | |||
) | [inline, protected] |
Make sure this page is accessible, faulting the page in if needed.
Definition at line 663 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeIdentity | ( | ENTRY_TYPE * | pagePtr | ) | [inline, protected] |
Definition at line 681 of file msa-DistPageMgr.h.
bool MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::shouldWriteback | ( | unsigned int | page | ) | [inline, protected] |
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::relocatePage | ( | unsigned int | page, | |
int | async | |||
) | [inline, protected] |
Definition at line 693 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::sendChangesToPageArray | ( | const unsigned int | page, | |
const int | async | |||
) | [inline, protected] |
Definition at line 704 of file msa-DistPageMgr.h.
References PUP::l, and MSA_Thread_Listener::suspend().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::sendNonRLEChangesToPageArray | ( | const unsigned int | page | ) | [inline, protected] |
Definition at line 717 of file msa-DistPageMgr.h.
References Converse::CkMyPe().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::sendRLEChangesToPageArray | ( | const unsigned int | page | ) | [inline, protected] |
Definition at line 724 of file msa-DistPageMgr.h.
References Converse::CkMyPe(), and PUP::s.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::changeEntryOpsObject | ( | ENTRY_OPS_CLASS * | e | ) | [inline] |
Definition at line 792 of file msa-DistPageMgr.h.
const ENTRY_TYPE* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage | ( | unsigned int | page | ) | [inline] |
Definition at line 798 of file msa-DistPageMgr.h.
References Read_Fault.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::readablePage().
const void* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage2 | ( | unsigned int | page | ) | [inline] |
Definition at line 808 of file msa-DistPageMgr.h.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage2(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::readablePage2().
ENTRY_TYPE* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeablePage | ( | unsigned int | page, | |
unsigned int | offset | |||
) | [inline] |
Definition at line 815 of file msa-DistPageMgr.h.
References Write_Fault.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeablePage(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::writeablePage().
ENTRY_TYPE& MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate | ( | unsigned int | page, | |
unsigned int | offset | |||
) | [inline] |
Definition at line 832 of file msa-DistPageMgr.h.
References Accumulate_Fault.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::accumulate().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::ReceivePageWithPUP | ( | unsigned int | page, | |
page_t & | pageData, | |||
int | size | |||
) | [inline] |
A requested page has arrived from the network.
nEntriesInPage_ = num entries being sent (0 for empty page, num entries otherwise)
Definition at line 841 of file msa-DistPageMgr.h.
References MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::getData().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::ReceivePage | ( | unsigned int | page, | |
ENTRY_TYPE * | pageData, | |||
int | size | |||
) | [inline] |
Definition at line 846 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::AckPage | ( | unsigned int | page | ) | [inline] |
Definition at line 874 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::SyncReq | ( | int | single, | |
bool | clear_ | |||
) | [inline] |
Definition at line 881 of file msa-DistPageMgr.h.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::sync(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::sync().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::FlushCache | ( | ) | [inline] |
Definition at line 901 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::EmptyCache | ( | ) | [inline] |
Definition at line 915 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enroll | ( | unsigned int | num_workers | ) | [inline] |
Enroll phase 1: called by users.
Definition at line 928 of file msa-DistPageMgr.h.
References Converse::CkMyPe().
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enroll(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::enroll().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enroll | ( | ) | [inline] |
Definition at line 949 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enrollAck | ( | int | originator | ) | [inline] |
Enroll phase 2: called on PE 0 from everywhere.
Definition at line 955 of file msa-DistPageMgr.h.
References Converse::CkMyPe().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enrollDone | ( | ) | [inline] |
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::SingleSync | ( | ) | [inline] |
Definition at line 985 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::SyncRelease | ( | ) | [inline] |
Definition at line 992 of file msa-DistPageMgr.h.
References Converse::CkMyPe().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::syncDebug | ( | ) | [inline] |
Definition at line 1006 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::activate | ( | ) | [inline] |
Definition at line 1012 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::FinishSync | ( | ) | [inline] |
Definition at line 1019 of file msa-DistPageMgr.h.
References Converse::CkMyPe().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Sync | ( | bool | clear_ | ) | [inline] |
Definition at line 1062 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getNumEntries | ( | ) | [inline] |
Definition at line 1089 of file msa-DistPageMgr.h.
Referenced by MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::MSA1D().
CProxy_PageArray_t MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getArray | ( | ) | [inline] |
Definition at line 1090 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::SyncAck | ( | bool | clear_ | ) | [inline] |
Definition at line 1094 of file msa-DistPageMgr.h.
References Converse::CkMyPe().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::SyncDone | ( | CkReductionMsg * | m | ) | [inline] |
Definition at line 1109 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::FreeMem | ( | ) | [inline] |
Definition at line 1122 of file msa-DistPageMgr.h.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::FreeMem(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::FreeMem().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::unroll | ( | ) | [inline] |
Deregister a client.
Decrement the number of local threads. If total number of local threads hits 0 FreeMem()
Definition at line 1142 of file msa-DistPageMgr.h.
Referenced by MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::~MSA1D().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Prefetch | ( | unsigned int | pageStart, | |
unsigned int | pageEnd | |||
) | [inline] |
Issue a prefetch request for the given range of pages.
These pages will be locked into the cache, so that they will not be swapped out.
Definition at line 1153 of file msa-DistPageMgr.h.
References Converse::CkMyPe(), p, and Read_Fault.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Prefetch(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::Prefetch().
int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::WaitAll | ( | void | ) | [inline] |
Wait for all the prefetch pages to be fetched into the cache.
Returns: 0 if prefetch successful, 1 if not
Definition at line 1194 of file msa-DistPageMgr.h.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::WaitAll(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::WaitAll().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::UnlockPage | ( | unsigned int | page | ) | [inline] |
Definition at line 1214 of file msa-DistPageMgr.h.
References MSA_Page_StateT< ENTRY, ENTRIES_PER_PAGE >::locked, and PUP::s.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::UnlockPages | ( | ) | [inline] |
Unlock all the pages locked in the cache.
Definition at line 1225 of file msa-DistPageMgr.h.
Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Unlock(), and MSA::MSA1D< ElemList< T >, DefaultListEntry< ElemList< T >, true >, MSA_DEFAULT_ENTRIES_PER_PAGE >::Unlock().
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::UnlockPages | ( | unsigned int | startPage, | |
unsigned int | endPage | |||
) | [inline] |
Unlock the given pages: [startPage .
.. endPage] Note that the range is inclusive.
Definition at line 1236 of file msa-DistPageMgr.h.
void MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::emitBufferValue | ( | int | ID, | |
unsigned int | pageNum, | |||
unsigned int | offset | |||
) | [inline] |
ENTRY_OPS_CLASS* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::entryOpsObject [protected] |
Definition at line 466 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::numberOfWorkerThreads [protected] |
Definition at line 467 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::numberLocalWorkerThreads [protected] |
Definition at line 469 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::numberLocalWorkerThreadsActive [protected] |
Definition at line 470 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enrollDoneq [protected] |
Definition at line 471 of file msa-DistPageMgr.h.
MSA_Listeners MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enrollWaiters [protected] |
Definition at line 472 of file msa-DistPageMgr.h.
MSA_Listeners MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::syncWaiters [protected] |
Definition at line 473 of file msa-DistPageMgr.h.
std::set<int> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enrolledPEs [protected] |
Definition at line 474 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::nPages [protected] |
std::vector<ENTRY_TYPE*> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pageTable [protected] |
std::vector<pageState_t *> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pageStateStorage [protected] |
std::stack<ENTRY_TYPE*> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pagePool [protected] |
Definition at line 481 of file msa-DistPageMgr.h.
MSA_PageReplacementPolicy<ENTRY_TYPE, ENTRIES_PER_PAGE>* MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::replacementPolicy [protected] |
Definition at line 484 of file msa-DistPageMgr.h.
writelist_t** MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writes [protected] |
Definition at line 492 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::resident_pages [protected] |
Definition at line 494 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::max_resident_pages [protected] |
Definition at line 495 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::nEntries [protected] |
Definition at line 496 of file msa-DistPageMgr.h.
unsigned int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::syncAckCount [protected] |
Definition at line 497 of file msa-DistPageMgr.h.
int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::outOfBufferInPrefetch [protected] |
Definition at line 498 of file msa-DistPageMgr.h.
int MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::syncThreadCount [protected] |
Definition at line 500 of file msa-DistPageMgr.h.
MSA_WriteSpan_t MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeSpans[ENTRIES_PER_PAGE] [protected] |
Definition at line 504 of file msa-DistPageMgr.h.
ENTRY_TYPE MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeEntries[ENTRIES_PER_PAGE] [protected] |
Definition at line 505 of file msa-DistPageMgr.h.
CProxy_PageArray_t MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pageArray [protected] |
Definition at line 508 of file msa-DistPageMgr.h.
std::map<CthThread, MSA_Thread_Listener *> MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::threadList [protected] |
Definition at line 511 of file msa-DistPageMgr.h.
bool MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::clear [protected] |
Definition at line 513 of file msa-DistPageMgr.h.