FAST 2018 February Best Paper Award |
Protocol-Aware Recovery for Consensus-Based Storage.
Proceedings of the 16th USENIX Conference on File and Storage Technologies.
[
Code
]
[
Bib
]
We introduce protocol-aware recovery (PAR), a new approach that exploits protocol-specific knowledge to correctly recover from storage faults in distributed systems. We demonstrate the efficacy of PAR through the design and implementation of corruption-tolerant replication (CTRL), a PAR mechanism specific to replicated state machine (RSM) systems. We experimentally show that the CTRL versions of two systems, LogCabin and ZooKeeper, safely recover from storage faults and provide high availability, while the unmodified versions can lose data or become unavailable. We also show that the CTRL versions have little performance overhead.
|
SOSP 2017 October |
PebblesDB: Building Key-Value Stores using Fragmented Log-Structured Merge Trees.
Proceedings of the 26th ACM Symposium on Operating Systems Principles (SOSP '17).
[
Code
]
[
Bib
]
Key-value stores such as LevelDB and RocksDB offer excellent write throughput, but suffer high write amplification: 1 GB written to RocksDB results in 28 GB written to storage. The write amplification problem is fundamental to the Log-Structured Merge Trees data structure that underlies these key-value stores. To remedy this, we present a novel data structure that is inspired by Skip Lists, termed Fragmented Log-Structured Merge Trees (FLSM). FLSM introduces the notion of guards to organize logs, and avoids rewriting data in the same level. We build PebblesDB, a high performance key-value store, on top of the FLSM data structure. We evaluate PebblesDB with different benchmarks and show that compared to LevelDB and RocksDB, it decreases write am- plification by 3-5X while increasing write throughput by 2.7X and provides equal or better throughput for other operations such as reads and range queries. We modify two widely-used NoSQL stores, MongoDB and HyperDex, to use PebblesDB as their underlying storage engine, and show that the application throughput is increased by 18-105\% (compared to their default storage engines) while write IO is decreased by 35-55\%.
|
APSys 2017 September |
The Dangers and Complexities of Benchmarking SQLite.
The 8th ACM SIGOPS Asia-Pacific Workshop on Systems.
[
Bib
]
|
APSys 2017 September Best Poster Award |
Analyzing IO Amplification in Linux File Systems (Poster).
The 8th ACM SIGOPS Asia-Pacific Workshop on Systems.
[
Poster
]
[
ArXiV Preprint
]
|
HotStorage 2017 July |
CC-Log: Drastically Reducing Storage Requirements for Robots Using Classification and Compression.
9th USENIX Workshop on Hot Topics in Storage and File Systems.
[
Bib
]
|
HotStorage 2017 July |
Storage on Your Smartphone Uses More Energy Than You Think.
9th USENIX Workshop on Hot Topics in Storage and File Systems.
[
Bib
]
|
HotStorage 2017 July |
CrashMonkey: A Framework to Automatically Test File-System Crash Consistency.
9th USENIX Workshop on Hot Topics in Storage and File Systems.
[
Code
]
[
Bib
]
|
HotOS 2017 May |
From Crash Consistency to Transactions.
16th Workshop on Hot Topics in Operating Systems.
[
Bib
]
|
FAST 2017 February Best Paper Award |
Application Crash Consistency and Performance with CCFS.
15th USENIX Conference on File and Storage Technologies.
[
Bib
]
Press: [
Morning Paper
]
|
INFLOW 2016 November |
NVMOVE: Helping Programmers Move to Byte-Based Persistence.
4th Workshop on Interactions of NVM/Flash with Operating Systems and Workloads.
[
Bib
]
|