论文部分内容阅读
当前,多核处理器已经广泛应用于从巨型机、桌面处理器到移动终端等各个计算领域,计算技术已经全面迈入多核和众核时代。本文回顾了高性能微处理器的发展趋势:工艺的影响、体系结构的影响、功耗的因素、应用的变化;提出了迎接多核处理器所带来的挑战与机遇:多核并行结构问题、访存瓶颈问题、功耗问题、支持并行的片上互连问题、多核并行编程问题。本文以当前的多核体系结构为基础,从软硬件协同的角度,研究面向多核体系结构的并行优化关键技术,从面向多核的线程级前瞻(Thread Level Speculation,简称TLS)并行优化模型、面向多核线程级并行优化的Cache一致性协议及存储体系结构、多核片上网络结构、线程级和数据级并行优化的同步数据触发多核体系结构等方面进行了研究。论文取得的研究成果和主要创新点描述如下:1.提出了一种面向多核轻量的线程级前瞻并行优化模型。该轻量级模型基于数据链表支持线程级前瞻,包含了并行编程模式、线程前瞻并行设计、前瞻并行调优方法、软硬件数据链表实现等方面。所设计的并行编程模式较以往系统更加简洁,利于编译自动化,线程前瞻并行设计能有效维持整个并行程序的正确执行,数据链表的设计带来了良好的独立性。本文提出了固定长度寄存器向量链表和基于高速缓存的有序链表两种硬件改进方案,硬件实现容易且高效。实验证明,在核数较少的多核体系结构上该轻量级模型具有其他线程前瞻模型相似的良好加速效果,同时具有设计独立、灵活等特点。2.提出了一种面向多核结构线程级并行优化的Cache一致性协议及存储体系结构。该协议有效解决了集中检测机制带来的访问瓶颈问题,为各核之间线程级前瞻提供了一种分布式协同方式,为TLS在更多核心的处理器之上应用带来了理论与验证基础。本文对所提出的一致性协议进行了完备性进行了证明,并进行了功能验证和性能测试实验。实验结果表明在核数较少时具有和集中检测模型相似的性能,在更多核心时具有明显的可扩展优势,同时可以极大地减少重启线程次数。在此基础上,本文还提出了支持线程级前瞻的存储体系结构,在二级Cache中设置了前瞻线程恢复缓冲区解决了该一致性协议在线程切换上支持不足的问题。3.提出了一种多核片上网络中线程间数据通信性能理论分析模型,以及一种面向线程间通信的可编程片上网络结构。本文首先从宏观角度提出了一种线程间数据通信性能理论分析模型,分析了在片上网络中高优先级多播报文的通信性能特点与对其它种类报文的影响。本文的方法基于随机网络演算理论,推导得出多播报文在传播过程中的中间路由的缓存上界以及端到端的延迟上界,该模型为片上网络中数据通信的性能分析提供了切合实际的理论基础。随后,为了支持不同优先级报文,根据软件定义网络的思想,作者首次提出了一种多核体系结构中软件定义的片上网络结构,该结构将网络控制层和数据转发层分离开来。使用者可以灵活地对片上网络进行编程,根据线程间通信的需求对网络进行配置,从而提高片上网络性能。4.提出了一种高效线程级和数据级并行的同步数据触发多核体系结构。该多核体系结构基于传输触发结构,结合同步数据触发思想,具有线程级前瞻执行原理、线程级前瞻Cache一致性及存储体系结构,各核之间采用面向线程间通信的可编程片上网络,处理单元内依据本文提出的编译优化策略充分挖掘数据级并行,计算内核可以根据应用而优化配置。然后,在该多核体系结构上实验H.264一系列接口程序,得到了较好的线程级、数据级并行优化效果。实验结果表明该结构是一种适用于数据密集计算的高性能多核体系结构。当前多核体系结构已经逐步占据了各个计算领域,但是针对多核结构并行技术的有效性直接限制了这种体系结构的实用性和发展性。本文通过围绕多核结构展开一系列并行优化技术的研究,采取了软硬件协同的方式,通过设计、实验验证,获得了在各自应用场景的有效性。这些关键技术的研究,为未来多核处理器的设计与应用提供了有意义的探讨。