论文部分内容阅读
中图分类号:TP393.01 文献标识码:A
当前,多核技术的不断发展和日渐成熟,使得处理器的性能得到巨大提升。但是对于存储设备来说,无论是速度还是容量都无法跟上这种步伐。随着处理器和其它子系统发展差距的日益加大,超级计算机的效率问题逐渐成为人们讨论和研究的热点,大部分的实际应用在超级计算机上的运行效率低下,几乎所有实际应用(气象、石油、机械等等)在超级计算机上的运行效率不到 10%,有的甚至低于 1%。正是由于这个原因,对超级计算机的评价已逐渐抛弃单纯的 Linpack 指标,而更加注重系统各个方面的性能,以及它们之间的平衡性。如何协调处理器、存储设备、互连网络之间的性能关系,以构建一个平衡的计算机系统,已经成为计算机系统设计的关键问题。Roadrunner 和 Cray XT5 率先跨入千万亿次门槛,使得世界各国纷纷加入到千万亿次超级计算机的研发队伍中来。目前,国际上已经开始在芯片、节点和系统不同层面探索和研制多核异构系统,如 nVidia 的 Tesla GPGPU 系统,英特尔和 AMD 开始研发的多核/众核异构芯片,以及众多厂商在研制的基于 FPGA 加速计算的节点级异构系统等等。然而,中国的最近一期 TOP100 显示,其排名前十的全部都是集群系统,这表明我国在新体系结构机器的引进和研制方面依然滞后,缺乏创新力度。
超级计算机系统应用领域日益广泛,天气预报、国防安全、石油勘探、计算流体力学、核武器研究等领域无不出现超级计算机的身影。超级计算机系统的进步极大地推动了这些应用的发展;反之,这些应用领域不断出现的新需求又直接刺激了超级计算机系统的研究与开发。超级计算机系统不仅对国民经济、社会发展以及国防现代化建设起直接推动作用,而且还是衡量一个国家经济技术综合实力的重要标志,已经成为当今世界发达国家竞相争夺的一个战略制高点。
一、超级计算机面临的挑战
虽然超级计算机的 Linpack 测试峰值在不断提升,并且 Roadrunner 和 Cray XT5 已率先跨入千万亿次门槛,但是超级计算机的发展依然受到严峻挑战。从 1976 年 Cray-1 计算机以后的系统设计开始失去平衡,特别表现在内存数据存取的时间延迟、Cache 带宽、内存带宽、I/O 带宽等方面的滞后。如果说在 10 万亿次计算时代我们可以基于商品化处理器部件、互连部件、存储部件、开源操作系统等构建工业标准化 Cluster 来满足在计算密集、I/O 密集等多个领域的应用需求,那么在未来几年,伴随着应用对计算能力的进一步需求,例如,在生物医学领域进行蛋白质电子态的计算、药物发明中的遴选过程、气象领域的短期天气预报、局部突发性灾难预报(如洪水、海啸)、天体物理学领域的超新星三维模拟等,这些应用都需要持续 100Tflop/s 以上的计算性能,有些应用甚至需要 1Petaflop/s 的持续计算性能,如果再基于 Cluster 架构来构建高性能计算机,将面临扩展性、可靠性、功耗、均衡性、可编程性、管理复杂性等诸多挑战。
由于系统结构设计的失衡,使得峰值速度不断提升与实际应用效率低下之间的矛盾一直没有得到解决,而且超级计算机研制、维护费用昂贵,牵扯到大量的人力、物力、财力,应用效率的低下是对资源的极大浪费。因此,如果能够在系统预研阶段通过一定的手段,预先判断设计方案的平衡性状况,发现影响性能的瓶颈或设计缺陷,将大大缩短研制周期、降低资金投入、规避研制风险,并最终有效地提高系统实际应用效率。
本课题来源于新型高性能计算机体系结构研究项目,以性能平衡性、工作负载特征、系统体系结构、系统评价方法为研究对象。借鉴控制论的相关理论,将超级计算机系统视为非线性高维大系统,用集合论的方法将其表示为 S={A,R},其中,S 为系统,A为元素集,即各部件,R 为关系集,即各部件间的相互关系及部件和负载特征间的关系,并建立一套性能平衡性预先评价体系,从平衡性的角度评判超级计算机的适用应用类型,发现系统的瓶颈和冗余,调整机器参数达到最佳状态,从而为设计高效的超级计算机系统提供指导和参考.概括的讲,本课题的意义和目的有如下几点:
(一)指导用户进行系统选择。应用先验的性能平衡性评价手段,使用户在了解自身应用特征的基础上,通过对比多个系统的性能平衡性状况,选择最适合自己应用的系统,从而提高系统应用效率。
(二)便于对系统进行有效改进。通过性能平衡性预先评价,能够发现已有系统的性能瓶颈和设计缺陷,提出改进方法。
(三)指导系统体系结构设计。对未来设计的系统进行性能平衡性预先评价,对比多套体系结构设计方案,达到系统设计性能的最佳配置。
二、本论文的讨论内容
影响超级计算机系统性能的主要因素有:系统设计、系统实现、系统对应的工作负载。:
(一)提出基于虚拟激励和模拟预测技术的性能平衡性预先评价方法。分析了当前性能平衡性的相关评价方法,针对基于基准测试程序性能平衡性评价方法在预先评价、综合评价以及使用灵活性等方面的不足,提出了基于虚拟激励和模拟预测技术的性能平衡性预先评价方法,保证了预测的精度,提高了使用的灵活性。
(二)典型应用工作负载分析及工作负载模型研究。超级计算机系统设计和制造的目的在于应用,应用程序的特征直接关系系统性能的优劣。为评价系统性能平衡性优劣,本文将应用类型归结为运算密集型应用、访存密集型应用、通信密集型应用,分析了 Linpack、Stream、PTRANS 三个典型基准测试程序的行为特征,提取了影响性能的主要负载特征,并在指令级对负载特征进行抽象化,建立了指令级工作负载模型,生成了典型应用虚拟激励,避免了基准测试程序应用覆盖面窄、使用不够灵活的缺陷。
(三)评价方法研究。为给出一个关于性能平衡性优劣的直观而统一的评价值,分析并借鉴了相关定性、定量评价方法,提出了失衡度的概念,从距离的角度评价系统性能平衡性优劣。
(四)典型系统性能平衡性评价。应用预先评价体系对蓝色基因L系统进行性能平衡性评价,确定系统适用应用类型,找出设计瓶颈,提出改进意见,验证了评价体系的有效性。
当前,多核技术的不断发展和日渐成熟,使得处理器的性能得到巨大提升。但是对于存储设备来说,无论是速度还是容量都无法跟上这种步伐。随着处理器和其它子系统发展差距的日益加大,超级计算机的效率问题逐渐成为人们讨论和研究的热点,大部分的实际应用在超级计算机上的运行效率低下,几乎所有实际应用(气象、石油、机械等等)在超级计算机上的运行效率不到 10%,有的甚至低于 1%。正是由于这个原因,对超级计算机的评价已逐渐抛弃单纯的 Linpack 指标,而更加注重系统各个方面的性能,以及它们之间的平衡性。如何协调处理器、存储设备、互连网络之间的性能关系,以构建一个平衡的计算机系统,已经成为计算机系统设计的关键问题。Roadrunner 和 Cray XT5 率先跨入千万亿次门槛,使得世界各国纷纷加入到千万亿次超级计算机的研发队伍中来。目前,国际上已经开始在芯片、节点和系统不同层面探索和研制多核异构系统,如 nVidia 的 Tesla GPGPU 系统,英特尔和 AMD 开始研发的多核/众核异构芯片,以及众多厂商在研制的基于 FPGA 加速计算的节点级异构系统等等。然而,中国的最近一期 TOP100 显示,其排名前十的全部都是集群系统,这表明我国在新体系结构机器的引进和研制方面依然滞后,缺乏创新力度。
超级计算机系统应用领域日益广泛,天气预报、国防安全、石油勘探、计算流体力学、核武器研究等领域无不出现超级计算机的身影。超级计算机系统的进步极大地推动了这些应用的发展;反之,这些应用领域不断出现的新需求又直接刺激了超级计算机系统的研究与开发。超级计算机系统不仅对国民经济、社会发展以及国防现代化建设起直接推动作用,而且还是衡量一个国家经济技术综合实力的重要标志,已经成为当今世界发达国家竞相争夺的一个战略制高点。
一、超级计算机面临的挑战
虽然超级计算机的 Linpack 测试峰值在不断提升,并且 Roadrunner 和 Cray XT5 已率先跨入千万亿次门槛,但是超级计算机的发展依然受到严峻挑战。从 1976 年 Cray-1 计算机以后的系统设计开始失去平衡,特别表现在内存数据存取的时间延迟、Cache 带宽、内存带宽、I/O 带宽等方面的滞后。如果说在 10 万亿次计算时代我们可以基于商品化处理器部件、互连部件、存储部件、开源操作系统等构建工业标准化 Cluster 来满足在计算密集、I/O 密集等多个领域的应用需求,那么在未来几年,伴随着应用对计算能力的进一步需求,例如,在生物医学领域进行蛋白质电子态的计算、药物发明中的遴选过程、气象领域的短期天气预报、局部突发性灾难预报(如洪水、海啸)、天体物理学领域的超新星三维模拟等,这些应用都需要持续 100Tflop/s 以上的计算性能,有些应用甚至需要 1Petaflop/s 的持续计算性能,如果再基于 Cluster 架构来构建高性能计算机,将面临扩展性、可靠性、功耗、均衡性、可编程性、管理复杂性等诸多挑战。
由于系统结构设计的失衡,使得峰值速度不断提升与实际应用效率低下之间的矛盾一直没有得到解决,而且超级计算机研制、维护费用昂贵,牵扯到大量的人力、物力、财力,应用效率的低下是对资源的极大浪费。因此,如果能够在系统预研阶段通过一定的手段,预先判断设计方案的平衡性状况,发现影响性能的瓶颈或设计缺陷,将大大缩短研制周期、降低资金投入、规避研制风险,并最终有效地提高系统实际应用效率。
本课题来源于新型高性能计算机体系结构研究项目,以性能平衡性、工作负载特征、系统体系结构、系统评价方法为研究对象。借鉴控制论的相关理论,将超级计算机系统视为非线性高维大系统,用集合论的方法将其表示为 S={A,R},其中,S 为系统,A为元素集,即各部件,R 为关系集,即各部件间的相互关系及部件和负载特征间的关系,并建立一套性能平衡性预先评价体系,从平衡性的角度评判超级计算机的适用应用类型,发现系统的瓶颈和冗余,调整机器参数达到最佳状态,从而为设计高效的超级计算机系统提供指导和参考.概括的讲,本课题的意义和目的有如下几点:
(一)指导用户进行系统选择。应用先验的性能平衡性评价手段,使用户在了解自身应用特征的基础上,通过对比多个系统的性能平衡性状况,选择最适合自己应用的系统,从而提高系统应用效率。
(二)便于对系统进行有效改进。通过性能平衡性预先评价,能够发现已有系统的性能瓶颈和设计缺陷,提出改进方法。
(三)指导系统体系结构设计。对未来设计的系统进行性能平衡性预先评价,对比多套体系结构设计方案,达到系统设计性能的最佳配置。
二、本论文的讨论内容
影响超级计算机系统性能的主要因素有:系统设计、系统实现、系统对应的工作负载。:
(一)提出基于虚拟激励和模拟预测技术的性能平衡性预先评价方法。分析了当前性能平衡性的相关评价方法,针对基于基准测试程序性能平衡性评价方法在预先评价、综合评价以及使用灵活性等方面的不足,提出了基于虚拟激励和模拟预测技术的性能平衡性预先评价方法,保证了预测的精度,提高了使用的灵活性。
(二)典型应用工作负载分析及工作负载模型研究。超级计算机系统设计和制造的目的在于应用,应用程序的特征直接关系系统性能的优劣。为评价系统性能平衡性优劣,本文将应用类型归结为运算密集型应用、访存密集型应用、通信密集型应用,分析了 Linpack、Stream、PTRANS 三个典型基准测试程序的行为特征,提取了影响性能的主要负载特征,并在指令级对负载特征进行抽象化,建立了指令级工作负载模型,生成了典型应用虚拟激励,避免了基准测试程序应用覆盖面窄、使用不够灵活的缺陷。
(三)评价方法研究。为给出一个关于性能平衡性优劣的直观而统一的评价值,分析并借鉴了相关定性、定量评价方法,提出了失衡度的概念,从距离的角度评价系统性能平衡性优劣。
(四)典型系统性能平衡性评价。应用预先评价体系对蓝色基因L系统进行性能平衡性评价,确定系统适用应用类型,找出设计瓶颈,提出改进意见,验证了评价体系的有效性。