当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于插值算法面向计算通信联合优化的负载均衡方法技术

技术编号:10924304 阅读:131 留言:0更新日期:2015-01-19 04:17
本发明专利技术涉及一种基于插值算法的面向计算通信联合优化的负载均衡方法,属于高性能科学计算的应用领域,该方法包括以运算的实测计算量和通信量为基础值,利用插值算法以计算时间和责任通信时间的实测值推算计算量累加函数和通信量变化率函数的近似函数,以该函数为参照通过多次迭代获得最佳的数据划分;监视每次运算的计算量和通信量变化,分析处理器的负载均衡状况并预测负载均衡的趋势,当负载均衡的效率或预测值低于设定的阈值时,根据当前的计算量和通信量的实测值再次计算量累加函数和通信量变化率函数的近似函数,并对数据块的划分进行动态调整。本方法旨在技术领域提升科学计算的负载均衡效率,进而提高并行运行效率,节约超级计算资源。

【技术实现步骤摘要】
一种基于插值算法面向计算通信联合优化的负载均衡方法
本专利技术属于高性能可扩展并行数值模拟应用领域,特别涉及一种基于插值算法的面向计算通信联合优化的负载均衡方法。
技术介绍
在高性能可扩展并行数值模拟应用领域,如流体动力、高温高压物理过程模拟计算等,常常需要使用成百上千的处理器并行执行运算任务。这些计算通常具有如下特点:(1)数据元素通常可以被映射到静态且均匀的多维网格上;(2)不同数据元素的运算时间可能不同;(3)数据元素的运算量随计算的时间步发生变化且相近时间步的变化很小;(4)计算的通信通常只与相邻数据元素相关。为提高计算效率,需使每个处理器在相同时间步的计算时间和通信时间(不含等待时间)之和基本相当,并尽可能降低通信延迟。动态负载均衡机制通过合理划分数据元素使得每个处理器承担的计算任务相对均衡,并能根据处理器的负载变化对其进行动态调整。负载均衡问题可定义为:设需要处理的N个数据元素分布在一个多维空间定义为Vd表示d维空间(d=1,2,3,4),用来执行并行运算的处理器共M个定义为{(pi)|1≤i≤M},通常M<<N;N个数据元素被依据一定规则划分为M个数据块,每个处理器负责一个数据块。在某个时间步处理器的有效运算时间(包括有效的计算时间和通信时间)分别为{(Ci)|1≤i≤M},则该时间步的负载均衡效率E可以定义为:显然E≤1,E越大负载越均衡,而动态负载均衡的目的是使E的值在运算过程中大部分时间保持在一定的阈值以上且越大越好。负载均衡通常在两个时机发挥作用:第一,是计算开始之前,这时需要对数据元素的计算量等进行估计,并对多维空间分布的数据元素进行划分;第二,在计算阶段发现处理器负载不均衡(即负载均衡效率低于设定的阈值)时,对数据划分进行动态调整。已有的一种已有的针对并行计算的负载均衡方法通常可以分为初始划分和动态调整两个阶段:具体实现步骤包括两个阶段。初始划分阶段包括:步骤1-1)采用空间填充曲线法对多维空间分布的数据元素进行排序;步骤1-2)平均划分(使每个数据块的数据元素个数相当)条件下,测量一个时间步各处理器的计算时间;步骤1-3)假定位于同一处理器的数据元素均摊该处理器的计算时间(包括计算时间和通信时间),根据处理器的计算时间可以得到每个数据元素近似的计算时间;步骤1-4)根据数据元素的近似计算时间,重新划分数据块,使每个数据的计算时间相当;步骤1-5)根据数据块的新划分在处理器之间调整数据元素;继续运行一个时间步,并测量各处理器的有效计算时间;步骤1-6)计算负载均衡效率,如果负载均衡效率没有达到要求,则转到步骤1-3),重新进行划分数据块;如果负载均衡效率达到要求,则继续运行,进入动态调整阶段;阶段2:动态调整阶段步骤2-1)根据设定的时间间隔,定时查看各处理器的负载均衡效率,收集n个时间步各处理器的计算时间,如果n个时间步的负载均衡的效率均低于设定的阈值(如80%),则转入步骤2-2),否则继续运行,等待下一个时间间隔;步骤2-2)收集最近一个时间步的计算时间;转入步骤1-3)继续执行。以上方法存在两点不足:第一,该方法在对数据元素的计算时间进行估计时,没有将计算时间和通信时间分开考虑,计算量估计不精确、调整次数多;第二,简单假设同一处理器的数据元素计算量相同,数据元素的计算量估计误差较大,收敛周期长。
技术实现思路
本专利技术的目的是为克服已有技术的不足,提出一种基于插值算法的面向计算通信联合优化的负载均衡方法,旨在流体动力、高温高压物理过程模拟计算等
提升参与运算的各处理器任务的均衡性,提高运行效率,节约计算资源。本专利技术提出的一种基于插值算法的面向计算通信联合优化的负载均衡方法,该方法分初始划分和动态调整两个阶段,其特征在于,初始划分阶段包括以运算的实测计算量和责任通信量作为基础值,利用插值算法推算计算量累加函数和通信量变化率函数的近似函数,然后以这两个函数为参照通过多次迭代获得最佳的数据划分方案;动态调整阶段包括并行程序运行过程,监视每次运算的计算量和通信量变化,分析处理器的负载均衡状况并预测负载均衡的趋势,当负载均衡的效率或预测值低于设定的阈值时,根据当前的计算量和通信量的实测值再次计算量累加函数和通信量变化率函数的近似函数,并对数据块的划分进行动态调整。本专利技术的技术特点:本专利技术采用的基于实测法和插值近似的高效动态负载均衡方法首先面向计算时间和通信时间的联合优化;其次,以责任通信时间作为通信时间标准,避免通信等待时间和与运算重叠时间的影响;再次,利用插值近似法计算计算量密度函数和通信量函数的导函数,根据各处理器的实测时间计算所求函数,根据求得函数利用迭代法划分数据块;最后,在动态调整阶段引入基于时间序列的预测方法预测计算的负载均衡趋势,降低负载的调整频率。本专利技术的有益效果:(1)在进行任务划分时,以责任通信时间(即不包括等待时间和与计算重叠的时间)作为通信时间标准,使对处理器的通信量估计更加准确;(2)对计算量和通信量的估算依据来自实测值,更能体现了计算的实际负载情况;(3)分别利用计算量和通信量的不同特性,相较以往的将通信量归为计算量统一计算的方法,计算结果更加准确;(4)采用迭代法划分数据块的方法,可以利用通信量的变化特点,提高任务划分的均衡性;(5)引入插值近似函数估算计算量密度函数和通信量相关函数,可减少负载均衡的调整次数,缩短调整时间。该方法主要针对数据元素可以映射到多维空间网格且各数据元素的运算量随时间变化大型并行科学计算的初始任务划分和动态任务调整,以基于有限差分方法的数值天气预报模式为例,数值天气预报计算量大,时效要求强,一般需要在大规模的计算机集群上并行执行。计算区域的非规则性、各格点计算量的非均匀性以及复杂的通信方式导致各计算节点计算任务不均衡,采用本方法,利用实测的计算时间和责任通信时间准确估计计算量和通信量相关函数,动态地为各计算节点均衡划分计算任务,缩短计算时间,提高计算资源的利用率。由于负载均衡算法具有普适性,该方法同样适合一维或二维分布的数据元素的高性能科学计算的负载划分,任何熟悉该技术的人在本专利技术所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本专利技术的保护之内。附图说明图1为本方法的处理流程图。具体实施方式本专利技术提出了一种基于插值法的大型并行计算动态负载均衡方法,下面结合附图及具体实施方式详细说明本专利技术的内容。本专利技术提出的一种基于插值算法面向计算通信联合优化的负载均衡方法,本专利技术的具体实现步骤如图1所示,其特征在于,包括初始划分和动态调整两个阶段,其中,初始划分阶段包括:步骤1-1)采用空间填充曲线法对多维空间分布的数据元素进行排序,对处理器编号;具体实现为:利用空间填充曲线法将分布于多维空间的待处理的数据元素映射到一维空间中(整个运算过程只需映射一次),本实施例的空间填充曲线法中采用希尔伯特(Hilbert)曲线;设N个数据元素从多维空间映射到一维空间,映射后的N个数据元素排列记为x1,x2,…,xN;设参与运算的处理器有M个,M<<N,将M个处理器编号,记为p1,p2,…,pM;步骤1-2)对数据元素平均划分(每个处理器所负责数据元素个数相同)的条件下,测量各处理器一个时间步的计算时间和责任通信本文档来自技高网
...
一种基于插值算法面向计算通信联合优化的负载均衡方法

【技术保护点】
一种基于插值算法的面向计算通信联合优化的负载均衡方法,该方法分初始划分和动态调整两个阶段,其特征在于,初始划分阶段包括以运算的实测计算量和通信量作为基础值,利用插值算法以计算时间和责任通信时间的实测值推算计算量累加函数和通信量变化率函数的近似函数,然后以这两个函数为参照通过多次迭代获得最佳的数据划分方案;动态调整阶段包括并行程序运行过程,监视每次运算的计算量和通信量变化,分析处理器的负载均衡状况并预测负载均衡的趋势,当负载均衡的效率或预测值低于设定的阈值时,根据当前的计算量和通信量的实测值再次计算量累加函数和通信量变化率函数的近似函数,并对数据块的划分进行动态调整。

【技术特征摘要】
1.一种基于插值算法的面向计算通信联合优化的负载均衡方法,该方法分初始划分和动态调整两个阶段,其特征在于,初始划分阶段包括以运算的实测计算量和通信量作为基础值,利用插值算法以计算时间和责任通信时间的实测值推算计算量累加函数和通信量变化率函数的近似函数,然后以这两个函数为参照通过多次迭代获得最佳的数据划分方案;动态调整阶段包括并行程序运行过程,监视每次运算的计算量和通信量变化,分析处理器的负载均衡状况并预测负载均衡的趋势,当负载均衡的效率或预测值低于设定的阈值时,根据当前的计算量和通信量的实测值再次计算量累加函数和通信量变化率函数的近似函数,并对数据块的划分进行动态调整,所述责任通信时间为通信时间标准,为不包括等待时间和与计算重叠的时间的信通时间。2.如权利要求1所述方法,其特征在于,所述初始划分阶段具体包括以下步骤:步骤1-1)采用空间填充曲线法对多维空间分布的数据元素进行排序,对处理器编号;设N个数据元素从多维空间映射到一维空间,映射后的N个数据元素排列记为x1,x2,…,xN;设参与运算的处理器有M个,M<<N,将M个处理器编号,记为p1,p2,…,pM;步骤1-2)对数据元素平均划分的条件下,测量各处理器一个时间步的计算时间和责任通信时间;对平均划分的数据元素进行微调后,测量各处理器一个时间步的责任通信时间;具体包括:第一次划分,将x1,x2,…,xN平均分成M块,分配到各处理器并启动运行一个时间步,得到各处理器计算时间TCj,责任通信时间TRj1;第二次划分,对第一次划分的各数据块进行微调,依次将第一次划分的数据块的后面k个元素移到下一个数据块,最后一个数据块只接收前一个数据块;将微调后的数据块分配到各处理器并启动运行一个时间步,得到各处理器责任通信时间TRj2;步骤1-3)根据实测的各处理器的计算时间,利用插值法求解计算量累加函数;具体实现为:设在x1,x2,…,xN排列下,数据元素x的计算量密度函数为f(t,x),t为时间参数;在n个时间步内,n≤3,假设f保持不变,则计算量密度函数表示为与时间无关的函数f(x);(xj1,xj2)为处理器pj负责的数据块,则处理器的计算时间为TCj表示为全部处理器的计算时间为:假设函数f(x)在x1,x2,…,xN排列中选取的M个点X1,X2,…,XM上有值;对于Xi<x<Xi+1,得到f(x)的插值近似函数:将(2)式代入方程组(1),得到以f(X1),f(X2),…,f(XM)为未知数的线性方程组,求解可得f(x)在X1,X2,…,XM处的值;利用插值算法求得计算量的累加函数F(x),F(x)表示为X1,X2,…,XM之间的分段形式;步骤1-4)根据实测的各处理器的计算时间,利用插值法求解责任通信时间函数的导函数;具体实现为:处理器pj的责任通信时间函数为g(t,xj1,xj2),xj1,xj2为处理器所负责的数据元素的起点和终点;在较少的n个时间步内,n≤3,假设g保持不变,则处理器pj的责任通信时间函数表示为g(xj1,xj2);假设g(x)为连续函数且在x点有导数,求解g(x)在指定点的导数G'(x);g(xj1,xj2)代表某时间步处理器pj的责任通信时间,元素xj1+Δx为xj1的右邻点,得到:g(xj1+Δx,xj2)=-G'(xj1)Δx+g(xj1,xj2)(3)g(xj1,xj2+Δx)=G'(xj2)Δx+g(xj1,xj2)(4)(xj1,xj2)和(xj3,xj4)分别为处理器pj在两次划分中所负责的数据块,两个数据块划分的大部分数据元素重叠,利用式(3)、(4)分别对处理器负责的数据块的左右两端做近似处理得:为计算通信时间函数,测试两次不同划分的责任通信时间;处理器pj两次划分的责任通信时间分别为TRj1,TRj2,则,假设函数G'(x)在x1,x2,…,xN排列中选取的M个点X1,X2,…,XM上有值...

【专利技术属性】
技术研发人员:杨广文刘圣卓张志远陈宇澍姜进磊韩宝玲
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1