libfaster API Documentation  Development Version
Super fast distributted computing
faster::workerIFddCore< K, T > Class Template Reference
Inheritance diagram for faster::workerIFddCore< K, T >:
faster::workerFddBase faster::_workerIFdd< K, T >

Description

template<typename K, typename T>
class faster::workerIFddCore< K, T >

Definition at line 26 of file _workerIFdd.h.

Public Member Functions

 workerIFddCore (unsigned int ident, fddType kt, fddType t)
 
 workerIFddCore (unsigned int ident, fddType kt, fddType t, size_t size)
 
fddType getType () override
 
fddType getKeyType () override
 
void setData (void *data UNUSED, size_t size UNUSED)
 
void setData (void *data UNUSED, size_t *ls UNUSED, size_t size UNUSED)
 
void setDataRaw (void *data UNUSED, size_t size UNUSED) override
 
void setDataRaw (void *data UNUSED, size_t *lineSizes UNUSED, size_t size UNUSED) override
 
T & operator[] (size_t address)
 
void * getItem (size_t address)
 
void * getData () override
 
void * getKeys ()
 
size_t getSize () override
 
size_t itemSize () override
 
size_t baseSize () override
 
void setSize (size_t s)
 
void deleteItem (void *item) override
 
void shrink ()
 
std::vector< std::vector< T * > > findKeyInterval (K *keys, T *data, size_t fddSize)
 
void preapply (unsigned long int id, void *func, fddOpType op, workerFddBase *dest, fastComm *comm)
 
bool onlineReadStage3 (std::deque< std::vector< std::pair< K, T >>> &q2, omp_lock_t &q2lock)
 
bool onlinePartReadStage3 (std::unordered_map< K, int > &localKeyMap, fastComm *comm, void *funcP, std::deque< std::vector< std::pair< K, T >>> &q2, omp_lock_t &q2lock)
 
void onlineFullPartRead (fastComm *comm, void *funcP)
 
void onlinePartRead (fastComm *comm, void *funcP)
 
void onlineRead (fastComm *comm)
 
void groupByKey (fastComm *comm)
 
void groupByKeyHashed (fastComm *comm)
 
void countByKey (fastComm *comm)
 
void exchangeDataByKey (fastComm *comm)
 
bool exchangeDataByKeyHashed (fastComm *comm)
 
void exchangeDataByKeyMapped (fastComm *comm)
 
std::vector< std::vector< void * > > * getKeyLocations ()
 
void * getUKeys ()
 
void setUKeys (void *uk)
 
void * getKeyMap ()
 
void setKeyMap (void *km)
 
void writeToFile (void *path, size_t procId, void *sufix)
 
- Public Member Functions inherited from faster::workerFddBase
 workerFddBase (unsigned int ident, fddType t)
 
virtual void setData (void *, size_t)=0
 
virtual void setData (void *, size_t *, size_t)=0
 
virtual void setData (void *, void *, size_t)=0
 
virtual void setData (void *, void *, size_t *, size_t)=0
 
virtual void setDataRaw (void *, size_t)=0
 
virtual void setDataRaw (void *, size_t *, size_t)=0
 
virtual void setDataRaw (void *, void *, size_t)=0
 
virtual void setDataRaw (void *, void *, size_t *, size_t)=0
 
virtual size_t * getLineSizes ()=0
 
virtual void insertl (void *v)=0
 
virtual void insert (void *k, void *v, size_t s)=0
 
virtual void apply (void *func, fddOpType op, workerFddBase *dest, fastCommBuffer &buffer)=0
 
virtual void collect (fastComm *comm)=0
 

Protected Member Functions

K * distributeOwnership (fastComm *comm, K *uKeys, size_t cSize)
 
void sendPartKeyCount (fastComm *comm)
 
std::unordered_map< K, size_t > recvPartKeyMaxCount (fastComm *comm, std::unordered_map< K, std::pair< size_t, std::deque< int >> > &keyPPMaxCount)
 
std::unordered_map< K, size_t > recvPartKeyCount (fastComm *comm)
 
std::unordered_map< K, size_t > distributedMaxKeyCount (fastComm *comm, std::unordered_map< K, std::pair< size_t, std::deque< int >> > &keyPPMaxCount)
 
bool EDBKsendDataAsync (fastComm *comm, int owner, K &key, T &data, std::vector< size_t > &dataSize)
 
bool sendPending (fastComm *comm, std::vector< std::deque< std::pair< K, T > > > &pendingSend, std::vector< size_t > &dataSize)
 
void flushDataSend (fastComm *comm, std::vector< size_t > &dataSize)
 
bool EDBKSendData (fastComm *comm, std::vector< size_t > &dataSize)
 
bool EDBKSendDataHashed (fastComm *comm, size_t &pos, std::vector< bool > &deleted, std::vector< size_t > &dataSize, std::deque< std::pair< K, T > > &recvData, std::vector< std::deque< std::pair< K, T > > > &pendingSend, bool &dirty)
 
bool EDBKRecvData (fastComm *comm, size_t &pos, size_t &posLimit, std::vector< bool > &deleted, std::deque< std::pair< K, T > > &recvData, int &peersFinised, bool &dirty)
 
void EDBKFinishDataInsert (std::vector< bool > &deleted, std::deque< std::pair< K, T > > &recvData, size_t &pos)
 
void EDBKShrinkData (std::vector< bool > &deleted, size_t &pos)
 
void findMyKeys (int numProcs, int Id)
 
void findMyKeysByHash (int numProcs)
 

Protected Attributes

indexedFddStorage< K, T > * localData
 
std::shared_ptr< std::vector< K > > uKeys
 
std::shared_ptr< std::unordered_map< K, int > > keyMap
 
std::vector< std::vector< void * > > keyLocations
 
bool groupedByKey
 
bool groupedByHash
 
- Protected Attributes inherited from faster::workerFddBase
unsigned long int id
 
fddType type
 
fddType keyType
 

The documentation for this class was generated from the following files: