Tagged systems
3 entries on this topic.
- 01 The wakeup race
I built an async runtime in Rust around one promise: a task that says Pending must be polled again when it is ready, never concurrently, and never after its memory is gone. The queues, wakers, reactors, timers, io_uring, and consoles are what it took to keep that promise.
- 02 Writing an LSM-tree in Go
A from-scratch LSM storage engine: the skip-list memtable, the on-disk SSTable format block by block, Bloom filters, platform-aware mmap, the WAL and crash recovery, three live-switchable compaction strategies, and the Raft layer that wraps the whole thing.
- sapling Build it to understand it
The only reliable way I've found to actually understand a system.