uCache: A Customizable Unikernel-based IO Cache
summary
uCache is a unikernel libOS cache (implemented on OSV) that exposes shared uVFS abstraction and buffer/VMA callbacks so applications can attach replacement logic; it ships an NVMe-optimized ustore and runs on an Epic server with PCIe5 NVMe. The prototype outperforms mmap by 2–50× in insert throughput and up to 78× on random lookups, sustains SSD bandwidth for a TPCC workload (1 TB data, 128 GB cache) and matches a specialized Xmap buffer-manager while remaining mmap-compatible.
AI-written summary · about
chapters (10)
- 0:00Introduction to uCache and motivation
- 3:47Design goals and key idea of uCache
- 5:53Application-OS coordination with shared abstractions
- 7:40Scalable cache operations with optimistic techniques
- 10:09Flexible IO abstraction for diverse backends
- 11:54Implementation and prototype details
- 12:15Evaluation setup and microbenchmark results
- 13:21End-to-end performance comparison with MAP
- 14:03Database buffer manager use case and results
- 14:45Conclusion and open-source availability
