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

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

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.
OriginalsprogEngelsk
Artikelnummer3
TidsskriftV L D B Journal
Vol/bind30
Udgave nummer3
Sider (fra-til)403-424
Antal sider22
ISSN1066-8888
DOI
StatusUdgivet - 2021
Eksternt udgivetJa

ID: 389421725