论文部分内容阅读
随着对高性能计算需求的日益增强,对高性能计算机的架构与实现提出了越来越高的要求。提高系统的可编程性、可用性和系统综合效能,成为当前高性能计算机的设计目标。分布共享存储多处理机系统以其方便的编程环境和较好的可扩展性而成为高性能计算机体系结构发展的主流,CC-NUMA(Cache Coherent Non-UniformMemory Access)结构成为高性能计算领域实现高效能的重要体系结构。构造大规模CC-NUMA系统受诸多因素制约,其中Cache一致性协议是限制系统可扩展性的关键因素,同时也对系统性能产生重要影响。由于Cache一致性实现的复杂性,当前多数CC-NUMA系统规模较小,可扩展性有限。许多高性能计算平台利用CC-NUMA计算机构建集群,但这样严重影响了大系统的可编程性。因此为大规模CC-NUMA系统设计扩展性好、简洁高效的Cache一致性协议十分必要。本论文主要工作是针对基于SMP(Symmetric Multi-Processors)结点的大规模CC-NUMA新系统——SCCMP(Scalable Cache Coherence Multi-Processors)的要求,分析其体系结构特点,设计了可扩展、低复杂性和高效的Cache一致性协议,设计了可扩展的目录结构,实现并优化了与Cache一致性处理紧密相关的目录访问,提供了Cache一致性的高效消息传递通信支持,最后验证了协议的正确性及高效性。论文的具体工作和创新点如下:(1)研究了SCCMP的构成层次和结构特点,设计和实现了可扩展、高效的混合Cache一致性协议——HYSCC(HYbrid Scalable Cache Coherence)协议。HYSCC协议通过融合监听协议特点的可扩展目录协议实现,有效支持了SCCMP系统内部两个不同层次的Cache一致性实现要求,降低了协议设计的复杂性,实现协议的简洁高效。HYSCC协议通过多虚信道网络传输技术、非阻塞并发处理和精简协议消息类型等技术实现协议自身的高效性。HYSCC协议增加一类专门处理SMP结点内部脏数据共享的命令类型和协议处理方法,降低了SMP结点因内部共享导致脏数据副本写回所带来的协议处理复杂性,大大简化了SCCMP结点控制器内部协议设计的复杂度。(2)通过分析SCCMP系统中分布共享I/O访问对系统Cache一致性实现的影响,在HYSCC协议中设计和实现了支持I/O属性访问的Cache一致性命令类型和协议处理流程,设计和实现了I/O访问数据一致性的硬件维护机制,高效实现了全局共享I/O的并发访问。(3)研究了目录结构的可扩展实现方法,设计了符合SCCMP系统特点的有限指针(Dir5NB)和组合粗向量CCV(Combined Coarse Vector)的混合表示——Dir5NB+CCV的目录结构。该目录结构兼具指针和位向量表示的优点,在不同共享度时采用与之对应的共享信息表示格式,合理地减少了目录存储的开销。Dir5NB+CCV通过混合的多元化表示,在一定程度上降低了共享信息的非精确性,减少多余的失效开销,并且利于高速的硬件实现。(4)为缓解因目录访问而带来的数据访问冲突,设计了双体并行访问存储器结构和双目录Cache访问结构,优化目录访问和处理。SCCMP系统没有采用单独的目录存储器,利用双体并行访问存储器结构使得存储数据和对应目录的访问并行进行。为缓解由此带来的存储器访问压力,设计和实现了与双体并行访问存储器对应的双目录Cache结构,引入目录Cache访问层次,利用程序访问的局部性对目录访问进行优化。实验结果验证了双体并行访问存储器和双目录Cache结构对性能有大幅提升作用。(5)为高效支持消息传递编程模型,研究了在SCCMP系统中有效实现共享存储和消息传递相结合的通信方法,提出了层次的一致性消息通信模型。在SCCMP结点控制器一级提供消息传递通信接口,实现了无死锁的消息通信协议,实现了基于硬件的一致性块传输机制,支持高效的消息传递通信。(6)基于FPGA实现完成了SCCMP结点控制器的逻辑设计和协议验证。在四个结点的FPGA原型系统上进行NAS NPB等应用测试,验证了HYSCC协议的正确性。用ASIC实现了验证后的SCCMP结点控制器,并在64结点的ASIC原型系统上进行了性能测试。测试结果表明NAS NPB等应用运行正确;EP、SP、FT、MG等对存储带宽要求很高的应用在ASIC原型系统上呈现出良好的可扩展性;通信测试表明点点通信最大带宽在1.3GB/s以上,应用测试最大带宽在1.1GB/s以上,基于硬件一致性块传输实现使NPB MPI应用测试获得了更高的性能。(7)本研究成果适用于基于SMP超结点的CC-NUMA类型的大规模系统,并已在某重点工程中得到成功应用。