● 摘要
分布式共享存储为程序员提供了多节点的单一系统映像,是一种易于编程的体系结构。多核CPU通常支持共享存储,但支持较为有限:基于目录协议的多核CPU因为目录结构限制了扩展的规模,基于侦听协议的多核CPU因为访存时的消息广播导致扩展时有效率上的损失。本文集中探讨基于多核CPU的可扩展共享存储体系结构的可行性,从结构上解决如何直接基于现有的多核CPU实现高速缓存一致且性能可扩展的问题。就可行性展开体系结构设计,包括CC-NUMA系统总体结构、起高速缓存一致和互连功能的多核CPU外部辅助芯片结构、用于记录高速缓存行共享者信息的目录结构、加速共享存储通信的互连结构等。本文取得的主要研究成果如下:(1)针对基于多核CPU的体系结构进行理论构思时需要在哪些维度上进行考虑、如何在每个维度上权衡取舍的问题,研究了基于多核CPU的分布式共享存储体系结构的理论构思方法,具体分析了基于龙芯多核CPU的16路NUMA结构的计算机研制,作为构思方法的经验对照和结构设计的起点。(2)针对基于多核CPU的CC-NUMA结构的系统特征、关键性能参数、共享数据块的私有缓存数量具有怎样的特点的问题,进行了建模和分析,建立的模型区分了被访问频度不同的高速缓存块,研究了末级Cache共享和内存共享时共享数据块的私有缓存数量的分布律,作为目录结构设计的基础。(3)针对多核CPU直连时共享存储规模有限的问题,为了在不需要改变商用多核CPU结构的前提下将非共享存储的Cluster转变为CC-NUMA结构,设计了基于多核CPU及其片外辅助芯片的系统总体结构,设计了具有高速缓存一致和互连功能的多核CPU片外辅助芯片的结构。为了使设计的体系结构建立在当代的具体的多核处理器基础上且具有一般性,对比研究了基于目录协议和HT总线多核CPU、侦听协议和QPI总线多核CPU的可扩展共享存储体系结构。(4)针对决定着高速缓存一致协议中的每个操作触发的消息包的数量和每个操作完成时的总延迟的目录结构,为使得存储开销、对共享者的定位精度、设计复杂度较好,利用共享数据块的私有缓存数量的分布律的特点,提出了弹性指针目录结构。同时为了评估各种扩展方法,提出以下三个指标:一是用于作废的消息包的数量;二是进行作废操作时关键路径上消息包的数量,即关键路径的长度;三是系统的扩展最大规模。三个指标的综合分析表明,对于基于目录协议多核CPU的共享存储来说,(Full-map+coarse vector,Elastic Pointer Directory)是一种较好的扩展方法。对于基于侦听协议多核CPU的共享存储来说,(2-Bit Home snoop,Elastic Pointer Directory)是一种较好的扩展方法。(5)针对高速缓存一致性消息包及普通访存消息包通信的绝对延迟、由热区位置的拥塞导致的排队延迟等对共享存储结构的性能可扩展性会产生影响的问题,从热点位置的判别、增加热点链接的数量、增强热点链接的质量的角度,通过研究可扩展共享存储系统的互连结构,提出了“热点位置的链接数量增加和质量增强”的缓解热区的通信结构、一种路径多样性算法、链接熵的算法及基于链接熵的异构链接结构。从延迟、吞吐率等角度的分析和实验表明,设计的互连结构缓解了热点通信导致的延迟。本文的研究成果可用于服务器领域,不再需要传统的集中式交换机,实现了基于多核CPU的可扩展共享存储,同时可对FPGA、GPU等结构的共享存储提供借鉴。
相关内容
相关标签