|
libfoedus-core
FOEDUS Core Library
|
System On Chip (SOC) and interprocess communication (IPC). More...
System On Chip (SOC) and interprocess communication (IPC).
This module is special in many ways. SOC might be spawned as a local or remote process, so we first instantiate SOCs before everything else with a special manner (partially because linux's tricky process handling semantics).
|
Files | |
| file | fwd.hpp |
| Forward declarations of classes in SOC package. | |
| file | soc_id.hpp |
| Typedefs of ID types used in SOC package. | |
Classes | |
| class | foedus::soc::SharedCond |
| A conditional variable that can be placed in shared memory and used from multiple processes. More... | |
| struct | foedus::soc::MasterEngineStatus |
| Current status of master engine. More... | |
| struct | foedus::soc::ChildEngineStatus |
| Current status of a child SOC engine. More... | |
| struct | foedus::soc::GlobalMemoryAnchors |
| Just a set of pointers within global_memory_ for ease of use. More... | |
| struct | foedus::soc::NodeMemoryAnchors |
| Same as GlobalMemoryAnchors except this is for node_memories_. More... | |
| struct | foedus::soc::ThreadMemoryAnchors |
| Part of NodeMemoryAnchors for each thread. More... | |
| class | foedus::soc::SharedMemoryRepo |
| Repository of all shared memory in one FOEDUS instance. More... | |
| class | foedus::soc::SharedMutex |
| A mutex that can be placed in shared memory and used from multiple processes. More... | |
| class | foedus::soc::SharedMutexScope |
| Auto-lock scope object for SharedMutex. More... | |
| class | foedus::soc::SharedPolling |
| A polling-wait mechanism that can be placed in shared memory and used from multiple processes. More... | |
| class | foedus::soc::SharedRendezvous |
| A one-time single-producer multiple-consumer event synchronization in shared memory for multiple processes. More... | |
| class | foedus::soc::SocManager |
| SOC manager, which maintains the shared resource across SOCs and, if this engine is a master engine, manages child SOCs. More... | |
| class | foedus::soc::SocManagerPimpl |
| Pimpl object of SocManager. More... | |
| struct | foedus::soc::SocOptions |
| Set of options for SOC manager. More... | |
Typedefs | |
| typedef uint16_t | foedus::soc::SocId |
| Represents an ID of an SOC, or NUMA node. More... | |
| typedef uint64_t | foedus::soc::Upid |
| Universal (or Unique) ID of a process. More... | |
Variables | |
| const uint16_t | foedus::soc::kMaxSocs = 256U |
| Maximum number of SOCs. More... | |
| typedef uint16_t foedus::soc::SocId |
Represents an ID of an SOC, or NUMA node.
Definition at line 41 of file soc_id.hpp.
| typedef uint64_t foedus::soc::Upid |
Universal (or Unique) ID of a process.
This is so far what getpid() returns, but might be something else when we support remote nodes.
Definition at line 48 of file soc_id.hpp.
| const uint16_t foedus::soc::kMaxSocs = 256U |
Maximum number of SOCs.
Definition at line 35 of file soc_id.hpp.
Referenced by foedus::soc::SharedMemoryRepo::allocate_shared_memories().