高级检索

    面向SCSI子系统的用户空间存储架构设计

    Design of User Space Storage Architecture for SCSI Subsystem

    • 摘要: 近年来存储行业经历了巨大的变革,以固态硬盘(solid state drive, SSD)为代表的半导体存储设备迅猛发展,在性能上显著超越了通过磁头移动寻址的机械硬盘(hard disk drive, HDD). 目前支持SSD的2种协议主要包括非易失性内存主机控制器接口规范(nonvolatile memory express, NVMe)协议与串行SCSI(serial attached small computer system interface, SAS)协议,即SAS. NVMe是专为SSD设计的高性能存储协议,能够很大限度地发挥SSD的性能;而SAS协议则充分考虑数据中心的需求,在提供高可靠性与高可扩展性的同时,兼顾了系统性能与成本的平衡. 相对于日益增速的存储介质,针对慢速存储设备所设计的软件栈在一次I/O过程中所耗费的时间开销愈发显著. 针对该问题学界及工业界都相继提出了众多解决方案,例如Intel提出的高性能存储开发包(storage performance development kit, SPDK)通过将设备驱动实现在用户空间,并采用轮询感知I/O完成等方式大幅度缩短了NVMe SSD对应用程序的响应时间,极大地提升了整个系统的整体性能. 然而之前的研究工作针对SAS SSD存储软件栈的优化非常有限,为此在用户空间实现了针对SAS SSD的软件栈优化. 实验结果表明,该优化能够有效缩短存储设备对应用程序的响应时间,提高应用对存储设备的访存效率. 此外,为了准确评估I/O栈中存储设备的时间开销,硬件性能测试工具HwPerfIO被提出,能够消除大部分软件开销的影响以测得更加准确的存储设备性能.

       

      Abstract: For the past few years, the storage industry has undergone tremendous changes. Semiconductor storage devices, like solid state drives (SSDs), have flourished and are able to completely outperform traditional hard disk drives (HDDs), addressing data by moving magnetic head. Nowadays. The mainstream protocols supporting SSDs are NVMe and SAS, NVMe is a high-performance storage protocol designed specifically for SSDs that can maximize the performance of SSDs; while the SAS protocol fully considers the requirements of data centers, providing high reliability and high scalability while considering the balance between system performance and cost. Compared with the increasingly fast storage media, the time overhead of the software stack designed for slow storage devices in an I/O process is becoming increasingly significant. To address this issue, numerous excellent works have been proposed by academia and industry. For example, Intel's SPDK (storage performance development kit) has greatly shortened the response time of NVMe SSD to applications by implementing device drivers in user space and polling I/O completion, extremely improving the performance of the entire system. However, previous research on the optimization of SAS SSD storage software stack is very limited. Therefor the SAS software stack optimization for SSD is implemented in user space. Experimental result shows that this optimization can effectively improve the data access efficiency with applications and storage devices. Besides, aiming to accurately evaluate the time cost of storage devices in I/O stack, a hardware performance testing tool HwPerfIO is proposed, which can eliminate the impact of most software overhead to measure the more accurate storage equipment performance.

       

    /

    返回文章
    返回