论文部分内容阅读
I/O系统是计算机与外界交流的通道,从计算机系统诞生起就在计算机系统中占有重要地位,以TPC系列和SPECWEB系列为代表的I/O密集型应用已经成为计算机系统应用的重要组成部分。与此同时高速I/O总线和高速I/O设备的发展也对高性能通用处理器的I/O处理能力提出了更高的要求。
本文从处理器结构设计的角度对提升处理器I/O性能进行了研究。首先,提升I/O系统可访问的存储层次的位置,使之高于处理器最后一级cache,不仅可以简化处理器硬件I/O一致性协议的实现,同时还为I/O系统利用处理器最后一级cache提高I/O性能提供了可能。其次,提出DMA Cache技术,使得处理器和I/O设备可以通过处理器最后一级cache和DMA Cache交换I/O数据。最后,针对以太网I/O应用使用片上Scratchpad Memory来消除以太网接收和发送过程中的基于每个帧的开销。
本文的主要贡献如下:
1.提出提升I/O系统可访问的存储层次的位置,使之从内存系统层次提升至高于处理器最后一级cache层次。I/O系统可访问的存储层次的位置的提升,不仅可以简化处理器硬件I/O一致性设计与实现,还为I/O系统利用处理器最后一级cache来提高I/O性能提供了可能。
2.通过对I/ODMA访存行为的分析,观察到I/O访存与CPU访存在行为上有很大不同。根据I/O设备和处理器在访存行为上的区别,提出使用DMA Cache技术在处理器中分离CPU数据和I/O数据,并使得I/O设备和处理器可以通过DMA Cache和处理器最后一级Cache交换I/O数据,从而提高I/O系统性能。实验结果表明,相对传统的Snooping Cache技术,DMA Cache可以得到平均34.8%,最大58.4%的性能提高。实验结果还发现,已有研究工作提出的被学术界和工业界广泛认可的Share Cache技术,虽然也能得到较高的I/O数据Cache命中率,但反而降低性能(最大-15.1%)。
3.针对网络I/O,已有研究工作都致力于消除基于每个字节和基于每个TCP包的开销。本文指出在以太网I/O中还存在一种基于每个以太网帧的开销无法被现有优化技术消除,并提出使用片上Scratchpad Memory技术来消除这种开销。这种Scratchpad Memory的实现只需要修改处理器最后一级cache的替换算法。在基于四核龙芯3号处理器的平台上的性能测试表明,基于每个以太网帧的开销的消除对短以太网帧能得到6.4%的性能提高。