FIFO queues are all you need for cache eviction
As a cache eviction algorithm, FIFO has a lot of attractive properties, such as simplicity,
speed, scalability, and flash-friendliness. The most prominent criticism of FIFO is its low …
speed, scalability, and flash-friendliness. The most prominent criticism of FIFO is its low …
{FUSEE}: A fully {Memory-Disaggregated}{Key-Value} store
Distributed in-memory key-value (KV) stores are embracing the disaggregated memory (DM)
architecture for higher resource utilization. However, existing KV stores on DM employ …
architecture for higher resource utilization. However, existing KV stores on DM employ …
{SIEVE} is Simpler than {LRU}: an Efficient {Turn-Key} Eviction Algorithm for Web Caches
Caching is an indispensable technique for low-cost and fast data serving. The eviction
algorithm, at the heart of a cache, has been primarily designed to maximize efficiency …
algorithm, at the heart of a cache, has been primarily designed to maximize efficiency …
Cornflakes: Zero-copy serialization for microsecond-scale networking
Data serialization is critical for many datacenter applications, but the memory copies
required to move application data into packets are costly. Recent zero-copy APIs expose …
required to move application data into packets are costly. Recent zero-copy APIs expose …
Pegasus: Tolerating skewed workloads in distributed storage with {In-Network} coherence directories
High performance distributed storage systems face the challenge of load imbalance caused
by skewed and dynamic workloads. This paper introduces Pegasus, a new storage system …
by skewed and dynamic workloads. This paper introduces Pegasus, a new storage system …
Fast, Flexible, and Practical Kernel Extensions
The ability to safely extend OS kernel functionality is a longstanding goal in OS design, with
the widespread use of the eBPF framework in Linux and Windows demonstrating the …
the widespread use of the eBPF framework in Linux and Windows demonstrating the …
Kangaroo: Caching billions of tiny objects on flash
Many social-media and IoT services have very large working sets consisting of billions of
tiny (≈ 100 B) objects. Large, flash-based caches are important to serving these working …
tiny (≈ 100 B) objects. Large, flash-based caches are important to serving these working …
{GL-Cache}: Group-level learning for efficient and high-performance caching
Web applications rely heavily on software caches to achieve low-latency, high-throughput
services. To adapt to changing workloads, three types of learned caches (learned evictions) …
services. To adapt to changing workloads, three types of learned caches (learned evictions) …
Nap: A {Black-Box} Approach to {NUMA-Aware} Persistent Memory Indexes
We present Nap, a black-box approach that converts concurrent persistent memory (PM)
indexes into NUMA-aware counterparts. Based on the observation that real-world workloads …
indexes into NUMA-aware counterparts. Based on the observation that real-world workloads …
Differentiated {Key-Value} storage management for balanced {I/O} performance
Modern key-value (KV) stores adopt the LSM-tree as the core data structure for managing
KV pairs, but suffer from high write and read amplifications. Existing LSM-tree optimizations …
KV pairs, but suffer from high write and read amplifications. Existing LSM-tree optimizations …