Summary of WiscKey: Separating Keys from Values in SSD-Conscious Storage

  • Authors: Lanyue Lu, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
  • Conference: 14th USENIX Conference on File and Storage Technologies (FAST ‘16)
  • Key Concept: WiscKey is a key-value store that separates keys from values to minimize I/O amplification, optimizing performance for SSDs.
  • Performance: WiscKey outperforms LevelDB and RocksDB in various workloads, achieving up to 111× faster loading and improved random lookup speeds.
  • Design Goals: Focus on low write/read amplification, SSD optimization, and support for modern features like range queries.

⤋ Read More

The four critical ideas in the design of WiscKey are:

  1. Separation of keys from values, with only keys stored in the LSM-tree and values in a separate log file.
  2. Utilization of the parallel random-read characteristic of SSD devices to handle unsorted values during range queries.
  3. Implementation of unique crash-consistency techniques to manage the value log efficiently.
  4. Optimization of performance by removing the LSM-tree log without sacrificing consistency, reducing system-call overhead from small writes.

⤋ Read More

WiscKey minimizes CPU usage compared to LevelDB by eliminating the log file, which reduces the CPU cost associated with encoding and writing key-value pairs. While LevelDB has higher CPU usage due to its single writer protocol and background compaction using one thread, WiscKey’s architecture allows for garbage collection to be decoupled and performed later, minimizing its impact on foreground performance. Consequently, WiscKey generally exhibits lower CPU usage during workloads, except when utilizing multiple background threads for prefetching.

⤋ Read More

WiscKey’s approach to handling key-value pairs in SSDs offers several advantages:

  1. It minimizes I/O amplification by separating keys and values, allowing for more efficient storage and retrieval.
  2. The design leverages the SSD’s performance characteristics, utilizing sequential writes and parallel random reads to enhance throughput and reduce latency.
  3. WiscKey maintains excellent insert and lookup performance while improving SSD lifespan by reducing the number of erase cycles required.

⤋ Read More

Participate

Login to join in on this yarn.