一种监控计算应用软件运行效率的系统、装置及方法

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

【发明内容】
[0005]本发明所要解决的技术问题是提供一种监控计算应用软件运行效率的系统、装置及方法,能够使得计算应用软件运行在合适的硬件平台而提高运行效率。
[0006]为了解决上述技术问题,本发明提供了一种监控计算应用软件运行效率的系统,包括超级计算机平台及其上的计算应用程序运行装置和监控装置,其中:
[0007]超级计算机平台,用于在为计算应用程序运行装置提供计算资源的同时,为监控装置提供实现监控计算应用程序运行装置效率的硬件资源;
[0008]计算应用程序运行装置,用于在超级计算机平台将相应的计算应用程序运行在主节点和从节点上;
[0009]监控装置,用于在超级计算机平台的主节点和从节点上启动各自的监控器;根据从所有节点提取的物理参数和主节点发送的所有节点有效的监控数据运算计算应用程序运行装置的运行效率。
[0010]进一步地,监控装置包括依次连接的监控器启闭模块、节点监控器模组、软件运行效率计算模块以及节点参数提取模块,其中:
[0011]监控器启闭模块,用于根据超级计算机平台的节点数分别将节点监控器模组中的主节点监控器和多个从节点监控器启动在超级计算机平台运行计算应用程序的主节点、从节点上;
[0012]节点监控器模组,用于通过多个从节点监控器发送所处从节点运行计算应用程序的监控数据,由主节点监控器接收所有从节点有效的监控数据以及随同所处主节点运行计算应用程序的监控数据一起传输给软件运行效率计算模块;监控数据包括浮点运算速度、有效使用指令数以及有效时钟周期数;
[0013]节点参数提取模块`,用于提取超级计算机平台运行计算应用程序的主节点、从节点的物理参数,包括CPU默认的时钟频率、所使用的指令集信息以及节点内CPU物理核心数;将提取的各节点的物理参数传输给软件运行效率计算模块;
[0014]软件运行效率计算模块,用于根据各节点的物理参数计算各节点理论浮点运算速度和理论执行指令时的最小时钟周期数,并根据各个运行计算应用程序的节点的监控数据计算出实测的浮点运算速度和实测的执行指令时的最小时钟周期数;根据计算结果运算出计算应用程序运行装置运行所有计算应用程序的总体效率。
[0015]进一步地,
[0016]软件运行效率计算模块根据计算结果按如下公式运算出计算应用程序运行装置运行所有计算应用程序的总体效率:
[0017]
【权利要求】
1.一种监控计算应用软件运行效率的系统,包括超级计算机平台及其上的计算应用程序运行装置,其特征在于,还包括超级计算机平台上的监控装置,其中: 超级计算机平台,用于在为计算应用程序运行装置提供计算资源的同时,为监控装置提供实现监控计算应用程序运行装置效率的硬件资源; 计算应用程序运行装置,用于在超级计算机平台将相应的计算应用程序运行在主节点和从节点上; 监控装置,用于在超级计算机平台的主节点和从节点上启动各自的监控器;根据从所有节点提取的物理参数和所述主节点发送的所有节点有效的监控数据运算计算应用程序运行装置的运行效率。
2.按照权利要求1所述的系统,其特征在于,所述监控装置包括依次连接的监控器启闭模块、节点监控器模组、软件运行效率计算模块以及节点参数提取模块,其中: 监控器启闭模块,用于根据超级计算机平台的节点数分别将节点监控器模组中的主节点监控器和多个从节点监控器启动在超级计算机平台运行计算应用程序的主节点、从节点上; 节点监控器模组,用于通过多个从节点监控器发送所处从节点运行计算应用程序的监控数据,由主节点监控器接收所有从节点有效的监控数据以及随同所处主节点运行计算应用程序的监控数据一起传输给软件运行效率计算模块;监控数据包括浮点运算速度、有效使用指令数以及有效时钟周期数; 节点参数提取模块,用于提取超级计算机平台所述运行计算应用程序的主节点、从节点的物理参数,包括CPU默认的时钟频率、所使用的指令集信息以及节点内CPU物理核心数;将提取的各节点的物理参数传输给软件运行效率计算模块; 软件运行效率计算模块,用于根据所述各节点的物理参数计算各节点理论浮点运算速度和理论执行指令时的最小时钟周期数,并根据各个运行计算应用程序的节点的监控数据计算出实测的浮点运算速度和实测的执行指令时的最小时钟周期数;根据计算结果运算出计算应用程序运行装置运行所有计算应用程序的总体效率。
3.按照权利要求2所述的系统,其特征在于, 所述软件运行效率计算模块根据计算结果按如下公式运算出计算应用程序运行装置运行所有计算应用程序的总体效率:
4.按照权利要去3所述的系统,其特征在于, 所述软件运行效率计算模块在完成所述所有计算应用程序的总体效率的运算后,报告运算结果,并向所述监控器启闭模块输出监控器关闭指令; 所述监控器启闭模块根据输入的所述监控器关闭指令关闭所有监控器。
5.一种用在权利要求1所述的系统中的计算应用程序运行装置,其特征在于,包括依次连接的监控器启闭模块、节点监控器模组、软件运行效率计算模块以及节点参数提取模块,其中: 监控器启闭模块,用于根据超级计算机平台的节点数分别将节点监控器模组中的主节点监控器和多个从节点监控器启动在超级计算机平台运行计算应用程序的主节点、从节点上; 节点监控器模组,用于通过多个从节点监控器发送所处从节点运行计算应用程序的监控数据,由主节点监控器接收所有从节点有效的监控数据以及随同所处主节点运行计算应用程序的监控数据一起传输给软件运行效率计算模块;监控数据包括浮点运算速度、有效使用指令数以及有效时钟周期数; 节点参数提取模块,用于提取超级计算机平台所述运行计算应用程序的主节点、从节点的物理参数,包括CPU默认的时钟频率、所使用的指令集信息以及节点内CPU物理核心数;将提取的各节点的物理参数传输给软件运行效率计算模块; 软件运行效率计算模块,用于根据所述各节点的物理参数计算各节点理论浮点运算速度和理论执行指令时的最小时钟周期数,并根据各个运行计算应用程序的节点的监控数据计算出实测的浮点运算速度和实测的执行指令时的最小时钟周期数;根据计算结果运算出计算应用程序运行装置运行所有计算应用程序的总体效率。
6.按照权利要求5所述的装置,其特征在于,所述软件运行效率计算模块根据计算结果按如下公式运算出计算应用程序运行装置运行所有计算应用程序的总体效率:

7.按照权利要求6所述的装置,其特征在于, 所述软件运行效率计算模块在完成所述所有计算应用程序的总体效率的运算后,报告运算结果,并向所述监控器启闭模块输出监控器关闭指令; 所述监控器启闭模块根据输入的所述监控器关闭指令关闭所有监控器。
8.—种监控计算应用软件运行效率的方法,涉及超级计算机平台上的监控装置,该方法包括: 确定计算应用软件和监控装置运行的超级计算机平台,部署软件环境; 在确定的超级计算机平台上将相应的监控器启动在运行计算应用程序的主、从节点上;根据从所有节点提取的物理参数和主节点发送的所有节点有效的监控数据运算计算应用程序运行装置的运行效率。
9.按照权利要求8所述的方法,其特征在于,根据从所有节点提取的物理参数和主节点发送的所有节点有效的监控数据运算计算应用程序运行装置的运行效率,具体包括: 根据从各节点提取的物理参数计算各节点理论浮点运算速度和理论执行指令时的最小时钟周期数; 根据各个运行计算应用程序的节点的监控数据计算出实测的浮点运算速度和实测的执行指令时的最小时钟周期数;所述监控数据包括浮点运算速度、有效使用指令数以及有效时钟周期数; 根据计算结果按如下公式运算出计算应用程序运行装置运行所有计算应用程序的总体效率:
10.按照权利要求9所述的方法,其特征在于,还包括: 在完成所有计算应用程序的总体效率的所述运算后,报告运算结果,并关闭所有监控器。
【文档编号】H04L12/26GK103716210SQ201410007120
【公开日】2014年4月9日 申请日期:2014年1月7日 优先权日:2014年1月7日
【发明者】刘羽, 金莲, 吕文静, 于涛 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1