并行程序运行时参数优化方法技术

技术编号:15746427 阅读:157 留言:0更新日期:2017-07-03 01:43
本发明专利技术公开了一种并行程序运行时参数优化方法,包括:利用一次一因子实验方法进行预备实验,获得程序性能受单个参数变化的影响,从而筛选出对程序性能影响超出预定目标的参数及其参数值;利用均匀实验方法,从预备实验筛选出的参数中粗筛选出当前最优的参数组合;在粗筛选出最优的参数组合中的各参数取值附近再取一定量的参数值,并利用正交实验方法分析出各个参数及其参数值对实验指标的贡献大小,进而确定最终的最优参数组合。该方法,可以获得并行程序在具体硬件平台下最优的参数组合,可以将该参数组合推荐给超算用户,使超算用户作业在该参数组合下运行,优化应用程序执行效率,从而提高超算系统平台整体吞吐率。

Parameter optimization method for parallel program running time

The invention discloses a parameter optimization method, a parallel program includes: preliminary experiments using one factor experimental method for program performance affected by the single parameter, and screened for program performance parameters and parameters influence beyond the predetermined target value; using uniform experimental method, rough screening parameters of current the optimal parameters are selected from preliminary experiments in selected parameters; then a certain amount of parameters near the optimal combination of the parameters in the screening value, and the analysis of the contribution of each parameter and the parameter values on the test indexes by the orthogonal test method, and then determine the optimal parameters of the final. This method can obtain the optimal parameter combination of parallel programs in the specific hardware platform, the parameters recommended for supercomputer users, so that users in the super computer operation parameters, the optimization of application execution efficiency, thereby improving the overall system platform super swallow spit rate.

【技术实现步骤摘要】
并行程序运行时参数优化方法
本专利技术涉及计算机
,尤其涉及一种并行程序运行时参数优化方法。
技术介绍
MPI(MessagePassingInterface)是由全世界工业、科研和政府部门联合建立的一个消息传递编程标准,提供了大多数并行应用与硬件之间的接口,是高性能计算领域并行程序开发的事实标准,被广泛应用于分布式以及共享内存系统。OpenMPI是一个基于组件结构的MPI具体实现,实现了MPI-1和MPI-2标准,并且是开源的。OpenMPI设计集中在theModularComponentArchitecture(MCA),其是一个软件层,提供了对OpenMPI框架的管理服务。MCA提供的管理服务可以将从高层抽象(mpirun)接收的运行时参数传递到底层相应的框架。MCA运行时参数可以使系统管理员、终端用户以及开发者调优应用程序以及系统的性能,而不需要重新编译MPI应用程序。在超算系统平台下的应用程序有很多,应用涉及多个领域,不同领域的用户利用相应的应用程序解决其研究问题。为了解决输入不同的问题,同一个应用程序会被用户反复执行。通过优化应用程序,可以提高其执行效率,从而提高超算系统平台的整体吞吐率。集群计算环境,尽管成为了高性能计算平台的主要选择,但是其复杂性不断增加。在集群平台上MPI应用程序要获得很好的性能是很容易的,但是要获得最好的MPI性能仍然是一项异常困难的任务,需要对系统的软件、硬件的所有层次进行最大化调优。可调的运行时参数可以对MPI应用程序带来可观的性能提升,但同时运行时参数的配置集合以及相应的优化空间相当庞大,探索MPI应用程序的整个优化空间需要在大量参数组合下执行MPI应用程序,其执行次数随运行时参数的数量呈指数增长。目前,调优MPI应用程序运行时参数还没有较为完善的技术方案。
技术实现思路
本专利技术的目的是提供一种并行程序运行时参数优化方法,可以获得并行程序在具体硬件平台下最优的参数组合,可以将该参数组合推荐给超算用户,使超算用户作业在该参数组合下运行,优化应用程序执行效率,从而提高超算系统平台整体吞吐率。本专利技术的目的是通过以下技术方案实现的:一种并行程序运行时参数优化方法,包括:利用一次一因子实验方法进行预备实验,获得程序性能受单个参数变化的影响,从而筛选出对程序性能影响超出预定目标的参数及其参数值;利用均匀实验方法,从预备实验筛选出的参数中粗筛选出当前最优的参数组合;在粗筛选出最优的参数组合中的各参数取值附近再取一定量的参数值,并利用正交实验方法分析出各个参数及其参数值对实验指标的贡献大小,进而确定最终的最优参数组合。所述实验指标为程序运行时间,并行程序的各个参数作为实验因素,并行程序的各个参数的不同取值作为对应实验因素的水平,各个实验因素在某个水平上进行取值得到的一组搭配情况作为实验点,对每个实验点依次进行实验,研究实验因素对实验指标的影响,从而确定最优参数组合,使并行程序在该最优参数组合下运行时间最少。筛选出对程序性能影响超出预定目标的参数的步骤包括:对每个参数选择初始参数值,即为每个可调参数赋予一个初始值;在保持其他参数在初始参数值不变的条件下,让每一个参数在其所允许的范围内进行连续变动;当所有的实验都做完后,获得程序性能受单个参数的水平变化的影响,从而筛选出对程序性能影响超出预定目标的参数及其参数值。所述利用均匀实验方法从预备实验筛选出的参数中粗筛选出当前最优的参数组合的步骤包括:根据所选参数的个数与各参数的参数值个数,确定相应的均匀表,进而确定实验方案;根据实验方案,在每组参数的不同参数值组合下运行程序;将最优的实验结果对应的参数组及其参数值,作为粗筛选出的当前最优的参数组合。所述确定最终的最优参数组合的步骤包括:针对粗筛选出最优的参数组合,各参数分别再取一定数量的参数值,所取的参数值在当前最优的参数组合中对应参数的参数值附近,所取的参数值作为对应参数的水平,再根据粗筛选出最优的参数组合中参数的个数与调整后的各参数的水平个数,确定相应的正交表,进而确定实验方案;根据实验方案,在每组参数的不同参数值组合下运行程序;计算性能增量,以性能增量作为参数对程序性能的贡献率,统计各个参数的不同参数值的贡献率,筛选出每一参数贡献率最高的参数值,并作为最终的最优参数组合,其中性能增量记为S=(t1-t2)/t2,t1为默认参数组合下程序运行时间,t2为优化参数组合下程序运行时间。由上述本专利技术提供的技术方案可以看出,利用均匀实验方法,作粗筛选,可以有效地减少实验次数,同时获得了程序的特征数据。利用正交实验方法,作细筛选,可以有效地简化均匀实验结果的分析工作,同时可以进一步优化并行程序运行时参数组合。此外,本专利技术中的实验是在具体硬件平台下,针对特定应用程序进行的,实验数据可以很好地反应硬件平台以及应用程序的特征。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种并行程序运行时参数优化方法的流程图;图2为本专利技术实施例提供的通过预备实验筛选出对程序性能影响超出预定目标的参数的流程图;图3为本专利技术实施例提供的通过均匀实验方法粗筛选出当前最优的参数组合的流程图;图4为本专利技术实施例提供的通过正交实验方法确定最优参数组合的流程图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术的目的是提供一种并行程序运行时参数优化的方法,在集群平台上MPI应用程序要获得很好的性能是很容易的,但是要获得最好的MPI性能仍然是一项异常困难的任务,需要对系统的软件、硬件的所有层次进行最大化调优。本专利技术主要针对OpenMPI参数进行优化。虽然,超算系统下的应用程序有很多历史运行数据,但是这些数据并不涉及本专利技术所优化的OpenMPI参数,或者这些数据所涉及的OpenMPI参数并不全面,历史运行数据不能直接用于本专利技术。如何在大量的参数组合中选择出可使并行程序运行时间最少的参数组合,既是一个理论问题,又是一个实际应用问题。这个问题其实是一个多因素实验问题,在本专利技术实施例中,程序运行时间可作为实验指标,OpenMPI各参数可作为实验因素,OpenMPI各参数的不同取值可作为对应因素的水平,各个实验因素在某个水平上进行取值得到的一组搭配情况可作为实验点,对每个实验点依次进行实验,研究实验因素对实验指标的影响,从而确定最优参数组合,使并行程序在该参数组合下运行时间最少。该多因素实验问题满足如下特性:1.实验因素的水平个数不等。2.实验点有限,具有可操作性,即只能用有限的时间来完成实验。本专利技术实施例提供的一种并行程序运行时参数优化方法如图1所示,其主要包括:步骤11、利用一次一因子实验方法进行预备实验,获得程序性能受单个参数变化的影响,从而筛选出对程序性能影响超出预定目标的参数以及相应本文档来自技高网
...
并行程序运行时参数优化方法

【技术保护点】
一种并行程序运行时参数优化方法,其特征在于,包括:利用一次一因子实验方法进行预备实验,获得程序性能受单个参数变化的影响,从而筛选出对程序性能影响超出预定目标的参数及其参数值;利用均匀实验方法,从预备实验筛选出的参数中粗筛选出当前最优的参数组合;在粗筛选出最优的参数组合中的各参数取值附近再取一定量的参数值,并利用正交实验方法分析出各个参数及其参数值对实验指标的贡献大小,进而确定最终的最优参数组合。

【技术特征摘要】
1.一种并行程序运行时参数优化方法,其特征在于,包括:利用一次一因子实验方法进行预备实验,获得程序性能受单个参数变化的影响,从而筛选出对程序性能影响超出预定目标的参数及其参数值;利用均匀实验方法,从预备实验筛选出的参数中粗筛选出当前最优的参数组合;在粗筛选出最优的参数组合中的各参数取值附近再取一定量的参数值,并利用正交实验方法分析出各个参数及其参数值对实验指标的贡献大小,进而确定最终的最优参数组合。2.根据权利要求1所述的一种并行程序运行时参数优化方法,其特征在于,所述实验指标为程序运行时间,并行程序的各个参数作为实验因素,并行程序的各个参数的不同取值作为对应实验因素的水平,各个实验因素在某个水平上进行取值得到的一组搭配情况作为实验点,对每个实验点依次进行实验,研究实验因素对实验指标的影响,从而确定最优参数组合,使并行程序在该最优参数组合下运行时间最少。3.根据权利要求1或2所述的一种并行程序运行时参数优化方法,其特征在于,筛选出对程序性能影响超出预定目标的参数的步骤包括:对每个参数选择初始参数值,即为每个可调参数赋予一个初始值;在保持其他参数在初始参数值不变的条件下,让每一个参数在其所允许的范围内进行连续变动;当所有的实验都做完后,获得程序性能受单个参数的水平变化的...

【专利技术属性】
技术研发人员:孙广中史腾飞周英华
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽,34

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

1