libfoedus-core
FOEDUS Core Library
|
Local resource for the log gleaner, which runs only in the master node. More...
Local resource for the log gleaner, which runs only in the master node.
Empty in child nodes.
Definition at line 34 of file log_gleaner_resource.hpp.
#include <log_gleaner_resource.hpp>
Classes | |
struct | PerNodeResource |
These buffers are used to read intermediate results from each reducer to compose the root page or other kinds of pages that weren't composed in each reducer (eg. More... | |
Public Types | |
enum | Constants { kReadBufferInitialSize = 1 << 21, kWriteBufferInitialSize = 1 << 21, kWriteBufferIntermediateInitialSize = 1 << 21 } |
Public Member Functions | |
void | allocate (uint16_t node_count) |
void | deallocate () |
Public Attributes | |
memory::AlignedMemory | work_memory_ |
Working memory to be used in gleaner's construct_root(). More... | |
memory::AlignedMemory | writer_pool_memory_ |
memory::AlignedMemory | writer_intermediate_memory_ |
memory::AlignedMemory | tmp_root_page_memory_ |
std::vector< PerNodeResource > | per_node_resources_ |
Enumerator | |
---|---|
kReadBufferInitialSize | |
kWriteBufferInitialSize | |
kWriteBufferIntermediateInitialSize |
Definition at line 35 of file log_gleaner_resource.hpp.
void foedus::snapshot::LogGleanerResource::allocate | ( | uint16_t | node_count | ) |
Definition at line 23 of file log_gleaner_resource.cpp.
References foedus::memory::AlignedMemory::alloc(), foedus::memory::AlignedMemory::kNumaAllocOnnode, per_node_resources_, tmp_root_page_memory_, work_memory_, writer_intermediate_memory_, and writer_pool_memory_.
Referenced by foedus::snapshot::SnapshotManagerPimpl::initialize_once().
void foedus::snapshot::LogGleanerResource::deallocate | ( | ) |
Definition at line 38 of file log_gleaner_resource.cpp.
References per_node_resources_, foedus::memory::AlignedMemory::release_block(), tmp_root_page_memory_, work_memory_, writer_intermediate_memory_, and writer_pool_memory_.
Referenced by foedus::snapshot::SnapshotManagerPimpl::uninitialize_once().
std::vector< PerNodeResource > foedus::snapshot::LogGleanerResource::per_node_resources_ |
Definition at line 70 of file log_gleaner_resource.hpp.
Referenced by allocate(), deallocate(), and foedus::snapshot::SnapshotManagerPimpl::uninitialize_once().
memory::AlignedMemory foedus::snapshot::LogGleanerResource::tmp_root_page_memory_ |
Definition at line 68 of file log_gleaner_resource.hpp.
Referenced by allocate(), foedus::storage::hash::HashComposer::construct_root(), and deallocate().
memory::AlignedMemory foedus::snapshot::LogGleanerResource::work_memory_ |
Working memory to be used in gleaner's construct_root().
Automatically expand if needed.
Definition at line 65 of file log_gleaner_resource.hpp.
Referenced by allocate(), foedus::storage::sequential::SequentialComposer::construct_root(), and deallocate().
memory::AlignedMemory foedus::snapshot::LogGleanerResource::writer_intermediate_memory_ |
Definition at line 67 of file log_gleaner_resource.hpp.
Referenced by allocate(), and deallocate().
memory::AlignedMemory foedus::snapshot::LogGleanerResource::writer_pool_memory_ |
Definition at line 66 of file log_gleaner_resource.hpp.
Referenced by allocate(), and deallocate().