一种适用于大规模集群的MPI并行程序负载问题三维可视化分析方法技术

技术编号:8532683 阅读:239 留言:0更新日期:2013-04-04 15:36
本发明专利技术公开了适用于大规模集群的MPI并行程序负载问题三维可视化分析方法,该方法首先对并行程序中的轮廓日志调用路径函数进行过滤,然后建立两级函数分组树形模型,再统计从叶节点向根节点统计每个进程的每个函数分组的总运行时间;从叶节点向根节点计算各个子节点与其父亲节点的负载相似度;根据计算出的总运行时间和负载相似度的结果,生成函数分组的三维柱状图。本发明专利技术的方法实现了按照两级函数分组树形模型,逐层分析,快速定位存在负载问题的函数。

【技术实现步骤摘要】

本专利技术涉及一种适用于大规模集群的负载问题的定位方法,更特别地说,是指一种采用三维可视化分析方法对大规模集群的MPI并行程序负载问题进行定位处理。
技术介绍
大规模集群是指CPU核心数超过1000以上的分布式计算机系统。随着大规模集群的不断涌现和并行应用的快速发展,对大规模并行程序的设计也提出了更高的要求。大规模并行程序,并行运行在一千个以上节点的并行系统上,执行过程复杂以及具有不可预见性,使得并行程序的实际性能与预期的性能往往有很大的差距,而并行计算的目的就是获得比程序串行执行更好的程序性能,如何充分发挥高性能计算机系统的效能,是并行程序设计者必须要考虑的事情。并行程序的执行与并行计算环境的各个组成部分,并行程序本身的设计以及它们之间的匹配程度,包括硬件体系结构、操作系统、程序设计语言、编译器、程序算法、消息传递库等各种要素的交互影响,使得获得好的并行计算性能成为程序设计者所面临的巨大的挑战。程序执行过程中的负载不平衡问题严重影响并行程序的执行性能,影响高性能计算机系统的效能发挥。负载平衡是指在并行系统中使各个节点尽量均衡地分配工作任务的技术,通过在处理机之间均衡地、合理地分配任务,以获得最大可能的执行速度。在大规模集群 (clusters)系统中,一个大任务通常被划分为不同的子任务,而后被分配到每个处理器节点并行执行。考虑到硬件性能、网络带宽、CPU利用率和内存利用率等方面的问题,程序在执行过程中,可能出现一些进程较早完成某阶段任务而处于空闲等待状态,而另外 一些进程则需要很长时间才能完成所分配的任务。这就产生了负载不平衡现象,从而造成执行程序的总进程时间的延长(总进程时间记为TtrtalX负载不平衡IB主要表现在执行程序的各个进程时间上的开销,则某一个进程的总进程时间^(ID表示进程的标识)的开销表达为^+rg +T11S,其中1^胃表示进程间通信的时间开销,Γ/i表示进程用于计算的时间开销,rf表示进程用于处理输入输出的时间开销。MPICMessage Passing Interface)并行程序依据进程间的通信分为阻塞通信BC、非阻塞通信NBC、集合通信COC及单边通信OSC ;MPI并行程序依据输入输出分为阻塞读BR、非阻塞读NBR、阻塞写BW及非阻塞写NBW。所述阻塞通信BC是指进程调用阻塞通信函数后,一直等到接收方成功接收消息,通信操作完全结束才返回。所述非阻塞通信NBC是指不必等待通信操作完全完成便可以返回,该通信操作可以交给特定的通信硬件去完成,在该通信硬件完成该通信操作的同时,处理机可以同时进行计算操作,实现计算和通信的重叠。所述阻塞通信BC和非阻塞通信NBC都是一对一的通信。所述集合通信COC是指特定的组内的所有进程参加通信,涉及多个发送方或者多个接收方,形成一对多、多对一或者多对多的通信方式。所述单边通信0SC,也称远程存储访问,即直接对非本地的存储空间进行访问,它的最大特点是无需对方进程的参与通信。所述阻塞读BR是指进程调用阻塞读函数后,一 直等到读操作完全结束才返回。所述非阻塞读NBR是指不必等待读操作完全完成便可以返 回,该读操作可以交给特定的硬件去完成,在该硬件完成该读操作的同时,处理机可以同时 进行计算操作,实现计算和输入输出的重叠。所述阻塞写BW是指进程调用阻塞写函数后, 一直等到写操作完全结束才返回。所述非阻塞写NBW是指不必等待写操作完全完成便可以 返回,该写操作可以交给特定的硬件去完成,在该硬件完成该写操作的同时,处理机可以同 时进行计算操作,实现计算和输入输出的重叠。为了实现MPI并行程序的负载平衡,在MPI并行程序设计时,需要性能分析工具, 辅助程序设计者了解并行程序执行行为,定位负载问题所在,从而优化程序,使得每个进程 所分配的任务能在大致相同的进程时间内完成,达到负载平衡,提高MPI并行程序的运行效率。目前,性能分析工具一般采用数据挖掘技术,并结合调用图、柱状图、堆栈条形图 等多种二维图示方法,向用户展示MPI并行程序性能数据。但二维图形内容只有水平的X 轴与垂直的Y轴,因此显示的内容有限,且不能较好的展示性能数据的分布特征和相互间 的关系。
技术实现思路
本专利技术的目的是提供一种大规模并行程序负载问题三维可视化分析方法,对并行 程序的轮廓数据进行函数过滤,建立两级函数分组,统计各级分组的时间开销,计算子分组 和父亲分组的负载相似度,以三维图形的方式向用户展示并行程序的计算结果,帮助用户 快速准确定位并行程序的负载问题。本专利技术是一种适用于大规模集群的MPI并行程序负载问题三维可视化分析方法, 其特征在于该方法包括有下列步骤第一步函数过滤过滤除去大规模MPI并行程序轮廓日志中的调用路径函数CPF以及过小函数 MITF,得到大规模MPI并行程序的轮廓日志数据中的有效函数VF ;第二步构建函数两级分组第201步将MPI并行程序中所有进程P作为树形结构中的根节点FR ;第202步对所有进程P的有效函数VF进行一级函数分组,获得根节点FR下一层 节点,即第一层子节点ACH;第203步对所有进程P的有效函数VF进行二级函数分组,获得根节点FR再一层 节点,即第二层子节点BCH;第204步依据二级函数分组中的对象对所有进程P的有效函数VF进行分组,得 到树形结构的叶节点CL ;采用树形结构对所述的有效函数VF进行两级函数分组,得到有效函数VF的分组 树形结构;第三步函数时间统计函数时间统计是从叶节点CL向根节点统计每个进程的每个函数分组的总运行时 间;第四步获取负载相似度负载相似度的获取是从叶节点CL向根节点计算各个子节点与其父亲节点的负载 相似度。第五步图形生成根据计算出的总运行时间和负载相似度的结果,生成函数分组的三维柱状图。本专利技术针对大规模集群的MPI并行程序负载问题三维可视化分析方法的优点在 于①通过过滤调用路径函数以及独占运行时间过小的函数,减少了用于大规模并行 程序性能分析的数据量。②通过对函数进行两级分组和负载相似度分析,能够快速定位并行程序的负载问题。③通过提供三维可视化方式,从多个角度去展示性能数据,帮助用户直观、快速掌 握并行程序负载情况。附图说明图1是本专利技术适用于大规模集群的MPI并行程序中负载问题的三维可视化分析的 示意图。图2是一个MPI并行程序中所有进程P的有效函数VF的两级分组的树形结构图。图3是本专利技术MPI并行程序独占时间开销的三维柱状图。具体实施方式下面将结合附图对本专利技术做进一步的详细说明。本专利技术是以一个典型的矩阵乘MPI (Message Passing Interface)并行程序 Cannon (为人名,译为加农)为例,对本专利技术方法进行具体说明。其中,使用开源工具TAU (Tuning and Analysis Utilities,译文调优和分析工具)完成对Cannon的插桩,通过PBS (Portable Batch System,译文为任务调度管理系统)脚本提交作业,获取性能数据。参见 图1所示,本专利技术是一种适用于大规模集群的MPI并行程序中负载问题的三维可视化分析 方法,该方法包括有下列步骤第一步函数过滤过滤除去大规模MPI并行程序轮廓日志中的调用路径函数CPF以及独占运行时间 过小的函数MITF (简称为过小本文档来自技高网
...

【技术保护点】
一种适用于大规模集群的MPI并行程序负载问题三维可视化分析方法,其特征在于:该方法包括有下列步骤:第一步:函数过滤过滤除去大规模MPI并行程序轮廓日志中的调用路径函数CPF以及过小函数MITF,得到大规模MPI并行程序的轮廓日志数据中的有效函数VF;第二步:构建函数两级分组第201步:将MPI并行程序中所有进程P作为树形结构中的根节点FR;第202步:对所有进程P的有效函数VF进行一级函数分组,获得根节点FR下一层节点,即第一层子节点ACH;第203步:对所有进程P的有效函数VF进行二级函数分组,获得根节点FR再一层节点,即第二层子节点BCH;第204步:依据二级函数分组中的对象对所有进程P的有效函数VF进行分组,得到树形结构的叶节点CL;采用树形结构对所述的有效函数VF进行两级函数分组,得到有效函数VF的分组树形结构;第三步:函数时间统计函数时间统计是从叶节点CL向根节点统计每个进程的每个函数分组的总运行时间;第四步:获取负载相似度负载相似度的获取是从叶节点CL向根节点计算各个子节点与其父亲节点的负载相似度。第五步:图形生成根据计算出的总运行时间和负载相似度的结果,生成函数分组的三维柱状图。...

【技术特征摘要】
1.一种适用于大规模集群的MPI并行程序负载问题三维可视化分析方法,其特征在于该方法包括有下列步骤 第一步函数过滤 过滤除去大规模MPI并行程序轮廓日志中的调用路径函数CPF以及过小函数MITF,得到大规模MPI并行程序的轮廓日志数据中的有效函数VF ; 第二步构建函数两级分组 第201步将MPI并行程序中所有进程P作为树形结构中的根节点FR ; 第202步对所有进程P的有效函数VF进行一级函数分组,获得根节点FR下一层节点,即第一层子节点ACH; 第203步对所有进程P的有效函数VF进行二级函数分组,获得根节点FR再一层节点,即第二层子节点BCH; 第204步依据二级函数分组中的对象对所有进程P的有效函数VF进行分组,得到树形结构的叶节点CL ; 采用树形结构对所述的有效函...

【专利技术属性】
技术研发人员:李云春黎洪达李巍李允
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1