近年来存储行业经历了巨大的变革,以固态硬盘(solid state drive, SSD)为代表的半导体存储设备迅猛发展,在性能上显著超越了通过磁头移动寻址的机械硬盘(hard disk drive, HDD).目前支持SSD的2种协议主要包括非易失性内存主机控制器接...近年来存储行业经历了巨大的变革,以固态硬盘(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被提出,能够消除大部分软件开销的影响以测得更加准确的存储设备性能.展开更多
随着新型非易失存储介质的出现,软件I/O栈的开销已经成为存储系统的性能瓶颈.首先详述了基于磁盘的传统I/O栈的各个软件层次和请求经过I/O栈的一般流程.在分析了传统I/O栈在闪存(flash)、相变存储器(phase change memory,PCM)等新型非...随着新型非易失存储介质的出现,软件I/O栈的开销已经成为存储系统的性能瓶颈.首先详述了基于磁盘的传统I/O栈的各个软件层次和请求经过I/O栈的一般流程.在分析了传统I/O栈在闪存(flash)、相变存储器(phase change memory,PCM)等新型非易失存储介质构成的存储系统中存在的问题后,对专门为PCIe固态硬盘(solid state drive,SSD)设计的高性能主机控制器接口——NVMe接口及基于该接口的I/O栈、请求流程进行了详细介绍.最后,针对相变存储器、阻变存储器(resistive randomaccess memory,RRAM)和自旋转移矩磁阻随机存储器(spin-transfer torque magnetic random access memory,STT-MRAM)等下一代存储介质,对I/O栈在中断使用、文件系统权限检查等方面带来的性能问题进行了详细分析,指出未来I/O栈设计要考虑的问题.展开更多
随着内存密集型应用的快速发展,应用对单机内存容量的需求日益增大.然而,受到颗粒密度的限制,内存容量的扩展度较低.页交换机制是进行内存扩展的经典技术,该机制通过将较少使用的内存页面暂存在存储设备,以达到扩展内存的目的.过去页交...随着内存密集型应用的快速发展,应用对单机内存容量的需求日益增大.然而,受到颗粒密度的限制,内存容量的扩展度较低.页交换机制是进行内存扩展的经典技术,该机制通过将较少使用的内存页面暂存在存储设备,以达到扩展内存的目的.过去页交换机制由于慢速磁盘的读写速度限制,无法被广泛应用.近年来,得益于超低延迟固态硬盘(solid state drive,SSD)的快速发展,页交换机制可以利用其低延迟的读写特性,提升页交换效率.然而,在低I/O延迟的情况下,传统页交换机制的I/O栈存在巨大的软件开销.首先对使用超低延迟SSD的Linux页交换机制进行测试与分析,发现现有页交换机制的主要瓶颈在于发送请求时存在队头阻塞问题、I/O合并和调度开销,以及内核返回路径上的中断处理和直接内存回收开销.基于分析结果,提出基于超低延迟SSD的页交换机制Ultraswap.Ultraswap在Linux I/O栈的基础上增加对轮询请求的处理,并降低I/O合并与调度开销,实现轻量级的I/O栈.基于Ultraswap的I/O栈,对内核页交换机制的换入与换出路径进一步优化.通过优化对缺页、直接内存回收的处理,降低页交换机制关键路径上的时间开销.实验结果表明Ultraswap在应用测试场景下相比Linux页交换机制能够提升19%的平均性能;在可使用内存比例为20%的情况下,Ultraswap可达到33%的性能提升.展开更多
文摘近年来存储行业经历了巨大的变革,以固态硬盘(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被提出,能够消除大部分软件开销的影响以测得更加准确的存储设备性能.
文摘随着新型非易失存储介质的出现,软件I/O栈的开销已经成为存储系统的性能瓶颈.首先详述了基于磁盘的传统I/O栈的各个软件层次和请求经过I/O栈的一般流程.在分析了传统I/O栈在闪存(flash)、相变存储器(phase change memory,PCM)等新型非易失存储介质构成的存储系统中存在的问题后,对专门为PCIe固态硬盘(solid state drive,SSD)设计的高性能主机控制器接口——NVMe接口及基于该接口的I/O栈、请求流程进行了详细介绍.最后,针对相变存储器、阻变存储器(resistive randomaccess memory,RRAM)和自旋转移矩磁阻随机存储器(spin-transfer torque magnetic random access memory,STT-MRAM)等下一代存储介质,对I/O栈在中断使用、文件系统权限检查等方面带来的性能问题进行了详细分析,指出未来I/O栈设计要考虑的问题.
文摘随着内存密集型应用的快速发展,应用对单机内存容量的需求日益增大.然而,受到颗粒密度的限制,内存容量的扩展度较低.页交换机制是进行内存扩展的经典技术,该机制通过将较少使用的内存页面暂存在存储设备,以达到扩展内存的目的.过去页交换机制由于慢速磁盘的读写速度限制,无法被广泛应用.近年来,得益于超低延迟固态硬盘(solid state drive,SSD)的快速发展,页交换机制可以利用其低延迟的读写特性,提升页交换效率.然而,在低I/O延迟的情况下,传统页交换机制的I/O栈存在巨大的软件开销.首先对使用超低延迟SSD的Linux页交换机制进行测试与分析,发现现有页交换机制的主要瓶颈在于发送请求时存在队头阻塞问题、I/O合并和调度开销,以及内核返回路径上的中断处理和直接内存回收开销.基于分析结果,提出基于超低延迟SSD的页交换机制Ultraswap.Ultraswap在Linux I/O栈的基础上增加对轮询请求的处理,并降低I/O合并与调度开销,实现轻量级的I/O栈.基于Ultraswap的I/O栈,对内核页交换机制的换入与换出路径进一步优化.通过优化对缺页、直接内存回收的处理,降低页交换机制关键路径上的时间开销.实验结果表明Ultraswap在应用测试场景下相比Linux页交换机制能够提升19%的平均性能;在可使用内存比例为20%的情况下,Ultraswap可达到33%的性能提升.