低CPU开销的低延迟存储引擎  被引量:1

A Low-Latency Storage Engine with Low CPU Overhead

在线阅读下载全文

作  者:廖晓坚 杨者 杨洪章[2] 屠要峰[2] 舒继武[1] Liao Xiaojian;Yang Zhe;Yang Hongzhang;Tu Yaofeng;Shu Jiwu(Department of Computer Science and Technology,Tsinghua University,Beijing 100084;ZTE Corporation,Nanjing 210012)

机构地区:[1]清华大学计算机科学与技术系,北京100084 [2]中兴通讯股份有限公司,南京210012

出  处:《计算机研究与发展》2022年第3期489-498,共10页Journal of Computer Research and Development

基  金:国家重点研发计划项目(2018YFB1003301);国家自然科学基金项目(61832011);中兴通讯股份有限公司合作项目(20182002008)。

摘  要:近些年来,固态存储的硬件处理速率得到了极大改善.一块超低延迟的固态存储盘能在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占用率.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%.

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

分 类 号:TP316[自动化与计算机技术—计算机软件与理论] TP333[自动化与计算机技术—计算机科学与技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象