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().