Part III
Lower Layers
The eleven chapters of this part revisit Ceph from the lowest layer up: the block device, bufferlist and crc32c; the BlueStore and BlueFS on-disk format; RocksDB; msgr2 at the byte level; erasure-coding mathematics; CRUSH at the bit level; the Linux kernel clients; Crimson and SeaStore; SPDK and NVMe; scrub, recovery and backfill at code level; and memory and CPU inside the OSD. Every numeric example was recomputed with independent code or with compiled Ceph code.
- 23Lower Layers (1): Block Device, bufferlist, mempool and crc32c
- 24Lower Layers (2): BlueStore and BlueFS On-Disk Format
- 25Lower Layers (3): RocksDB Inside BlueStore
- 26Lower Layers (4): msgr2 at the Byte Level, AsyncConnection and EventCenter
- 27Lower Layers (5): Erasure-Coding Math, from GF(2⁸) to FastEC
- 28Lower Layers (6): CRUSH at the Bit Level, from rjenkins to upmap
- 29Lower Layers (7): Linux Kernel Clients — libceph, krbd and ceph.ko
- 30Lower Layers (8): Crimson and Seastar — Shard-per-Core OSD and SeaStore
- 31Lower Layers (9): SPDK and NVMe — from Hardware Queues to the NVMe-oF Gateway
- 32Lower Layers (10): Scrub, Recovery, Backfill and Repair at Code Level
- 33Lower Layers (11): Memory and CPU Inside the OSD — from mempool to NUMA and Profiling