go back

Volume 15, No. 9

Your Read is Our Priority in Flash Storage

Authors:
Mijin An (Sungkyunkwan University ) Soojun Im (Samsung Electronics Co.) Dawoon Jung (Samsung Electronics Co.) Sang Won Lee (Sungkyunkwan University)*

Abstract

When a dirty victim page is chosen for replacement upon page miss, the buffer manager will first flush the dirty victim to the storage before reading the missing page. This conventional read-after-write (RAW) protocol commonly taken by storage devices as well as DBMSs, while working well on hard disks, causes the problem of read stall on flash storage with asymmetric read/write speed; because of the resource conflict for a buffer frame, the read operation for the missing page has to wait for the slow write to complete and for the frame to be clean. Although synchronous reads are on the critical path of database performance, RAW will make reads often blocked by writes, severely worsening transaction throughput and latency. In addition, its strict write-then-read serialization will make flash storage with abundant parallelism under-utilized. To avoid read stalls in DBMS buffer, we propose RW (fused read and write) as a new storage interface. Using RW on read stall, the buffer manager can issue both read and write requests at once to the storage which then immediately serves the read once the dirty page is copied to the storage buffer. In addition, to resolve read stalls in flash storage buffer, we propose R-Buf, where the read buffer is separated from the write buffer so that reads can proceed at no stall. RW and R-Buf, working at different layers, complement each other when used together. We prototype RW and R-Buf on a real Cosmos+ OpenSSD board. Evaluation results show that RW alone improves TPC-C throughput over RAW by 3.2x and, combined with R-Buf, does by 3.9x. In addition, we demonstrate that R-Buf effectively mitigates the I/O interference in multi-tenancy.

PVLDB is part of the VLDB Endowment Inc.

Privacy Policy