论文部分内容阅读
随着集成电路技术的迅猛发展和应用需求的强力推动,片上系统逐渐由基于总线的单核或少量多核结构发展到基于片上网络的大量多核(众核)结构。由于每个处理器核和路由器完全相同,同构众核处理器具有非常好的规整性和可扩展性,易于挖掘多个处理器核协同并行工作的潜力。同构众核处理器在带来强大并行计算能力的同时,也对体系结构的设计提出了新的挑战。其中如何提供有效的存储管理和高效的同步机制以便能充分挖掘同构众核处理器的并行性能,已经成为同构众核体系结构设计领域的重要课题。本文首先分析了同构众核处理器的结构特征和并行程序行为,构建了同构众核处理器平台和性能评价模型。然后,从“片上可编程存储管理技术”和“高效双通道硬件同步机制”两大方面对同构众核处理器的存储和同步问题进行了深入细致的研究。本文对提出的“面向分布式共享存储的数据管理引擎”、“混合式分布式共享存储空间的静态和动态划分技术”、“基于动态缓冲分配的双通道快速信号灯同步机制”和“基于协同通信的双通道快速栅栏同步机制”从统计硬件开销、建立性能评价函数以及开展综合激励实验和应用程序实验等多个方面进行了详细的性能评测。本文的主要工作与创新点体现在以下几个方面:1)通过引入等效串行报文和等效串行通信的概念建立了量化的网络通信模型,进而建立了在均匀和热量两种网络流量下的同构众核处理器性能评价模型,并得出在结构设计和程序开发上如何权衡“核间并行—网络通信”性能矛盾体的建议,指导后续研究工作的开展。2)为了增强同构众核处理器的适用范围,采用微代码方法[1]设计并实现了数据管理引擎,用于片上分布式共享存储管理。数据管理引擎允许使用者通过微代码编程方式根据不同的应用实现各种不同的功能。在结构上,采用双协处理器设计,并发处理来自本地节点和通过片上网络来自远程节点的请求。在编程上,提出了基于命令触发的微代码执行机制,开发了微代码函数库和微代码编程流程。结合微代码编程流程,本文通过微代码实现了分布式共享存储功能。实验结果表明,随着网络规模的扩大,数据管理引擎引入的延迟开销与网络通信开销相比非常小。本文提出的微代码解决方案的延迟开销控制合理,延迟效率接近纯硬件解决方案,同时具有与纯软件解决方案相同的灵活性。3)为了降低虚地址向实地址转换的开销对系统性能的影响,提出了一种混合式的分布式共享存储空间,并开发了该空间的静态和动态划分技术。在混合式分布式共享存储空间中,本地存储器划分为私有和共享两部分,并且采用物理和逻辑两种寻址模式。这样设计的理念是:对共享数据采用全局寻址的虚地址访问,同时对私有数据采用快速寻址的实地址访问。在静态划分技术下,混合式分布式共享存储空间的构成在系统设计时确定,在系统运行时不会发生任何改变。在动态划分技术下,混合式分布式共享存储空间的私有区域和共享区域可在系统运行时根据并行程序中数据的属性进行动态调整。实验结果表明,与传统分布式共享存储空间相比,混合式分布式共享存储空间具有性能优势。在我们的实验中,性能的提升比例最高为37.89%,最低为3.68%。4)为了降低信号灯同步串行化对系统性能的影响,从消除头阻塞和提高缓冲利用率角度出发,提出了一种基于动态缓冲分配的双通道快速信号灯同步机制。每个节点包含一个基于动态缓冲分配的双通道快速信号灯同步模块。该模块提供了一组同步锁变量,全局寻址和对所有节点可见。该模块并发响应来自本地节点和通过片上网络来自远程节点的同步请求,并动态分配缓冲资源,在逻辑上形成多个与同步变量一一对应的虚拟缓冲,目的是消除头阻塞和提高缓冲利用率。实验结果显示,与旋转锁相比,该同步机制性能较优,为同构众核处理器提供了一个高效快速的信号灯同步解决方案。5)为了降低栅栏同步串行化对系统性能的影响,从优化网络通信开销角度出发,提出了一种基于协同通信的双通道快速栅栏同步机制。在该方法下,栅栏同步报文以广播的方式在片上网络中快速传输并且在传输过程中通过不断合并消除栅栏获取同步间的网络竞争。在路由器中设计了协同通信模块,用于支持栅栏同步报文的协同通信。在协同通信过程中,路由器彼此协同工作,共同完成一次快速高效的栅栏同步。实验结果表明,在协同通信方法下,all-to-all算法由性能最差变为性能最佳的栅栏同步算法,具有非常好的可扩展性。