低CPU开销的低延迟存储引擎 A Low-Latency Storage Engine with Low CPU Overhead

9.低CPU开销的低延迟存储引擎
A Low-Latency Storage Engine with Low CPU Overhead

摘要:近些年来,固态存储的硬件处理速率得到了极大改善.一块超低延迟的固态存储盘能在10 μs内处理4 KB大小的数据.加速I/O收割过程以构建低延迟的存储引擎是存储系统研究中的一个重要研究课题.传统存储系统通过硬件中断机制收割I/O,却引入了额外的上下文切换开销,延长了整体I/O处理时间.现有工作使用轮询机制以消除上下文切换,却要付出高昂的CPU开销.提出了一种低CPU开销的低延迟存储引擎NIO(nimble I/O),以充分发挥高性能固态存储盘的低延迟优势.NIO的核心思想是将大小I/O处理路径分离;大I/O使用硬件中断机制;小I/O引入惰性轮询机制,先睡眠一个变长时间间隔再持续轮询.NIO进一步提出了事务感知的I/O收割机制以降低事务的延迟,以及动态调整机制以应对上层应用负载以及设备内部活动的动态变化.实验显示在动态负载下,NIO与基于轮询的存储引擎性能相当,并能减少至少59%的CPU占用率.

关键词: 存储系统, 非易失性存储I/O栈, 固态硬盘, 轮询, 中断

Abstract:The latency of solid-state drive (SSD) has improved dramatically in recent years. For example, an ultra-low latency SSD can process 4 KB data in 10 microseconds. With this low latency, how to reap the I/O completion efficiently becomes an important issue in modern storage systems. Traditional storage systems reap I/O completion through hardware interrupt, which introduces extra context switches overhead and further prolongs the overall I/O latency. Existing work use polling as an alternative to the hardware interrupt, thereby eliminating the context switches, but at the cost of high CPU consumption. This paper proposes a CPU-efficient and low-latency storage engine namely NIO, to take full advantage of the ultra-low latency SSDs. The key idea of NIO is to separate the I/O paths of short I/Os from that of long I/Os; NIO uses classic hardware interrupt for long I/Os, as polling long I/Os does not bring significant improvement but incurs huge CPU overhead; for short I/Os, NIO introduces lazy polling, which lets the I/O thread sleep for a variable time interval before continuously polling, thereby achieving low latency with low CPU consumption. NIO further introduces transaction-aware I/O reaping mechanism to reduce the transaction latency, and a dynamic adjustment mechanism to cope with the dynamic changes of the workload and internal activities of the device. Under dynamic workloads, NIO shows comparable performance against polling-based storage engine while reducing the CPU consumption by at least 59%.

Key words: storage system, non-volatile memory express (NVMe) I/O stack, solid-state drive, polling, interrupt

latency:n.延迟
ultra-low:adj.超低的
microseconds:n.微秒
reap:v.获得,使得
completion:n.完成
switches overhead:n.切换开销
prolong:n.延长
pooling:n.轮询
eliminate:v.消除
engine:n.引擎
incur:v.导致
thread:n.线程
reaping mechanism:n.收获机制
workload:n.工作负载
device:n.装置
non-volatile:adj.非易失性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值