RIO: Order-Preserving and CPU-Efficient Remote Storage Access

10/17/2022
by   Xiaojian Liao, et al.
0

Modern NVMe SSDs and RDMA networks provide dramatically higher bandwidth and concurrency. Existing networked storage systems (e.g., NVMe over Fabrics) fail to fully exploit these new devices due to inefficient storage ordering guarantees. Severe synchronous execution for storage order in these systems stalls the CPU and I/O devices and lowers the CPU and I/O performance efficiency of the storage system. We present Rio, a new approach to the storage order of remote storage access. The key insight in Rio is that the layered design of the software stack, along with the concurrent and asynchronous network and storage devices, makes the storage stack conceptually similar to the CPU pipeline. Inspired by the CPU pipeline that executes out-of-order and commits in-order, Rio introduces the I/O pipeline that allows internal out-of-order and asynchronous execution for ordered write requests while offering intact external storage order to applications. Together with merging consecutive ordered requests, these design decisions make for write throughput and CPU efficiency close to that of orderless requests. We implement Rio in Linux NVMe over RDMA stack, and further build a file system named RioFS atop Rio. Evaluations show that Rio outperforms Linux NVMe over RDMA and a state-of-the-art storage stack named Horae by two orders of magnitude and 4.9 times on average in terms of throughput of ordered write requests, respectively. RioFS increases the throughput of RocksDB by 1.9 times and 1.5 times on average, against Ext4 and HoraeFS, respectively.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/07/2017

Barrier Enabled IO Stack for Flash Storage

This work is dedicated to eliminating the overhead of guaranteeing the s...
research
03/09/2022

GPU-Initiated On-Demand High-Throughput Storage Access in the BaM System Architecture

Graphics Processing Units (GPUs) have traditionally relied on the host C...
research
01/12/2022

Enlightening Flash Storage to Stream Writes by Objects

For a write request, today flash storage cannot distinguish the logical ...
research
04/28/2015

Improving Block-level Efficiency with scsi-mq

Current generation solid-state storage devices are exposing a new bottle...
research
05/17/2019

High Throughput Push Based Storage Manager

The storage manager, as a key component of the database system, is respo...
research
09/12/2023

RackBlox: A Software-Defined Rack-Scale Storage System with Network-Storage Co-Design

Software-defined networking (SDN) and software-defined flash (SDF) have ...
research
02/17/2019

Let the Cloud Watch Over Your IoT File Systems

Smart devices produce security-sensitive data and keep them in on-device...

Please sign up or login with your details

Forgot password? Click here to reset