OmniSciDB
a5dc49c757
|
#include <CpuBufferMgr.h>
Public Member Functions | |
CpuBufferMgr (const int device_id, const size_t max_buffer_pool_size, CudaMgr_Namespace::CudaMgr *cuda_mgr, const size_t min_slab_size, const size_t max_slab_size, const size_t default_slab_size, const size_t page_size, AbstractBufferMgr *parent_mgr=nullptr) | |
~CpuBufferMgr () override | |
MgrType | getMgrType () override |
std::string | getStringMgrType () override |
void | setAllocator (std::unique_ptr< DramArena > allocator) |
Public Member Functions inherited from Buffer_Namespace::BufferMgr | |
BufferMgr (const int device_id, const size_t max_buffer_size, const size_t min_slab_size, const size_t max_slab_size, const size_t default_slab_size, const size_t page_size, AbstractBufferMgr *parent_mgr=0) | |
Constructs a BufferMgr object that allocates memSize bytes. More... | |
~BufferMgr () override | |
Destructor. More... | |
std::string | printSlab (size_t slab_num) |
std::string | printSlabs () override |
void | clearSlabs () |
std::string | printMap () |
void | printSegs () |
std::string | printSeg (BufferList::iterator &seg_it) |
size_t | getInUseSize () override |
size_t | getMaxSize () override |
size_t | getAllocated () override |
size_t | getMaxBufferSize () |
size_t | getMaxSlabSize () |
size_t | getPageSize () |
bool | isAllocationCapped () override |
const std::vector< BufferList > & | getSlabSegments () |
AbstractBuffer * | createBuffer (const ChunkKey &key, const size_t page_size=0, const size_t initial_size=0) override |
Creates a chunk with the specified key and page size. More... | |
void | deleteBuffer (const ChunkKey &key, const bool purge=true) override |
Deletes the chunk with the specified key. More... | |
void | deleteBuffersWithPrefix (const ChunkKey &key_prefix, const bool purge=true) override |
AbstractBuffer * | getBuffer (const ChunkKey &key, const size_t num_bytes=0) override |
Returns the a pointer to the chunk with the specified key. More... | |
bool | isBufferOnDevice (const ChunkKey &key) override |
Puts the contents of d into the Buffer with ChunkKey key. More... | |
void | fetchBuffer (const ChunkKey &key, AbstractBuffer *dest_buffer, const size_t num_bytes=0) override |
AbstractBuffer * | putBuffer (const ChunkKey &key, AbstractBuffer *d, const size_t num_bytes=0) override |
void | checkpoint () override |
void | checkpoint (const int db_id, const int tb_id) override |
void | removeTableRelatedDS (const int db_id, const int table_id) override |
AbstractBuffer * | alloc (const size_t num_bytes=0) override |
client is responsible for deleting memory allocated for b->mem_ More... | |
void | free (AbstractBuffer *buffer) override |
size_t | size () |
Returns the total number of bytes allocated. More... | |
size_t | getNumChunks () override |
BufferList::iterator | reserveBuffer (BufferList::iterator &seg_it, const size_t num_bytes) |
void | getChunkMetadataVecForKeyPrefix (ChunkMetadataVector &chunk_metadata_vec, const ChunkKey &key_prefix) override |
Protected Member Functions | |
void | addSlab (const size_t slab_size) override |
void | freeAllMem () override |
void | allocateBuffer (BufferList::iterator segment_iter, const size_t page_size, const size_t initial_size) override |
virtual void | initializeMem () |
Protected Attributes | |
CudaMgr_Namespace::CudaMgr * | cuda_mgr_ |
Protected Attributes inherited from Buffer_Namespace::BufferMgr | |
const size_t | max_buffer_pool_size_ |
const size_t | min_slab_size_ |
max number of bytes allocated for the buffer pool More... | |
const size_t | max_slab_size_ |
const size_t | default_slab_size_ |
const size_t | page_size_ |
std::vector< int8_t * > | slabs_ |
std::vector< BufferList > | slab_segments_ |
Private Attributes | |
std::unique_ptr< DramArena > | allocator_ |
Definition at line 29 of file CpuBufferMgr.h.
|
inline |
Definition at line 31 of file CpuBufferMgr.h.
References initializeMem().
|
inlineoverride |
Definition at line 50 of file CpuBufferMgr.h.
|
overrideprotectedvirtual |
Implements Buffer_Namespace::BufferMgr.
Reimplemented in Buffer_Namespace::TieredCpuBufferMgr.
Definition at line 25 of file CpuBufferMgr.cpp.
References allocator_, CHECK, Buffer_Namespace::BufferMgr::page_size_, Buffer_Namespace::BufferMgr::slab_segments_, and Buffer_Namespace::BufferMgr::slabs_.
|
overrideprotectedvirtual |
Implements Buffer_Namespace::BufferMgr.
Definition at line 44 of file CpuBufferMgr.cpp.
References cuda_mgr_.
|
overrideprotectedvirtual |
Implements Buffer_Namespace::BufferMgr.
Reimplemented in Buffer_Namespace::TieredCpuBufferMgr.
Definition at line 39 of file CpuBufferMgr.cpp.
References allocator_, CHECK, and initializeMem().
|
inlineoverride |
Definition at line 54 of file CpuBufferMgr.h.
|
inlineoverride |
Definition at line 55 of file CpuBufferMgr.h.
|
protectedvirtual |
Reimplemented in Buffer_Namespace::TieredCpuBufferMgr.
Definition at line 58 of file CpuBufferMgr.cpp.
References allocator_, Buffer_Namespace::BufferMgr::default_slab_size_, and kArenaBlockOverhead.
Referenced by CpuBufferMgr(), and freeAllMem().
|
inline |
Definition at line 58 of file CpuBufferMgr.h.
References allocator_.
|
private |
Definition at line 73 of file CpuBufferMgr.h.
Referenced by addSlab(), freeAllMem(), initializeMem(), and setAllocator().
|
protected |
Definition at line 70 of file CpuBufferMgr.h.
Referenced by allocateBuffer().