一种表征高性能计算应用特征的方法

文档序号:6379142阅读:189来源:国知局
专利名称:一种表征高性能计算应用特征的方法
技术领域
本发明涉及高性能计算领域在应用软件性能表征方面的内容,具体涉及一种利用监视和提取合适的高性能参数,最合理的反映大规模应用软件对计算资源需求的方法。
背景技术
随着人类社会的不断进步,科学技术的发展,人们不但对自然界的认识越来越广泛,而且对未知世界探索的需求也越来越迫切。这就使得人类撑握的信息数据的量急剧性的增长,而与时同时,这些海量的信息数据都需要及时的分析和处理。例如,一个大型天文射电望远镜阵列一秒钟就能产生100GB以上的宇宙微波数据,这些数据都需要及时得到分析;再如,在粒子物理研究领域,一台大型强子对撞机一次对撞的数据也是以TB为单位来 计量的;此外,像人类基因组工程、石油勘探、天气预报等等领域也对计算能力提出了越来越高的要求。在这种大背景下数值计算已然成为了除实验、理论分析之外的第三种极其重要的科学探索手段。正是基于这样的现实,促使了当今世界各个科技强国都在不遗余力的大力发展超级计算机。如,在2012年6月发布的世界T0P500中,排名第一的IBM “红杉(Sequoia)”就已经达到了 20PFlops的峰值速度,而与此同时新的百亿亿次超级计算机也已经在研究和规划之中了。总的来说,基本上每十年,超级计算机的速度就提升三个量级(1000倍),因此建造超级计算机的能力已经成为一个国家科技水平和综合国力的一个有力体现。虽然超级计算机发展的速度是惊人的,也令人欣慰,但很遗憾的是与之相配套的软件技术却裹足不前,这已经严重的制约了超级计算机应用能力的发挥。现在绝大多数的应用软件所基于的基本原理和数学算法,还是上世纪50飞0年代提出和发展起来的,这些算法与当时的大型机是完全匹配和适应的,以串行或少量进程间并行为主。但经过50多年的发展,现在的超级计算机体系结构已经发生了翻天覆地的变化,动辄拥有几十万乃至上百万的CPU核,而且还有相当一部分超级计算机是使用的混合异构(CPU+GPU/MIC等)的体系架构,这就使得早期的物理模型和数学算法力不从心、无法胜任。这就是现在绝大多数的应用软件效率低下、可扩展性差的主要原因。要破解现在的这些难题,一方面,我们应该大力研究和发展新的与现今超级计算机体系结构相匹配的物理模型和数学算法,这是突破现有瓶颈的终极手段,但这毕竟是一项极其困难的课题,无法在短时间内见到成效并实现大规模应用;另一方面,我们应着手研究现在所继承下来的、海量的应用软件,合理的表征它们的运行特征,找出它们的性能瓶颈,最大限度的在现有平台上发挥这些应用的性能,此外还能为应用性能的改进和突破提供有力的依据。因此,如何合理、科学的表征应用的特征就是本发明所要解决的主要问题。

发明内容
本发明的目的是提供一种表征高性能计算应用特征的方法。本发明的目的是按以下方式实现的,本发明要解决的技术问题是设计一种快速、高效的表征高性能计算中应用程序运行特征的方法,从而迅速、精确的定位应用程序对计算资源的需求量,最大限度的发挥应用程序的性能。针对现行高性能计算机体系架构及计算应用的特点,将对应用运行特征的表征过程大体划分为两个主要步骤,即,I)为应用程序运行对计算资源占用的监控和数据提取,2)为对所采集数据的分析和后处理,对于前者,根据高性能计算平台的架构特点,从后台运行监控器,实现对应用程序计算资源占用情况的实时监控,并提取数据,它不但要针对不同架构的硬件平台,更要求监控器对资源的占用微乎 其微,不能影响到被监控程序的正常运行;而对于后者,根据硬件平台的特点设定合理的参照量,从所监控的海量数据中选取合适的参照量进行分析,以定位应用程序对计算资源的需要水平,要求有统一标准的对海量数据的分析处理能力;具体分析、组织流程如下
1)确定软、硬件平台是指根据所要表征的应用软件,选择合适的硬件平台,并部署好相应的系统、数学库、监控器等软件环境,在这里硬件平台的性能应尽可能的平衡,并且尽可能的留有一定的资源余量;
2)运行监控器是指在流程I)中所部署好的硬件平台上,在主、从节点分别运行资源监控器;这里资源监控器应满足从所有的计算节点上实时监控应用资源占用量的功能,包括但不限于CPU使用率、内存占用量、实时IO带宽、网络吞吐,它应用完整涵盖所监测硬件平台的所有资源;
3)从节点向主控节点发送监控数据主控节点和从节点是针对监控来说的,它是一个相对的概念,主控节点亦可同时是从节点,它主要完成对监控数据的接收,而从节点则是监控自身资源占用情况并负责向主控节点发送监控数据,如果主控节点没有正常接收到数据就需要返回流程1),以重新确定软、硬平台的状态可用;
4)在被监控的节点上运行所要表征的应用程序;
5)实时监控应保证所监控的数据真实有效,如数据失真则应返回流程2);
6)确定分析标准根据所运行应用程序的硬件平台的硬件特点,来确定参照值,若应用是在千兆网络下运行,则应取千兆网络的带宽上限125MB/S作为参照值,若使用是的Infiniband网络,则应用取所使用HCA卡的上限值作为参考其他指标参数的确定方法与此同;
7)生成表征特征根据监控数据,计算平均值或选取最大值,并与参照标准相比,所得比值即为该项的表征结果,不同的应用每一项都有不同的表征结果,对于应用的网络表征,计算应用运行期间的网络流量平均值或最大值,并与标准参照值相比,即为该应用的表征结果。本发明的有益效果是本发明充分利用了高性能计算的特点,深度探索和挖掘了应用程序对计算资源的需求程度,且以极微弱的资源占用量并不影响被分析应用程序的正常运行。该方法可以快速的表征应用的特征,极大的发挥了现有海量应用的计算性能。


图I是计算分析方法流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。本发明针对现行高性能计算机体系架构及计算应用的特点,将对应用运行特征的表征过程大体划分为两个主要步骤,即,一为应用程序运行对计算资源占用的监控和数据提取,二为对所采集数据的分析和后处理。对于前者,主要是根据高性能计算平台的架构特点,从后台运行监控器,实现对应用程序计算资源占用情况的实时监控,并提取数据,它不但要针对不同架构的硬件平台,更要求监控器对资源的占用微乎其微,不能影响到被监控程序的正常运行;而对于后者,主要是根据硬件平台的特点设定合理的参照量,从所监控的海量数据中选取合适的量进行分析,以定位应用程序对计算资源的需要水平,它主要要求统一标准的对海量数据的分析处理能力。具体来说,大体可分为如下几个步骤
1.依据计算平台部署监控器;
2.从主控节点启动监控器,依次收集计算节点的特征参数;
3.运行指定的应用程序;
4.结束对应用的监控,退出监控环境;
5.依据硬件平台设定参照标准;
6.分析处理监控数据。为了使本发明的目的、技术方案和优势更加清晰,我们以使用CPU的应用程序在两个节点上的特征表征过程为例,并结合附图,对本发明中的关键步骤进行详细说明,对于使用更多计算节点,或使用GPU/MIC等异构体系的应用程序的表征方式与之相同。
实施例如附图I所示,给出了本发明所涉及的分析流程的示意图。其基本的分析、组织流程如下
1.确定软、硬件平台。主要是指根据所要表征的应用软件,选择合适的硬件平台,并部署好相应的系统、数学库、监控器等软件环境。在这里硬件平台的性能应尽可能的平衡,并且尽可能的留有一定的资源余量;
2.运行监控器。主要是指在流程I中所部署好的硬件平台上,在主、从节点分别运行资源监控器。这里资源监控器应满足从所有的计算节点上实时监控应用资源占用量的功能,包括但不限于CPU使用率、内存占用量、实时IO带宽、网络吞吐等等,它应用完整涵盖所监测硬件平台的所有资源;
3.从节点向主控节点发送监控数据。主控节点和从节点是针对监控来说的,它是一个相对的概念,主控节点亦可同时是从节点,它主要完成对监控数据的接收,而从节点则是监控自身资源占用情况并负责向主控节点发送监控数据。如果在本步中主控节点没有正常接收到数据就需要返回流程1,以重新确定软、硬平台的状态可用;
4.在被监控的节点上运行所要表征的应用程序;
5.实时监控。这里主要应保证所监控的数据真实有效,如数据失真则应返回流程2;
6.确定分析标准。主要是指根据所运行应用程序的硬件平台的硬件特点,来确定参照值。如,若应用是在千兆网络下运行,则应取千兆网络的带宽上限(125MB/S)作为参照值,若使用是的Infiniband网络,则应用取所使用HCA卡的上限值作为参考。其他指标参数的确定方法与此同;7.生成表征特征。主要是指根据监控数据,计算平均值(或选取最大值等,依据特定场合而定)并与参照标准相比,所得比值即为该项的表征结果,不同的应用每一项都有不同的表征结果。例如,对于应用的网络表征,计算应用运行期间的网络流量平均值(或最大值等),并与标准参照值相比,即为该应用的表征结果。本发明所采用的分析方法可以极大的反映出应用程序的运行特征,从而快速的把握应用对计算资源的占用,以及应用的扩展性等等,从而准确定位可以最大程度发挥应用性能的硬件平台,实现应用性能 最大化。除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1.一种表征高性能计算应用特征的方法,其特征在于针对现行高性能计算机体系架构及计算应用的特点,将对应用运行特征的表征过程大体划分为两个主要步骤,即,I)为应用程序运行对计算资源占用的监控和数据提取,2)为对所采集数据的分析和后处理,对于前者,根据高性能计算平台的架构特点,从后台运行监控器,实现对应用程序计算资源占用情况的实时监控,并提取数据,它不但要针对不同架构的硬件平台,更要求监控器对资源的占用微乎其微,不能影响到被监控程序的正常运行;而对于后者,根据硬件平台的特点设定合理的参照量,从所监控的海量数据中选取合适的参照量进行分析,以定位应用程序对计算资源的需要水平,要求有统一标准的对海量数据的分析处理能力;具体分析、组织流程如下 O确定软、硬件平台是指根据所要表征的应用软件,选择合适的硬件平台,并部署好相应的系统、数学库、监控器等软件环境,在这里硬件平台的性能应尽可能的平衡,并且尽可能的留有一定的资源余量; 2)运行监控器是指在流程I)中所部署好的硬件平台上,在主、从节点分别运行资源监控器;这里资源监控器应满足从所有的计算节点上实时监控应用资源占用量的功能,包括但不限于CPU使用率、内存占用量、实时IO带宽、网络吞吐,它应用完整涵盖所监测硬件平台的所有资源; 3)从节点向主控节点发送监控数据主控节点和从节点是针对监控来说的,它是一个相对的概念,主控节点亦可同时是从节点,它主要完成对监控数据的接收,而从节点则是监控自身资源占用情况并负责向主控节点发送监控数据,如果主控节点没有正常接收到数据就需要返回流程1),以重新确定软、硬平台的状态可用; 4)在被监控的节点上运行所要表征的应用程序; 5)实时监控应保证所监控的数据真实有效,如数据失真则应返回流程2); 6)确定分析标准根据所运行应用程序的硬件平台的硬件特点,来确定参照值,若应用是在千兆网络下运行,则应取千兆网络的带宽上限125MB/S作为参照值,若使用是的Infiniband网络,则应用取所使用HCA卡的上限值作为参考其他指标参数的确定方法与此同; 7)生成表征特征根据监控数据,计算平均值或选取最大值,并与参照标准相比,所得比值即为该项的表征结果,不同的应用每一项都有不同的表征结果,对于应用的网络表征,计算应用运行期间的网络流量平均值或最大值,并与标准参照值相比,即为该应用的表征结果。
全文摘要
本发明提供一种表征高性能计算领域各行业应用软件运行特征的方法。该方法全方位考查了应用程序在输入、存储、处理、传输以及输出这五个环节的负载压力,依次将应用划分为计算密集型、内存约束型、I/O密集型以及网络密集型等四个大的类别。通过这四个方面定量表示,充分表现了应用对CPU占用、内存容量、内存吞吐、输入/输出以及网络数据交换等方面的资源需求,最大化的反映了应用软件运行特征。本发明简单、实用、可靠、高效,可以非常直观的反映一款应用软件对高性能硬件资源的需求量。使得该应用可以在合适的高性能平台上运行,进而最大限度的发挥应用软件的性能。依据该特征,可以有的放矢的改进和突破该应用软件的性能瓶颈,提高应用的扩展性。
文档编号G06F11/30GK102945198SQ20121039897
公开日2013年2月27日 申请日期2012年10月19日 优先权日2012年10月19日
发明者刘羽, 金莲, 吕文静, 于涛 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1