论文部分内容阅读
当高性能处理器集成核数达到16-64个核及以上时,其本质上已是一个TFlops的高性能并行计算机系统。芯片除了单独工作,又有连成更大的计算机系统的需求。一般在互连通信研究上重视处理器间的连接,但实际系统设计中其突出的问题是如何协同处理多核互连和运行时存储一致性。处理器核的连接需要协同分布式共享存储器的访问。在访问存储器时,保证多核存储层次的一致性和效率占用了互连通信相当多的软硬件资源,增加了运行中的延迟开销,降低了并行计算的效率和系统的可扩展性。因此必须要把数据传输和存储层次统一考虑,合理地处理好高速缓存的一致性。本文多角度分析应用程序数据相关特性,明确多/众核系统的性能瓶颈和优化方向,对存储子系统和互连子系统整体优化,提高数据存储、维护和通信的效率,降低硬件、时延和能耗开销,提高系统效能。首先,本文对具有代表性的多线程应用程序进行实验分析,跟踪统计多个维度的各项性能参数,包括工作集大小、数据共享特性、数据局部性、数据线程亲缘性、片上通信量、一致性维护等。通过分析各项性能参数,应用统计学方法分析特定性能参数的分布规律,理解各应用程序对存储资源的需求、一致性维护的需求、通信需求,剖析不同应用程序的差异,明确存储子系统和互连子系统的优化方向,为一致性和互连优化研究奠定基础。然后,本文基于应用程序通信量的统计分析,根据数据线程亲缘性信息,优化数据和线程的映射算法,提高数据的局部性,减少数据通信的开销,降低片上网络的能耗。应用程序的统计分析表明,各应用程序不同的线程和数据之间亲缘性存在较大差异,表现为通信需求不同;数据和线程在系统中的映射方式直接影响着通信量的大小。本文提出线程数据亲缘性感知的映射算法,整体优化数据和线程的映射,保证负载的均衡,采用模拟淬火算法,使通信量逼近最小值。16路片上多核系统的多线程应用仿真结果表明,通信量平均降低一倍,网络能耗减少42%,系统性能提升9%。接着,本文针对多线程应用程序一致性维护的需求和通信的需求,对片上互连通信与缓存一致性进行协同设计,提升一致性维护和数据通信的效率,降低一致性维护开销,减少数据访问和通信的时延。应用高速片上传输线,结合传统网格网络,构建片上异构互连系统,根据消息的时延敏感性动态选择不同的传输媒介。通过在线跟踪数据时间局部性,自适应调整数据的存储策略和一致性维护策略,提升存储系统的资源利用率。16路片上多核系统的多线程应用仿真结果表明,一致性维护的时延开销平均降低一个数量级,数据访问加速一倍,数据通信量减少32%,互连系统能耗降低一半,系统性能提升14%。最后,本文基于应用程序数据空间局部性和共享特性的分析,提出了自适应多粒度目录来降低一致性目录的硬件开销。不同于传统目录以单个高速缓存块为单位进行一致性维护,本文根据应用程序的空间局部性,实时动态调整一致性维护的粒度,采用单个目录条目管理连续地址空间区域的数据。与传统块条目结合,降低目录面积和硬件开销的同时避免虚假共享引起额外的一致性维护操作,实现更具表现力的目录高速缓存。本文将自适应多粒度目录扩展应用于大规模16片多核系统,提出减少缓存数据无效化操作的替换表设计,提升存储资源利用率。16片多核系统(共256个核)的仿真结果表明,一致性目录高速缓存的面积降低一个数量级,系统整体性能不受影响。本论文通过分析典型的多线程应用程序数据的特性,探索多/众核系统存储子系统和互连子系统的整体优化设计方法,提升了系统的数据存储、维护和通信效率,降低了系统的硬件开销、片上数据通信和访问时延、以及片上网络的能耗,提高了系统效能。