Better database cost/performance via batched I/O on programmable SSD

Jaeyoung Do, Ivan Luiz Picoli, David B. Lomet, Philippe Bonnet

Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

Abstract

Data should be placed at the most cost- and performance-effective tier in the storage hierarchy. While performance and cost decrease with distance from the CPU, the cost/performance trade-off depends on how efficiently data can be moved across tiers. Log structuring improves this cost/performance by writing batches of pages from main memory to secondary storage using a conventional block-at-a-time I/O interface. However, log structuring incurs overhead in the form of recovery and garbage collection. With computational Solid-State Drives, it is now possible to design a storage interface that minimizes this overhead. In this paper, we offload log structuring from the CPU to the SSD. We define a new batch I/O storage interface and we design a Flash Translation Layer that takes care of log structuring on the SSD side. This removes the CPU computational and I/O load associated with recovery and garbage collection. We compare the performance of the Bw-tree key-value store with its LLAMA host-based log structuring to the same key-value software stack executing on a computational SSD equipped with a batch I/O interface. Our experimental results show the benefits of eliminating redundancies, minimizing interactions across storage layers, and avoiding the CPU cost of providing log structuring.
Original languageUndefined/Unknown
JournalThe VLDB Journal
Volume30
Issue number3
Pages (from-to)403-424
Number of pages22
ISSN1066-8888
DOIs
Publication statusPublished - 2021

Keywords

  • Key-value store
  • Log structuring
  • Programmable SSDs
  • Bw-tree
  • LLAMA

Cite this