CN100357930C - 网格环境下的大规模数据并行型计算主系统 - Google Patents
网格环境下的大规模数据并行型计算主系统 Download PDFInfo
- Publication number
- CN100357930C CN100357930C CNB2005100257308A CN200510025730A CN100357930C CN 100357930 C CN100357930 C CN 100357930C CN B2005100257308 A CNB2005100257308 A CN B2005100257308A CN 200510025730 A CN200510025730 A CN 200510025730A CN 100357930 C CN100357930 C CN 100357930C
- Authority
- CN
- China
- Prior art keywords
- group
- computing node
- planes
- computing
- grid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title abstract description 18
- 230000007246 mechanism Effects 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 239000003795 chemical substances by application Substances 0.000 claims description 32
- 239000013598 vector Substances 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 abstract description 23
- 230000001133 acceleration Effects 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 description 26
- 238000005755 formation reaction Methods 0.000 description 26
- 238000007726 management method Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 16
- 239000013256 coordination polymer Substances 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 150000002500 ions Chemical class 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000007958 sleep Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007087 memory ability Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000005061 slumber Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一个网格环境下的大规模数据并行型计算主系统。所述系统通过普通的Lan或Intranet连接的多个计算机机群构成,每个计算机机群、计算节点是异构的和多可信级别的;按计算节点的综合计算能力从大到小的顺序对所有计算节点编号,并按此编号构成一个计算节点逻辑环;按计算机机群的综合计算能力从大到小的顺序对所有机群编号,并按此编号构成一个机群逻辑环;所述机群逻辑环上的各个计算机机群由计算节点逻辑环构成;本发明提出的基于动态冗余机制的数据并行型计算算法,利用对计算机机群构建动态逻辑环、对计算节点构建动态逻辑环和m-冗余分配策略,有效地解决了动态冗余、动态负载均衡、线形加速比等技术问题。
Description
技术领域
本发明涉及一种计算机的计算技术,特别是涉及一种通过在普通的、廉价的计算机机群构成的大规模计算环境下,利用现有空余计算资源,通用的数据并行型大规模计算系统来实现的计算技术及算法。
背景技术
随着信息技术的飞速发展和日益普及,海量信息的处理和高性能计算的需求越来越迫切,并且这些需求逐渐被国家建设的各个领域提出。寻求高性能价格比的海量信息处理技术、高性能计算技术已经成为产业界和学术界所面临的急需解决的主要问题。针对这一问题,网格以其良好的自治性、自相似性、异构性、管理的多样性、强大的并行I/O能力、非常高的性能价格比等特性成为可行的最佳解决方案之一。目前由多个计算机网络构成的Intranet越来越多,大量的廉价的个人计算装置随处可见,但是它们的资源利用率非常低。相关文献研究指出,在一个网络环境下,给定的时间内有许多资源没被使用,即使在一天最繁忙的时候,仍有三分之一的工作站完全未用,集群中的70%到85%的网络存储器(分布在网络上各个节点的内存)处于空闲状态。所以,挖掘利用由多个计算机机群构成的网格上的空余的计算资源、存储资源、通信资源,可以得到大量的、非专用的、廉价的、大规模的高性能处理和计算资源。然而,随着机群节点数目和网络数目的增加,系统的可靠性和资源的动态调动能力就会下降。所以机群的可靠性技术、可扩展技术的研究成为这一领域的研究热点,其中微软的Wolfpack、Oracle的Failover、NCR的LifeKeeper是可靠性机群计算的典型代表。然而,随着数据网格资源规模的日益扩大、网格资源和服务的日益多样化,这些传统的可靠性技术已经无法适合异构的、多可信级别的网格资源的管理需求,因此基于网格的全新大规模并行理论模型和算法的研究越来越迫切。
发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能利用目前现有的计算资源、网络资源构造具有很好的容错特性、良好的加速比特性、非常高的动态负载能力的,廉价的、大规模的、可靠的、稳定的网格环境下的大规模数据并行型计算主系统。
为了解决上述技术问题,本发明所提供的一种网格(Dynamic Grid---DG)环境下的大规模数据并行型计算主系统,包括:
一动态网格监控系统(DGSS-DATA GRID SUPERVISE SYSTEM),利用多Agent合作机制对动态网格(DG)实施有效动态的状态监控的网格管理系统;
其特征是,还包括由机群逻辑环构成的一动态网格计算系统(DGCS-DATA GRIDCOMPUTING SYSTEM),其中:
所述机群逻辑环,由设定编号的计算机机群按编号顺序联接构成,编号最后的机群的逻辑后继机群是编号为1的机群;所述编号是根据计算机机群的所有计算节点的综合计算能力的和按从大到小的顺序对所有机群进行设定的编号;在机群逻辑环上除第1编号机群和最大编号机群之间外,越临近的机群的综合计算能力越相近;
所述机群逻辑环上的各个计算机机群由计算节点逻辑环构成,所述计算节点逻辑环由设定编号的计算节点按编号顺序联接构成,编号最后的计算节点的逻辑后继节点是编号为1的计算节点;所述编号是根据每个计算节点的综合计算能力按从大到小的顺序对所有计算节点进行设定的编号,所述每个计算节点的综合计算能力是按照权重向量W计算出来的;在计算节点逻辑环上除第1编号计算节点和最大编号计算节点之间外,越临近的计算节点的综合计算能力越相近;
由机群逻辑环和计算节点逻辑环构成了动态网格计算系统(DG);所述网格监控系统通过普通的Lan或Intranet连接所述动态网格计算系统的每个计算机机群和计算节点。
进一步的,所述计算节点逻辑环中计算节点的动态二维地址为二元组(r,o)地址;动态网格(DG)上的每个计算节点都能从所构造的机群逻辑环和计算节点逻辑环中获得一个二元组(r,o)地址,其中r为该计算节点所在机群的机群环编号,o为该计算节点在机群r的计算节点环中的逻辑编号;由于DG的机群环和计算节点环在并行计算过程中动态变化,所以称(r,o)为该计算节点的动态二维地址。
利用本发明提供的网格环境下的大规模数据并行型计算主系统,为基于互联网络的大规模数据并行型计算提供了一套可行的计算支持系统和实现方法。本发明是利用现有的计算机网络、计算节点的空余资源进行大规模并行计算,并且这些计算资源的结构、软件系统可以是异构的,网络互联可以是任意技术的。通过调整基本任务块的大小,根据网络的实际情况来调整并行的粒度。通过动态计算各个计算资源的能力函数,动态构造计算机群环、计算节点环,然后根据m-冗余策略均衡分配负载,使该系统支持的数据并行型算法具有良好的加速比、动态负载均衡性、有效的容错能力。
所描述的基于动态冗余机制的数据并行型算法的有效的容错机制,分三步证明如下:一、在单个机群中.不失一般性,只需证明该算法的平均容错能力;假设单一机群内的每个计算节点的综合计算能力相同,所以每个节点分配到的主计算任务都为T。这样该节点的m个后继计算节点各自冗余存放该任务的T/m。设每个计算节点的失效概率为q。仅仅分析m+1个相邻计算节点的失效分布情况以及失效队列的数据量的大小。
当有1个节点失效时,失效数据为0;
当有2个节点失效时,有(T/m)q2失效数据;当有3个节点失效时,有(T/m)q3失效数据;
当有k个节点失效时,有(T/m)qk失效数据;
……
那么m个失效情况发生的平均失效数据量为:
Tave=((T/m)(q2+2q3+3q4+…+(m-1)qm))/m
=(T/m2)(q2+2q3+3q4+…+(m-1)qm)
=T/(m2(1-q)2)-(T/m)(qm+1/(1-q))………(1)
在公式(1)中,当q趋于0时,Tave=T/m2;当q趋于0.5时,Tave≈1.33(T/m2);
如果一个机群的计算节点环可以被分为h个长度为m+1的部分,那么该机群的平均失效队列长度为h Tave,可见适当调整计算节点逻辑环的长度可以有效控制容错队列的长度。所以单一机群内的冗余机制是有效的。
二、由于机群间采用1-冗余策略,实际是镜像策略。镜像冗余机制是有效的。
三、可以利用计算通信性能比来计算m-冗余策略中的m。最佳冗余信息量应该是使节点的计算能力恰好能够与网络通信能力平衡。
综上所述,所描述的基于动态冗余机制的数据并行型算法提供了有效的容错机制。
关于所描述的数据并行型算法是动态负载均衡的证明:
在算法的步骤3),每次并行计算启动的初始阶段,都根据当时DG的每个机群、每个计算节点的计算能力构造机群逻辑环、计算节点逻辑环。
根据两个逻辑环的设定,根据算法步骤3)的描述,各个机群任务的负载是按能力所分的。同时,根据算法的步骤5)可知,每个机群内的负载分配也是按能力所分的。所以在算法的每个并行阶段,负载均衡的。
另外,由于两个逻辑环的构造是在每个并行阶段实时构造的,所以这种负载分配是动态的。
所以,所描述的数据并行型算法是动态负载均衡的。
本发明的大规模数据并行型计算主系统是基于上述优点的,非常适合在普通计算机机群构成的网格环境下解决大规模计算问题,对利用现有的空余计算资源实施高性能计算提出了有意义的有价值的系统实现技术、方法。本发明给出一个在由多计算机机群构成的数据网格环境下、面向数据并行型计算的、基于动态冗余机制的大规模并行计算主系统和方法。理论分析和实践表明该系统和方法具有良好的动态负载均衡性、容错性和加速比特性,能有效地支持大规模数据并行型计算。
附图说明
图1是本发明的由双逻辑环构成的动态网格DG示意图;
图2是本发明的m-冗余分配策略示意图;
图3是多Agent模型运作机制中计算节点的状态转换示意图。
具体实施方式
以下结合附图说明对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构和方法及其相似变化,均应列入本发明的保护范围。
为了构造支持大规模数据并行型计算的网格环境,利用普通的计算网络、计算机资源构成多可信级别的网格计算系统,为了有效地描述该DGCC系统的实现方式,本说明书作如下设定:
设定1、计算机机群:一个计算机机群(Computer Cluster)是一个二元组CC(Master,CS),其中Master为CC主控制器;CS={C1,C2,...,Cp}为CC的所有计算节点的集合。
设定2、数据网格:一个动态网格(Dynamic Grid)为一个四元组DG(Master,CCS,N,R);其中Master为DG主控制器;CSS={CC1,CC2,...,CCc}为计算机机群的集的集合;N={N1,N2,...,Nn}为连接网络的集合,连接网络是高速交换网;R为连接规则。每个DG中的计算节点具有独立的处理器和外存储器。
设定3、DG上的数据并行型计算:一个DG(Master,CCS,N,R)上的一个数据并行型计算过程如下:
(1)计算任务规模、分解为子任务;
(2)启动所有CCS中的计算节点;
(3)计算:Finish=任务结束的条件;
(4)i=1;
(5)While(当Finish未成立时)do
(6)分解全局数据Data为D1,D2,...,Dp;
(7)并行地发送Dk到Ck(1≤k≤p);
(8)驱动Ck(1≤k≤p)同时求解子任务i;
(9)同步Ck(1≤k≤p)对子任务i的求解,交换局部数据形成新的全局数据New_Data;
(10)Data=New_Data;
(11)i=i+1;
(12)End while;
(13)合成计算结果;
(14)通知Ck(1≤k≤p)结束计算;
(15)结束本次计算。
设定4、资源需求权重向量:DG中的每类数据并行型计算DPC(Data ParallelComputing)对计算节点的计算(CPU)性能、存储(RAM)容量、I/O(DISK)速度的需求是不一样的,对每类数据并行型计算进行分析,可以给出对上述三种资源的需求权重,用向量W=(w1,w2,w3)表示,称作该类DPC的资源需求权重向量。
设定5、计算通信性能比:已知给定的DG中的一类DPC及其资源需求权重向量W=(w1,w2,w3)。对DG的任意一个计算机机群CCi∈CSS,其计算节点的个数为p,按照权向量W计算出每个计算节点的综合计算能力CPj(0≤j≤p);设CCi网络带宽为B,那么机群CCi对DPC的计算通信性能比设定为:R=∑CPj(0≤j≤p)/pB;其含义为机群CCi的计算节点的平均综合处理能力和本机群网络带宽的比值。
由于目前一般网络的通信带宽一般为100M和1000M级别,而处理节点的综合处理能力则提高的越来越快,所以R的值会大于1;至于计算节点能力的计算单位可以根据DPC的需求来设定,例如可以设每百兆赫兹处理器频率为一个CPU单位,每兆存储器为一个存储单位,每毫秒的I/O速度作为硬盘的速度单位等。
在网格并行数据结构中,
设定6、计算节点逻辑环:已知给定的DG中的一类DPC及其资源需求权重向量W=(w1,w2,w3)。对DG的任意一个计算机机群CCi∈CSS,其计算节点的个数为p,按照权向量W计算出每个计算节点的综合计算能力为CPj(0≤j≤p);在CCi中按照CPj(0≤j≤p)的从大到小的顺序对所有计算节点编号;并按此编号构成一个计算节点逻辑环,编号最后的计算节点的逻辑后继节点是编号为1的节点,称该逻辑环为计算节点逻辑环。
通过设定可以知道,在计算节点逻辑环上除第1编号计算节点和最大编号节点之间外,越临近的计算节点的综合计算能力越相近。
设定7、机群逻辑环:已知给定的DG中的一类DPC及其资源需求权重向量W=(w1,w2,w3)。对DG的任意一个计算机机群CCi∈CSS,CCi的综合计算能力是其所有计算节点的综合计算能力的和,记为CCPj(0≤j≤c)。在DG中按照CCPi(0≤j≤c)的从大到小的顺序对所有机群编号;并按此编号构成一个机群逻辑环,编号最后的机群的逻辑后继机群是编号为1的机群,称该逻辑环为机群逻辑环。
同样,在机群逻辑环上除第1编号机群和最大编号机群之间外,越临近的机群的综合计算能力越相近。
参见图1所示,由机群逻辑环1和计算节点逻辑环2双环构成动态DG。
设定8、计算节点的动态二维地址:DG上的每个计算节点都能从按照设定6、7所构造的两个逻辑环中获得一个二元组(r,o)地址,其中r为该计算节点所在机群的机群环编号,o为该计算节点在机群r的计算节点环中的逻辑编号,由于DG的机群环和计算节点环在并行计算过程中动态变化,所以称(r,o)为该计算节点的动态二维地址。
设定9、基本任务单元:已知给定的DG中的一类DPC及其资源需求权重向量W=(w1,w2,w3)。根据DPC的特点,把DPC分解为若干个大小为M的任务块,本说明书称M为DPC在DG上的基本任务单元。
设定10、m-冗余分配策略:在一个逻辑环(机群环或计算节点环)上,设一个计算单元(计算节点或机群)逻辑编号为k,其计算能力为CPk。在为该计算单元分配CPk*M(*是乘法运算)任务量后,再把CPk*M任务量均匀分配到逻辑编号为k+1,k+2,...,k+m的共m个计算单元上,这样任务CPk*M被DG同时分配和执行两次,称这种冗余策略为m-冗余分配策略,如图2所示;实际上,在一个计算节点环3上,任务CPk*M只被冗余分配一次。
设定11、任务分布信息表列:对DG中的每个基本任务单元设定一个任务信息分布表TDT(Mlink,Slink),其中Mlink为该任务单元的第一次分布的计算节点的动态二维地址链表,Slink为该任务单元的冗余分布的计算节点的动态二维地址链表;
任务分布信息队列:所有基本单元任务的TDT构成一个任务分布信息队列QTDT。DG有一个全局的QTDT,每个机群拥有一个局部的QTDTi。
失效任务队列:对DG的每个计算机机群构造一个存放局部计算节点失效后的任务信息队列,其格式同任务分布信息队列一样。
网格监控系统为DGSS:为了支持基于上述结构的DG上的数据并行型大规模并行算法的有效运行,必须有一个对DG实时有效动态的网格管理系统。利用多Agent合作机制研究了基于双环结构的网格资源发现、监测、动态调整系统,可以保证DG系统的有效运行,有关该系统的描述和介绍参见本说明书最后部分;为了本说明书的描述,记该系统的名字为DGSS(DG Supervise System)。
本发明实施例所提供的一种网格环境下的大规模数据并行型计算主系统,设网格DG由c个计算机机群构成,每个机群内的计算节点的数目动态变化;DPC是DG上的一个数据并行型计算任务,|DPC|表示它的总任务量,W为其计算资源需求权重向量;QTDT为DPC的任务分布信息队列;M为基本任务单元;DGSS为网格监控系统;
大规模数据并行性算法描述如下:
1)初始化;
a)根据M分解DPC;
b)计算:finished=DPC的结束条件;
c)广播DPC的辅助数据(如系数矩阵)到DG的所有计算节点;
d)Count=0;/*并行计算次数计数器初始化*/
2)While(当Finished未成立时)do
3)[DG的Master分布DPC任务]/*循环执行任务*/
a)从DGSS获取DG的资源状态信息;
b)构造DG的机群逻辑环;
c)启动所有机群构造各自的计算节点逻辑环;
d)为每个计算节点计算动态二维地址;
e)获取各个机群的总体计算能力CCPi(0≤i≤c);
f)对每个机群CCi(0≤i≤c)做:
{
计算CCPi/∑CCPj(0≤j≤c)比率;
计算在机群CCi上分配的DPC的任务量
Ti=(CCPi/∑CCPj(0≤j≤c))*|DPC|/M;
};
For i=1 to c
g)传输任务Ti到机群CCi;
h)在机群环上按1-冗余分配策略分配Ti到CCi的逻辑后继的1个机群CCi+1上;
i)End for;
4)所有机群CCi(0≤i≤c)并行地做步骤5)~11):
5)机群CCi根据其各个计算节点的综合计算能力CPj(0≤j≤p,p为CCi的计算节点个数)计算每个计算节点对子任务Ti的承担量,即如下:
a)For j=1 to p
b)Tij=(CPj/∑CPk(0≤k≤p))*|Ti|/M;
c)传输子任务Tij到计算节点Cj;
d)在计算节点环上按m-冗余分配策略分配Tij到Cj的后面的m个计算节点Cj+1,Cj+2,,…,Cj+m上;
e)End for;/*计算节点上的数据分布结束*/
6)机群的Master构造机群CCi的本次任务的局部任务分布信息队列QTDTi;并发QTDTi送到DG的Master,DG的Master构造全局任务分布信息队列QTDT;
7)CCi的Master启动其所辖的所有计算节点完成本次计算任务,重复做步骤8)9)10);
8)CCi的Master监控本机群QTDTi的任务完成的情况;
接受其后继机群对QTDTi的冗余计算完成的情况;
传输本机群对其前驱的冗余计算的中间结果到其前驱机群;
传输本机群QTDTi的计算中间结果DG的Master;
9)如果
((本QTDTi的计算结果,通过自身或其后继节点全部得到)
或
(得到DG的Master的结束命令)/*DG的Master通过冗余机群获得全部中间结果*/
)
则结束本次子任务计算,并转到步骤11);
10)如果CCi的Master从DGSS获得某些计算节点失效,
则{置该节点为失效状态;
按造m-冗余分配策略,计算失效任务量,放入失效任务队列;
同时发送失效信息到DG的Master;
}
当某些计算节点完成自己的计算任务后,到失效任务队列获取相应任务继续执行,直到失效队列为空;
11)接受DG的Master的下一次任务分配;
/*本次网格并行计算结束*/
Count++;
12)DG的Master根据全局QTDT汇总本次计算中间结果;修改算法结束条件;转换中间结果为新的总体计算任务DPC;
13)End while;
14)输出计算结果,通知所有计算节点结束本次计算。
本发明的实施例:异构环境的有效开发环境是Web Service技术。本发明实施例利用微软.Net和sun公司的SunOne技术作为开发环境、技术,开发了该系统。并进行了有效的分析、测试工作。
为了检验该算法的有效性,本发明实施例对线形方程组的一般迭代法[13]解法,进行了分解,然后从加速比和容错性两个方面进行了测试。
网格DG由8个机群构成,每个机群有6个计算节点,网络由8个100M交换机级联构成。
本发明实施例把计算节点分为3类,每类配置情况如表1所示,每个机群内每类计算节点各有2个。
表1.各类计算节点配信息
节点类别 | 处理器 | 内存 | 硬盘 | 网卡 |
CT1 | p2.8Ghz | 256M | 5400转 | 100M |
CT2 | p2.4Ghz | 256M | 7200转 | 100M |
CT3 | p2.0Ghz | 256M | 5400转 | 100M |
本发明实施例对个5000X5000系数矩阵的方程组,分别以1000次作为一次完整地计算。DPC是一般迭代法。基本任务单元M为求解向量的一个分量。取m-冗余策略中的m=2。测试分别在1~8个机群的情况下进行,测试结果如表2所示。从数据可以看出,该算法的加速比是近线性的。
表2.算法的加速比
机群数目 | 1 | 2 | 3 | 4 |
响应时间(s) | 6543 | 3331 | 2577 | 1755 |
机群数目 | 5 | 6 | 7 | 8 |
响应时间(s) | 1439 | 1148 | 1023 | 917 |
为了测试该模型的容错能力,本发明实施例分别在4个不同的时段,在计算资源的不同负载情况下对上述试验各执行100次,来查看算法的完全失效率(不能正常完成计算的比率)。结果表明,即使在DG繁忙的高峰上午和下午,该算法的完全失效率也是很低的,说明该算法的容错功能是有效的。测试结果如表3所示。
表3.不同时段的完全失效率
时段 | 6:00-8:30 | 9:00-11:30 | 1:00-2:30 | 20:00-22:30 |
完全失效率(%) | 3 | 6 | 7 | 1 |
由于迭代法的并行各个阶段的通信量不是太大,并且数据量稳定,该算法表现了良好的加速比。对并行阶段通信量比较大并且数据量不稳定的并行JOIN[12]算法的测试工作正在进行,将另出论文描述。在基于网格的数据并行计算的大规模并行算法的实现中,动态负载均衡和有效的容错机制十分重要。本文提出的动态冗余策略、网格资源的动态应用策略、基于逻辑环的负载均衡策略有效地解决了这个问题。在实践中本说明书发现,要想获得稳定的网格计算资源,还需要有效的环境管理机制(如多Master技术、机房管理策略等)、硬件容错策略等提供保证。
为了有效地说明本发明的网格环境下的大规模数据并行型计算主系统及方法,本说明书对利用多Agent合作机制的网格监控系统DGSS(DATA GRID SUPERVISESYSTEM)作如下描述:
一、基本结构设定:
设定1、计算机机群,一个计算机机群(Computer Cluster)是一个二元组CC(Master,CS),其中Master为CC主控制器;CS={C1,C2,…,Cp}为CC的所有计算节点的集合。
设定2、数据网格,一个动态网格(Dynamic Grid)为一个四元组DG(Master,CCS,N,R);其中Master为DG主控制器;CCS={CC1,CC2,…,CCc}为计算机机群的集的集合;N={N1,N2,…,Nn}为连接网络的集合,连接网络是高速交换网;R为连接规则。每个DG中的计算节点具有独立的处理器和外存储器。
设定3、DG上的数据并行型计算,一个DG(Master,CCS,N,R)上的一个数据并行型计算过程如下:
(1)计算任务规模、分解为子任务;
(2)启动所有CCS中的计算节点;
(3)n=子任务数;
(4)i=1;
(5)分解数据Data为D1,D2,…,Dp;
(6)发送Dk到Ck(1≤k≤p);
(7)While i<n do
(8)驱动Ck(1≤k≤p)同时求解子任务i;
(9)同步Ck(1≤k≤p)对子任务i的求解;
(10)i=i+1;
(11)End while;
(12)回收Ck(1≤k≤p)的计算结果,并合成;
(13)通知Ck(1≤k≤p)结束计算;
(14)结束本次计算。
设定4、多Agent合作模型,DG中的多Agent合作模型MS可以形式化的设定为一个四元组MS=(Agents,Tm,Sm,Space),其中Agents是所有合作实体Agent的集合;Tm为Agent间的通信机制;Sm为Agent间的服务机制;Space为所有Agent的存在空间。
设定5、Agent,一个Agent可以用一个四元组描述Agent=(Aid,Atype,Aarea,Adesc,ABDI,Aprg),其中Aid为Agent的唯一标志符;Atype为Agent的类型;Aarea为Agent在网格上的活动范围,Adesc为Agent的描述向量。ABDI为Agent的信念、愿望、意图等规则库;Aprg为Agent的可执行代码。
根据基于网格的数据并行计算的需求,本说明书对网格中的Agent做了如下分类:
设定6、资源管理智能体Arm,DG(Master,CCS,N,R)上的资源管理智能体Arm是在CCS的所有计算节点上的、用于资源的动态改变管理;其信念是所在计算节点是最具有能力的;其愿望是挖掘所在节点的计算、存储、通信能力,尽可能提高其所在计算节点在网格中的重要作用;其意图是根据本节点的资源状况、状态,与网格中其它Agent合作、竞争,达到其所辖计算节点的优化工作状态。
设定7、可靠性管理智能体Aa,DG上的可靠性管理智能体Aa是存在于在CCS的所有计算节点上的、用于资源的稳定性状态检测,主要检测其所在计算节点的CPU资源、内存资源、网络资源、各种服务的工作状态,并根据这些状态的数据来修正所在计算节点地可靠性参数;其信念是相信所在计算节点会出现各种故障;其愿望是发现所在节点的计算、存储、通信故障,尽可能降低其所在计算节点在网格中的重要作用,其与Arm是相矛盾的;其意图是根据本节点的资源状态信息,与网格中其它Agent合作、竞争,达到其所辖计算节点的优化工作状态。
设定8、机群管理智能体Acc,DG上的机群管理智能体Acc是存在于在CCS中每个机群的Master上、用来对其所辖所有计算节点的能力进行综合管理,根据其计算、存储、通信、服务能力等进行综合排队、管理,同时负责与其他机群的Acc协调、合作工作;其信念是相信其所辖机群能力是最强的;其愿望是发现所辖机群的尽可能夺得计算、存储、通信、服务资源,尽可能提高其所在网格中的重要作用;其意图是根据本机群的资源状态信息,与网格中其机群的Acc合作、竞争,达到其所辖机群的优化工作状态。
设定9、用户代理智能体Auser,DG上的网格管理智能体Auser是存在于在DG的Master上、用来代理用户的服务请求,根据请求的计算、存储、通信、服务等要求,负责与机群的Agrid协调、合作工作。
设定10、网格管理智能体Agrid,DG上的网格管理智能体Agrid是存在于在DG的Master上、用来对其所辖所有机群的能力进行综合管理,根据所有机群的计算、存储、通信、服务能力等进行综合排队、管理,同时负责与机群的Acc协调、合作工作;其信念是相信其所辖网格能力是最强的;其愿望是发现所辖网格的尽可能多的计算、存储、通信、服务资源,尽可能提高网格的吞吐率和效率;其意图是根据本网格的资源状态信息,与服务代理Agent合作,达到其所辖网格的优化工作状态。
设定11、网格服务智能体Aservice,DG上的网格服务智能体Aservice是存在于在DG的所有计算节点上、用来完成并行计算的特定的计算功能,如设定3的第(8)的子任务求解问题,其主要和不同的计算问题的并行分解相关,是网格对外并行服务的重要部分,其往往是一个智能体集合,本说明书计DG上的网格服务智能体集合为SAS。
每个网格服务智能体都有自己的BDI,一般情况下,一个Aservice的信念是相信其能提供最好的服务;其愿望是尽可能多的提供自身的服务;其意图是寻找所在网格上的对自己有益的最佳资源,并迁移到最佳资源节点,进行优化服务。
二、多Agent模型运作机制
由于DG的构成特点,随着计算机群数目、网络数目、计算节点的数目的增加,网格的可靠性问题变得非常重要,因此必须有一套有效的容错机制。检测点容错机制在传统的系统容错上扮演了重要角色,但该容错机制会产生多米诺效应,不适合基于网格的大规模计算应用。本说明书利用动态冗余机制、多Agent合作机制解决了该问题。容错技术也是本说明书这个合作模型主要考虑的问题。
冗余容错机制就是对一个重要的网格服务子任务由分布在不同计算节点上的、多个同功能的网格服务智能体共同实施完成,其中一个为第一完成者,其它为后备完成者;当第一完成者失效后,由后备完成者接替,这样可以避免单一失效点造成的网格性能下降的后果。
1)网格服务智能体状态
DG上的一个网格服务智能体被分为三个状态:主态、备态、沉睡。在服务过程中,当一个网格服务智能体为第一完成者,本说明书称该服务智能体为主态智能体;当一个网格服务智能体为后备完成者,本说明书称该服务智能体为备态智能体;如果一个服务智能体在一个计算节点中从不参与服务,本说明书称该服务智能体为沉睡智能体。
2)网格计算节点的状态
DG上的一个计算节点Ci有四个状态:主态、容态、备态、失效。在确定的时期内,如果计算节点Ci上的所有非沉睡服务智能体都处于主态,那么称该计算节点为主态节点;如果计算节点Ci上的非沉睡服务智能体主态和备态并存,那么称该计算节点为容态节点;如果计算节点Ci上的所有服务智能体都处于备态,那么称该计算节点为备态节点;如果计算节点Ci上的所有服务智能体都处于沉睡状态,那么称该计算节点为失效节点。
3)网格节点队列
针对网格的计算节点的上述的4个状态,本说明书在网格DG上构造4个节点队列,分别是主态队列Qmaster、容态队列Qslave、备态队列Qbak、失效队列Qfailure。这4个队列的长度分别记为:LQmaster、LQslave、LQbak、LQfailure。
按照设定6~11所描述的各类Agent的BDI,所有Agent通过合作、竞争目的是使各自所服务的计算节点、计算机机群尽可能发挥主要作用,即尽可能处于网格的主态队列中;按照这种驱动机制,本说明书把四个队列按优先级排队如下:
主态队列>容态队列>备态队列>失效队列
根据这个原则,本说明书给出计算节点的状态转换机制,网格计算节点的状态转换模型如图3所示。
4)多Agent合作规则
A)资源管理智能体Arm规则
一个网格计算节点Ci的性能的衡量参数一般可包括下面四个方面:
①Ci当前可提供的CPU计算能力Pcpu
②Ci当前可提供的内存存储能力Pmem
③Ci当前可提供的网络通信能力Pnet
④Ci当前可提供的磁盘I/O能力PI/O
资源管理智能体Arm负责动态监测计算节点Ci四个参数Pcpu、Pmem、Pnet、PI/O的变化,利用它们构成计算节点当前时刻的能力函数:
Pnode=f(Pcpu,Pmem,Pnet,PI/O) …………(1)
设本计算节点的上一时刻的能力函数值为PLnode,资源管理智能体Arm利用公式(1)计算当前时刻的能力函数值PCnode。
规则1、资源管理智能体Arm规则,如果PCnode>PLnode,则Arm向ACC申请向上一级计算节点状态转变。
B)可靠性管理智能体Aa规则
一个网格计算节点Ci的可靠性能的衡量参数一般可包括有下面两个方面:
①当前节点的正常状态标志器Pmark;当计算节点正常时,其值为1;当计算节点失效时,其值为0;
②计算节点成功完成网格服务智能体的比率:Psucc=计算节点成功完成的服务数目/计算节点接受的服务数目。设l1、l2、l3为三个小数,并且0<l1<l2<l3<1,那么
规则2、可靠性管理智能体Aa规则,
如果计算节点Ci的Pmark为false,则Arm向ACC通报Ci变为失效状态;
如果Psucc∈(0,L1),则Ci变为失效状态;
如果Psucc∈(L1,L2),则Ci变为后备状态;
如果Psucc∈(L2,L3),则Ci变为容态状态;
如果Psucc∈(L3,1),则Ci变为主态状态;
C)机群管理智能体Acc规则
一个机群CCi的性能的衡量参数如下:
Pcci=CCi所属计算节点为主态的数目/LQmaster
Pcci反映了机群CCi在DG中的主态计算节点的分布情况,Pcci越大,说明CCi的作用越大。
对于整个DG而言,Pcc1+Pcc2+…+Pccm=1。
CCi的Acc接收来自机群CCi所有计算节点上的Arm、Aa定期发来的Pnode、Pmark、Psucc;同时利用心跳侦测技术检测所有节点的有效状态。
机群CCi的当前时刻的能力函数:
PCCC=g(∑Pnode,∑Pmark,∑Psucc)…………(2)
这里∑表示综合机群CCi所有计算节点的参数。PCCC表示机群的计算节点在DG的主态队列Qmaster中的数目。
设机群CCi的上一时刻的能力函数值为PLCC,机群管理智能体Acc利用公式(2)计算当前时刻的能力函数值PCcc。
规则3、机群管理智能体Acc规则,
如果CCi的计算节点Ci的Pmark为false,则令Ci变为失效状态;
如果PCcc>PLcc或PCcc<PLcc,则Acc向Agrid申请计算节点状态转变。
D)网格管理智能体Agrid规则
Agrid接收来自DG所有机群的Acc定期发来的Pnode、Pmark、Psucc、PCcc;
根据如下规则分配LQmaster
规则4、网格管理智能体Agrid主态队列的分配,
begin algorithm
for i=1 to c
对机群CCi的所有主态计算节点按其提供的资源Pnode从大到小排序,形成临时队列Qcci;
每个机群分配一个计数器CCount[i]=0;
End for
Pcount=LQmaster;
For i=1 to c/*c为网格DG的机群个数*/
取机群CCi的PCcc;
If CCount[i]<PCcc then
取机群CCi的临时队列Qcci中最大的计算节点加入主态队列Qmaster,并从Qcci删除该计算节点;
CCount[i]++;/*机群CCi的主态节点计数器加1*/
Pcount--;/*分配一个主态节点指标*/
End if;
End for;
For i=1 to c
取机群CCi的临时队列Qcci中剩余的计算节点加入网格的容态队列;
End for;
Agrid广播新的主态、容态、备态、失效信息到所有机群和计算节点;
End algorithm
在图3中,5、6和7分别为多Agent合作规则中的资源管理智能体Arm规则、可靠性管理智能体Aa规则和机群管理智能体Acc规则。
本分配规则是根据各个机群当前时刻的能力采用round-robin机制分配,使得每个机群的主态节点数目符合其计算能力,这样可以发挥各个计算节点的实际计算效能,同时又使负载在网格上均衡分布,有利于网格规模的可扩展性的提高。
Claims (2)
1.一种网格环境下的大规模数据并行型计算主系统,包括:
一个动态网格监控系统,利用多Agent合作机制对动态网格实施有效动态的状态监控的网格管理系统;
其特征是,还包括由机群逻辑环构成的一个动态网格计算系统,其中:
所述机群逻辑环由设定编号的计算机机群按编号顺序逻辑联接构成,编号最后的机群的逻辑后继机群是编号为1的机群;所述编号是根据计算机机群的所有计算节点的综合计算能力的和按从大到小的顺序对所有机群进行设定的编号;
所述机群逻辑环上的各个计算机机群由计算节点逻辑环构成,所述计算节点逻辑环由设定编号的计算节点按编号顺序逻辑联接构成,编号最后的计算节点的逻辑后继节点是编号为1的计算节点;所述编号是根据每个计算节点的综合计算能力按从大到小的顺序对所有计算节点进行设定的编号,所述每个计算节点的综合计算能力是按照计算节点的计算性能、存储容量、I/O速度构成的资源权重向量计算出来的;
由机群逻辑环和计算节点逻辑环构成了动态网格计算系统;所述网格监控系统通过普通的Lan或Intranet监管和连接所述动态网格计算系统的每个计算机机群和计算节点。
2.根据权利要求1所述的网格环境下的大规模数据并行型计算主系统,其特征是,所述计算节点逻辑环中的计算节点的动态二维地址为二元组(r,o)地址;动态网格上的每个计算节点都能从所构造的机群逻辑环和计算节点逻辑环中获得一个二元组(r,o)地址,其中r为该计算节点所在机群的机群环编号,o为该计算节点在机群r的计算节点环中的逻辑编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100257308A CN100357930C (zh) | 2005-05-11 | 2005-05-11 | 网格环境下的大规模数据并行型计算主系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100257308A CN100357930C (zh) | 2005-05-11 | 2005-05-11 | 网格环境下的大规模数据并行型计算主系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1687917A CN1687917A (zh) | 2005-10-26 |
CN100357930C true CN100357930C (zh) | 2007-12-26 |
Family
ID=35305958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100257308A Expired - Fee Related CN100357930C (zh) | 2005-05-11 | 2005-05-11 | 网格环境下的大规模数据并行型计算主系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100357930C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7515552B2 (en) * | 2005-08-09 | 2009-04-07 | Mitsubishi Electric Research Laboratories, Inc. | Structured addressing method for wireless networks |
CN100440891C (zh) * | 2005-12-26 | 2008-12-03 | 北京航空航天大学 | 均衡网格负载的方法 |
CN100386986C (zh) * | 2006-03-10 | 2008-05-07 | 清华大学 | 数据网格系统中数据副本的混合定位方法 |
CN101217564B (zh) * | 2008-01-16 | 2012-08-22 | 上海理工大学 | 简单对象存取协议的并行通信系统及其实现方法 |
US8271974B2 (en) | 2008-10-08 | 2012-09-18 | Kaavo Inc. | Cloud computing lifecycle management for N-tier applications |
CN104035819B (zh) * | 2014-06-27 | 2017-02-15 | 清华大学深圳研究生院 | 科学工作流调度处理方法及装置 |
CN104184674B (zh) * | 2014-08-18 | 2017-04-05 | 江南大学 | 一种异构计算环境下的网络模拟任务负载平衡方法 |
CN105574152B (zh) * | 2015-12-16 | 2019-03-01 | 北京邮电大学 | 一种快速统计频数的方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003280921A (ja) * | 2002-03-25 | 2003-10-03 | Fujitsu Ltd | 並列性抽出装置 |
-
2005
- 2005-05-11 CN CNB2005100257308A patent/CN100357930C/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003280921A (ja) * | 2002-03-25 | 2003-10-03 | Fujitsu Ltd | 並列性抽出装置 |
Non-Patent Citations (2)
Title |
---|
一个面向数据密集型网格的通信模型 陈庆奎,那丽春.北京航空航天大学学报,第30卷第11期 2004 * |
面向机群并行计算的分组通信模型 陈庆奎,那丽春.上海理工大学学报,第27卷第1期 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN1687917A (zh) | 2005-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100357930C (zh) | 网格环境下的大规模数据并行型计算主系统 | |
Barbagallo et al. | A bio-inspired algorithm for energy optimization in a self-organizing data center | |
CN103164287B (zh) | 基于Web动态参与的分布式并行计算平台系统 | |
CN102271145A (zh) | 一种虚拟计算机集群及其实施方法 | |
JP2011516998A (ja) | ワークロード・スケジューリング方法、システム、及びコンピュータ・プログラム | |
CN104239555A (zh) | 基于mpp的并行数据挖掘架构及其方法 | |
Chen et al. | Tology-aware optimal data placement algorithm for network traffic optimization | |
CN111858033A (zh) | 基于集群和多进程的负载均衡方法 | |
Karthikeyan et al. | Saldeft: Self-adaptive learning differential evolution based optimal physical machine selection for fault tolerance problem in cloud | |
Malik | Dynamic load balancing in a network of workstations | |
Nandagopal et al. | Sender initiated decentralized dynamic load balancing for multi cluster computational grid environment | |
Bragard et al. | Global dynamic load-balancing for decentralised distributed simulation | |
Nandagopal et al. | Decentralized dynamic load balancing for multi cluster grid environment | |
CN106844021B (zh) | 计算环境资源管理系统及其管理方法 | |
Ding et al. | A heuristic algorithm for agent-based grid resource discovery | |
Cao et al. | Communication optimisation for intermediate data of MapReduce computing model | |
Sun et al. | Optimizing grid resource allocation by combining fuzzy clustering with application preference | |
Lu et al. | Grid load balancing scheduling algorithm based on statistics thinking | |
Barhen et al. | The pebble crurching model for load balancing in concurrent hypercube ensembles | |
Mahato | Reliability maximization of grid transaction processing system using cuckoo search-ant colony optimization | |
Xhafa et al. | A compendium of heuristic methods for scheduling in computational grids | |
Yu et al. | A New Architecture of Task Classification Oriented Atomization Computing Scheduling | |
Lee et al. | Data sharing pattern aware scheduling on grids | |
Huang et al. | A Virtual Network Mapping Method Based on Compound Particle Swarm Optimization | |
Zhao et al. | Ppvc: A p2p volunteer computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071226 |