|
libfoedus-core
FOEDUS Core Library
|
| ▼FOEDUS Components | Main modules of libfoedus |
| Snapshot Cache Manager | Snapshot Cache Manager, which caches data pages retrieved from snapshot files. |
| Debug-Support functionalities | Debug-Support functionalities. |
| Database Engine | Database Engine, the top-level component of foedus |
| ▼Log Manager | Log Manager, which writes out transactional logs. |
| Log Types | Defines the content and apply logic of transactional operatrions |
| ▼Memory Manager | Memory Manager, which controls memory allocations, deallocations, and sharing. |
| Memory Hierarchy | NUMA-Aware Memory Hierarchy in libfoedus-core |
| System and User Procedures | System and User Procedures. |
| Restart Manager | Restart Manager, which recovers the state of database by re-playing transaction logs at start-up. |
| Savepoint Manager | Savepoint Manager, which durably and atomically remembers what happened in the engine occasionally (eg. |
| Snapshot Manager | Snapshot Manager, which manages snapshot files of the database. |
| SOC and IPC | System On Chip (SOC) and interprocess communication (IPC). |
| ▼Storage Manager | Storage Manager, which implements a couple of key/value stores. |
| Array Storage | Array Storage, a dense and regular array. |
| Hashtable Storage | Hashtable Storage, a concurrent hashtable. |
| Masstree Storage | Masstree Storage, 64-bit B-tries with internal B-trees. |
| Sequential Storage | Sequential Storage, an append/scan only data structure. |
| ▼Thread and Thread-Group | Thread and Thread-Group, which abstracts NUMA-core/node and provides API to attach/detach tasks to pooled threads. |
| Thread-Pool and Impersonation | APIs to pool and impersonate worker threads in libfoedus-core |
| ▼Transaction Manager | Transaction Manager, which provides APIs to begin/commit/abort transactions. |
| Retrospective Lock List | Retrospective Lock List (RLL) to avoid deadlocks |
| Physical-only, short-living system transactions. | |
| ▼FOEDUS Programming Idioms | You must first get used to these things to use/develop libfoedus |
| Assorted Methods/Classes | Assorted Methods/Classes that are too subtle to have their own packages. |
| ▼Compiler Specific Optimizations | A few macros and functions to exploit compiler specific optimizations |
| Memorandum on ARMv8 (AArch64) Support | We keep notes on FOEDUS's ARMv8 (AArch64) Support here |
| C++11 Keywords in Public Headers | Defines macros for hiding C++11 features in public headers for clients that use C++98 |
| Debug-Support functionalities | Debug-Support functionalities. |
| Error codes, messages, and stacktraces | Error codes (foedus::ErrorCode), their error messages defined in error_code.xmacro, and stacktrace information (ErrorStack) returned by our API functions |
| Object Externalization | Object Externalization. |
| Filesystem wrapper | Filesystem wrapper, an analogue of boost::filesystem. |
| Initialize/Uninitialize Resources | Defines a uniform class interface to initialize/uninitialize non-trivial resources |