面向数据并行型网格的软件体系结构的制作方法

文档序号:7953895阅读:362来源:国知局
专利名称:面向数据并行型网格的软件体系结构的制作方法
技术领域
本发明涉及一种面向数据并行型网格计算所需要的,基于对象技术的、支持大规并行计算的软件体系结构及其实现方法。
背景技术
随着信息技术、Internet的飞速发展和广泛应用,人们对高性能计算和海量信息处理技术的需求越来越迫切,这些主要表现在越来越多的计算密集型和数据密集型应用呈现在学术界和工业界的面前。它们不仅仅是大规模科学计算和海量信息处理等高端应用所需要的问题,而且更普遍地存在于低端信息世界的应用领域中。这些低端应用包括面向计算机支持的协同设计环境应用(如有限元分析计算Algor)、网络规划工程和手机移动短信息处理和查询等。这些任务都需要高性能计算资源的有效支持。一方面,虽然高性能计算机在不断地飞速发展,但由于成本和维护代价的制约,其远远不能满足越来越广泛的计算密集型应用和海量信息处理的需要。另一方面,目前由多个计算机机群构成的Intranet越来越多,大量廉价的个人计算装置随处可见,但是它们的资源利用率是非常低的。国外文献研究指出,在一个网络环境下,给定的时间内有许多资源没被使用,即使在一天最繁忙的时候,仍有三分之一的工作站完全未用,机群中的70%到85%的网络存储器处于空闲状态。所以,挖掘利用由多个计算机机群构成的网络上的空闲的计算资源、存储资源、通信资源,可以得到大量的、非专用的、廉价的、大规模的高性能处理和计算资源。鉴于这一研究工作的主要障碍是软件和硬件的异构性,网格成为一个可行的解决方案。所以,用Intranet和多计算机机群为部件可以构建非专用的、大规模的、廉价的并行计算网格和海量数据查询处理网格。这样的网格具有良好的自治性、自相似性、异构性、管理的多样性、强大的并行I/O能力以及非常高的性能价格比。
数据并行型计算模式是基于机群的最有效的并行模式之一。数据并行型计算模式是以数据并行方式来工作的,同步只发生在数据需要交换时。目前,已经有许多基于机群的数据并行型开发环境和语言工具,如基于并行虚拟机机制的PVM和基于通信空间和函数库的MPI。由于PVM的虚拟机机制增加了Intranet计算装置管理的复杂度,并不完全适合网格计算。MPI虽然具有很好的异构支持特性和简单的编程方式,但其还是没有适合动态变化的网格计算资源的能力(计算节点数目在计算过程中动态变化)。Java语言是一个异构支持能力很强的对象开发语言,通过构件技术,其已经成为当今分布式开发技术中的主流语言,可以作为网格开发的有效工具。有关JAVA的并发编程技术研究已经很多,其中有研究基于Java的新的存储模型和用于并发编程的工具,还有讨论Java中的并发编程模型。然而它们都是针对特殊问题的研究,不是全局的、广泛的并行软件编程体系构架。由于并行程序设计模式和语言的具有很高的复杂性,因此基于网格计算环境的软件设计与开发需要一系列切合实际的软件体系结构。通过研究软件体系结构和构造特定应用领域软件体系结构及框架可以有效地解决网格并行计算的复杂性问题。有关基于网格的并行计算软件体系结构的研究并不多见。

发明内容
本发明的目的是为了有效地解决网格并行计算的复杂性问题,提供一种面向数据并行型网格的软件体系结构。
本发明的技术方案是,一种面向数据并行型网格的软件体系结构,其特点是,数据并行型网格DPG的软件体系结构为八元组SDPG,它包括1)行在物理计算机机群PCC上的软件系统SPCC;2)运行在逻辑计算机机群LCC上的软件系统SLCC;3)运行在网格主控制器GM上的软件系统SGM;4)运行在物理机群主控制器PM上的软件系统SPM;5)运行在物理计算机PC上的软件系统SPC;6)运行在逻辑机群主控制器LM上的软件系统SLM;7)运行在逻辑计算节点LC上的软件系统SLC;8)运行在独立计算节点CC上的软件系统SCC。
所述的数据并行型网格DPG,包括下列部件1)物理计算机PC一个物理计算机为四元组(RSV,RV,TS,st),其中RSV(rCpu,rmem,ri/o,rnet)为其资源向量,rCpu,rmem,ri/o,rnet分别是该计算机的中央处理器处理能力、内存存储容量、磁盘I/O速度和网络通信能力的规范化度量;TS={ts1,ts2,…,tst}为一天24小时内其空闲(Idle)时间段的集合,且每个tsi(1≤i≤t)都是一个由起始时间和结束时间构成的数偶<inf,sup>,时间度量单位为秒且以0点为一天的开始时间,TS可以由各个物理计算机的拥有者提供;RV为其可靠性度量向量;st∈{Local,Idle,Running}为其所处的状态,Local状态表示其正在进行本地任务计算,Idle状态表示其处于闲置状态(可以参与网格计算),Running状态表示其正在参与网格的计算工作。
2)物理计算机群PCC一个物理计算机群PCC,它为PM,PCS,PN,PAR组成的四元组,其中PM为物理机群的主控制机(Master),PCS为其所拥有的从属物理计算机(Slaver)的集合,PN为其互联网络集合,PNR为网络连接规则。
3)逻辑计算节点LC一个逻辑计算节点LC,它为PC,GCS,rol组成的三元组,其中PC为该LC所对应的物理计算机、且∃ts∈PC.]]>TS∧tts,这时PC的状态是Idle或Running;GCS为运行在其上的网格计算软件系统;rol∈{Master,Slaver,Single}为其所担任的角色,Master角色表示该LC为一个逻辑计算机机群LCC的主控制机,Slaver角色表示该LC为一个逻辑计算机机群的从属计算机,Single角色表示该LC作为一个独立计算节点来参与网格计算。
4)独立计算节点CC,如果一个逻辑计算节点LC,在任意一个时间段ts,如果LC对应的PC.st=“Running”并且LC不属于任何LCC,则称该LC为独立计算节点,其状态为“Single”,并记为CC。
5)逻辑计算机机群LCC一个逻辑计算机机群LCC,它为LM,LCS,PCS组成的三元组,其中LM为逻辑机群的主控制机;LCS={LC1,LC2,…,LCc}为其从属逻辑计算机的集合;PCS为支持该LCC的物理计算机机群、且有LCSPCS;设TS0,TS1,TS2,…,TSc分别为LM,LC1,LC2,…,LCc所拥有的空闲时间段的集合,那么在任意一个时间段ts,LCC成立的充分条件是存在c+1个时间段ts0,ts1,ts2,…,tsc,有tsi∈TSi,(0≤i≤c)∧tsts0∩ts1∩ts2∩…∩tsc。
6)优化的逻辑计算机机群,在时间段ts有一个LCC,且LM,LC1,LC2,…,LCc为其所有逻辑计算节点;MRSV,MRV为其所有逻辑计算节点的资源向量、可靠性度量向量构成的矩阵,optimized(MRSV,MRV)是根据LCC的网络状况、各计算节点的计算资源以及可靠性特征等进行优化计算的函数;ε为一个小常量,LCC的各个逻辑计算节点的空闲时间段构成的集合为{ts0,ts1,ts2,…,tsc}、且有tstsi(0≤i≤c);如果LCC在时间段ts满足 (MRSV,MRV),则称LCC为优化的逻辑计算机机群。
7)物理机群主控制器PM、网格主控制器GM所述的物理机群主控制器PM、网格主控制器GM为DPG的控制节点,其软件结构为由MS,DC,UCS,DBS组成的四元组SM,其中MS为控制节点上的网格管理软件系统;DC为控制节点上的分层数据通道系统;UCS为控制节点上的统一通信系统;DBS(Data Base System)为控制节点上的数据库系统。
所述的运行在LC上的软件系统SLC为逻辑计算节点的软件结构,它为五元组,它包括1)辑计算节点上的网格管理软件系统MS(Management System);2)逻辑计算节点上的数据并行型计算驱动系统CS(Computing System);3)逻辑计算节点上的分层数据通道系统DC(Data Channel);4)逻辑计算节点上的统一通信系统UCS(Uniform Communication System);5)逻辑计算节点上的并行计算的算法构件库CM(Computational Methods)。
所述的DPG的控制节点(PM、GM)和逻辑计算节点软件结构中的DC、UCS子系统是DPG的两个连接器枢纽,DC负责完成各类节点内部各个子系统之间的信息通信功能,UCS负责与其他节点部件之间的通信功能。
所述的数据并行型网格DPG的软件体系结构SDPG所支持的数据并行计算,它包括1)数据并行型计算DPG上的一个数据并行型计算(Data Parallel Computation)为四元组DPC(DS,LCC,ACM,ACS),其中DS为数据的集合;LCC为支持该DPC的逻辑计算机机群;ACM为运行在LCC的Master上的并行算法的集合;ACS为运行在LCC的Slavers上的并行算法的集合;2)退化的数据并行型计算DPG上的一个退化数据并行型计算(Degenerate Data ParallelComputation)为三元组DDPC(DS,CC,AS),其中DS为数据的集合;CC为支持该DDPC的独立计算节点;AS为运行在CC算法的集合;3)增广的数据并行型计算DPG上的一个增广的数据并行型计算(Expanded Data ParallelComputation)为四元组EDPC(DS,LCCS,ACM,ACS),其中DS为数据的集合;LCCS为支持该EDPC的多个逻辑计算机机群构成的集合;ACM为运行在DPG的Master上的并行算法的集合;ACS为运行在所有LCC的逻辑计算节点上的并行算法的集合;4)DPG的数据并行型计算集合在任意一个时间段ts,DPG的数据并行型计算任务的集合为DPCS∪DDPCS∪EDPCS,其中DPCS为DPG的所有DPC任务的集合;DDPCS为DPG的所有DDPC任务的集合;EDPCS为DPG的所有EDPC任务的集合。
本发明具有以下优点和积极效果本发明为基于网格的数据并行型应用提供了一套可行的软件体系结构,本发明是利用现有的Intranet网络、分布在各地的计算节点进行大规模并行计算,并且这些计算资源的结构、软件系统可以是异构的,网络互联可以是任意技术的。通过有效计算节点软件结构来构建大规模数据并行型计算所需的软件构架。该体系结构具有良好的软件并行开发性、异构支持能力以及可扩展性,该体系框架可以降低网格数据并行型应用的开发难度,适合网格异构环境下大规模数据并行型计算应用的开发与实现。本发明的大规模数据并行型计算系统是基于上述优点的,非常适合在Intranet上的大规模数据并行型计算的需要,提出了有意义的有价值的软件体系结构和实现技术、方法。


图1为数据并行型网格(DPG)的软件总体结构图;其中SPCC为运行在物理计算机机群(PCC)上的软件系统;SLCC为运行在逻辑计算机机群(LCC)上的软件系统;SGM为运行在网格主控制器(GM)上的软件系统;SPM为运行在物理机群主控制器(PM)上的软件系统;SPC为运行在物理计算机(PC)上的软件系统;SLM为运行在逻辑机群主控制器(LM)上的软件系统;SLC为运行在逻辑计算节点(LC)上的软件系统;SCC为运行在独立计算节点(CC)上的软件系统。
图2(a)DPG的控制节点软件结构图;其中MS为控制节点上的网格管理软件系统;DC为控制节点上的分层数据通道系统;UCS为控制节点上的统一通信系统;DBS(Data Base System)为控制节点上的数据库系统;图2(b)DPG的逻辑计算节点软件结构图;其中MS(Management System)为逻辑计算节点上的网格管理软件系统;CS(ComputingSystem)为逻辑计算节点上的数据并行型计算驱动系统;DC(Data Channel)为逻辑计算节点上的分层数据通道系统;UCS(Uniform Communication System)为逻辑计算节点上的统一通信系统;CM(Computational Methods)为逻辑计算节点上的并行计算的算法构件库;图3通过DC和UCS连接的LCC软件结构图;其中英文缩写参见图2的注释,有*型图标的节点为该LCC的LM。
图4DPG的基本数据单元;本图是基本通信单元的UML表示。
图5数据通道(DC)的结构图;本图是数据通道的UML表示。
图6统一通信系统(UCS)结构图;本图是统一通信系统的UML表示。
图7网格管理软件系统(MS)的结构图;本图是MS的UML表示。
图8CS和CM(并行计算的算法构件库)的关系结构图。
本图是UML表示。
具体实现方式通过现有的Intranet上的多个计算机机群的计算机,构建可扩展的、异构的、通用的数据并行型网格计算环境来支持数据并行型计算。采用主从(Master-Slaver)模型来实施数据并行型计算。由图1所示,一种面向数据并行型网格的软件体系结构,其特点是,数据并行型网格DPG的软件体系结构为八元组SDPG,它包括1)在物理计算机机群PCC上的软件系统SPCC;2)运行在逻辑计算机机群LCC上的软件系统SLCC;3)运行在网格主控制器GM上的软件系统SGM;4)运行在物理机群主控制器PM上的软件系统SPM;5)运行在物理计算机PC上的软件系统SPC;6)运行在逻辑机群主控制器LM上的软件系统SLM;7)运行在逻辑计算节点LC上的软件系统SLC;8)运行在独立计算节点CC上的软件系统SCC;各个子系统构成UML体系结构,各个子系统之间的UML关系如图1所示,图中椭圆表示一个协同系统。
所述的数据并行型网格DPG,包括下列部件1)物理计算机PC一个物理计算机为四元组(RSV,RV,TS,st),其中RSV(rCpu,rmem,ri/o,rnet)为其资源向量,rCpu,rmem,ri/o,rnet分别是该计算机的中央处理器处理能力、内存存储容量、磁盘I/O速度和网络通信能力的规范化度量;TS={ts1,ts2,…,tst}为一天24小时内其空闲(Idle)时间段的集合,且每个拈tsi(1≤i≤t)都是一个由起始时间和结束时间构成的数偶<inf,sup>,时间度量单位为秒且以0点为一天的开始时间,TS可以由各个物理计算机的拥有者提供;RV为其可靠性度量向量;st∈{Local,Idle,Running}为其所处的状态,Local状态表示其正在进行本地任务计算,Idle状态表示其处于闲置状态(可以参与网格计算),Running状态表示其正在参与网格的计算工作。
2)物理计算机群PCC一个物理计算机群PCC,它为PM,PCS,PN,PNR组成的四元组,其中PM为物理机群的主控制机(Master),PCS为其所拥有的从属物理计算机(Slaver)的集合,PN为其互联网络集合,PNR为网络连接规则。
3)逻辑计算节点LC一个逻辑计算节点LC,它为PC,GCS,rol组成的三元组,其中PC为该LC所对应的物理计算机、且∃ts∈PC.]]>TS∧tts,这时PC的状态是Idle或Running;GCS为运行在其上的网格计算软件系统;rol∈{Master,Slaver,Single}为其所担任的角色,Master角色表示该LC为一个逻辑计算机机群LCC的主控制机,Slaver角色表示该LC为一个逻辑计算机机群的从属计算机,Single角色表示该LC作为一个独立计算节点来参与网格计算。
4)独立计算节点CC,如果一个逻辑计算节点LC,在任意一个时间段ts,如果LC对应的PC.st=“Running”并且LC不属于任何LCC,则称该LC为独立计算节点,其状态为“Single”,并记为CC。
5)逻辑计算机机群LCC一个逻辑计算机机群LCC,它为LM,LCS,PCS组成的三元组,其中LM为逻辑机群的主控制机;LCS={LC1,LC2,…,LCc}为其从属逻辑计算机的集合;PCS为支持该LCC的物理计算机机群、且有LCSPCS;设TS0,TS1,TS2,…,TSc分别为LM,LC1,LC2,…,LCc所拥有的空闲时间段的集合,那么在任意一个时间段ts,LCC成立的充分条件是存在c+1个时间段ts0,ts1,ts2,…,tsc,有tsi∈TSi(0≤i≤c)∧tsts0∩ts1∩ts2∩…∩tsc。
6)优化的逻辑计算机机群,在时间段ts有一个LCC,且LM,LC1,LC2,…,LCc为其所有逻辑计算节点;MRSV,MRV为其所有逻辑计算节点的资源向量、可靠性度量向量构成的矩阵,optimized(MRSV,MRV)是根据LCC的网络状况、各计算节点的计算资源以及可靠性特征等进行优化计算的函数;ε为一个小常量,LCC的各个逻辑计算节点的空闲时间段构成的集合为{ts0,ts1,ts2,…,tsc}、且有tstsi(0≤i≤c);如果LCC在时间段ts满足 则称LCC为优化的逻辑计算机机群。
7)物理机群主控制器PM、网格主控制器GM所述的物理机群主控制器PM、网格主控制器GM为DPG的控制节点,其软件结构为由MS,DC,UCS,DBS组成的四元组SM,其中MS为控制节点上的网格管理软件系统;DC为控制节点上的分层数据通道系统;UCS为控制节点上的统一通信系统;DBS(Data Base System)为控制节点上的数据库系统;各个子系统之间的关系图2(b)所示。
所述的运行在LC上的软件系统SLC为逻辑计算节点的软件结构,它为五元组,它包括1)计算节点上的网格管理软件系统MS(Management System);2)逻辑计算节点上的数据并行型计算驱动系统CS(Computing System);3)逻辑计算节点上的分层数据通道系统DC(Data Channel);4)逻辑计算节点上的统一通信系统UCS(Uniform Communication System);5)逻辑计算节点上的并行计算的算法构件库CM(Computational Methods)。
各个子系统之间的关系图2(a)所示。DPG的独立计算节点和LCC的主控制器LM都采用这样的软件结构。
所述的DPG的控制节点(PM、GM)和逻辑计算节点软件结构中的DC、UCS子系统是DPG的两个连接器枢纽,DC负责完成各类节点内部各个子系统之间的信息通信功能,UCS负责与其他节点部件之间的通信功能。图3表示一个由四个逻辑计算节点构成的逻辑计算机机群,逻辑计算节点之间以DC和UCS为连接器构成的一个协同计算系统,图中标有*型图标的节点为该LCC的LM。
所述的数据并行型网格DPG(Data Parallel Grid)为五元组(GM,LCCS,CCS,LOCS,PCCS),其中GM为网格主控制器;LCCS为其优化的逻辑计算机机群的集合;CCS为网格中参与计算的独立计算节点的集合;PCCS为构成该网格的物理计算机机群的集合;LOCS为其中状态为“Local”的物理计算机的集合;DPG的PC的数目满足(LCCS∪CCS∪LOCS=PCCS)∧(LCCi,LCCj∈LCCS,LCCi∩LCCj=φ)。以下的LC、CC、LM统称为逻辑计算节点。
所述的数据并行型网格DPG的软件体系结构SDPG所支持的数据并行计算,它包括1)据并行型计算DPG上的一个数据并行型计算(Data Parallel Computation)为四元组DPC(DS,LCC,ACM,ACS),其中DS为数据的集合;LCC为支持该DPC的逻辑计算机机群;ACM为运行在LCC的Master上的并行算法的集合;ACS为运行在LCC的Slavers上的并行算法的集合;2)退化的数据并行型计算DPG上的一个退化数据并行型计算(Degenerate Data ParallelComputation)为三元组DDPC(DS,CC,AS),其中DS为数据的集合;CC为支持该DDPC的独立计算节点;AS为运行在CC算法的集合;3)增广的数据并行型计算DPG上的一个增广的数据并行型计算(Expanded Data ParallelComputation)为四元组EDPC(DS,LCCS,ACM,ACS),其中DS为数据的集合;LCCS为支持该EDPC的多个逻辑计算机机群构成的集合;ACM为运行在DPG的Master上的并行算法的集合;ACS为运行在所有LCC的逻辑计算节点上的并行算法的集合;4)DPG的数据并行型计算集合在任意一个时间段ts,DPG的数据并行型计算任务的集合为DPCS∪DDPCS∪EDPCS,其中DPCS为DPG的所有DPC任务的集合;DDPCS为DPG的所有DDPC任务的集合;EDPCS为DPG的所有EDPC任务的集合。
上述的面向数据并行型网格的软件体系结构中包括逻辑计算节点部件,它包括DPG的基本数据单元、数据通道(DC)结构、UCS结构、MS结构和CS和CM结构。
1、DPG的基本数据单元1)程序计算机机群(Program Cluster),它为三元组PRC(PRM,Slaver-Set,N),其中PRM为机群主控制器,Slaver-Set为从属计算节点的集合,N为从属计算节点的个数。在PRC中每个虚拟计算节点从0到N进行编号,PRM的编号为0.PRC是并行算法应用程序员基于Master-Slavers模式编程时所用到的抽象计算装置,其中N的值可以由应用程序员自己定义。
2)DPG的数据包DPG的数据包(Data packet)是并行计算中一个连续时间段内生成数据单位,可以是一个命令、一个数据块、或一个大数据集,它与数据的长短无关,仅与数据生成的连续时间约束有关,它为四元组DP(task,stream,addressSet,dataset),其中task为计算任务对象,是基于XML的并行计算步骤描述;stream数据流标识对象,标识该数据包属于并行计算的某一阶段的某个数据流;addressSet为多维通信地址对象集;dataset为被传输的数据对象。
3)DPG的短数据DPG的短数据(short data)是一个DPG的数据包。DPG的控制命令就是一种特殊的短数据。
4)DPG的长数据DPG的长数据(long dada)是由若干个DPG的数据包构成的数据流,这些数据包之间具有密切的语义聚合关系,并且具有相同的stream标识对象。
5)DPG的基本数据单元DPG的各个部件CS、UCS、MS、DC、DBS都是以DPG的数据包形式进行数据或命令传输的,所以称DP为DPG的基本数据单元。
DPG的基本数据单元如图4所示。
通过变换addressSet所集成的地址内容使基本数据单元具备了远程或本地通信的特性。
通过addressSet,task,stream三个标识对象系统可以知道dataset的源计算节点、源进程、源计算任务步骤以及其上的数据流,亦可以知道dataset的目的计算节点、目的进程、目的计算任务步骤以及其上的数据流。
注意,stream对象是用于标识一个长数据流的,通信的双方必须具有同一个stream标识对象。
对于远程通信,数据包亦可以体现并行计算所需要的点对点、选播和广播机制。
在Source address和Destination address类中,属性processID为SPDG中各个系统部件中的进程的标识符;processName是进程名字;portID为CMS通信端口标识符;ipAddress是机群节点的IP地址;prcNodeNo为用户的程序计算机机群所定义的计算节点编号。Task类中的属性是并行计算的各个阶段的标识符,是Master-Slaver模型中各协作节点的同步的标志。
编写CM的并行算法应用程序员在编程过程中仅仅涉及prcNodeNo和特定的processName,不必知道其它通信地址、端口等属性。DC将完成prcNodeNo到ipAddress的映射转换工作。
2、据通道(DC)结构DC(Data Channel)作为逻辑计算节点的内部连接器,在DPG的运作过程中起着重要的作用。一方面,DC需要连接来自MS、CS的内部信息;另外一方面,DC还要容纳CS、UCS、MS间的通信信息;这些信息既包括控制命令又包括计算数据。DC的结构如图5所示。
由图5可以看出,DC由若干个子通道构成,每个通道可以是局部通道(Local Channel负责节点内部的通信),也可以是全局通道(Global Channel负责逻辑计算节点间的通信);从另一方面来看,局部通道和全局通道又可分为命令通道(Command Channel)和数据通道(Data Channel);对于命令通道来说可以根据通道协议来定义通道的操作策略,如F通道技术[23]。图中的Multi-packet Channel和Single packet Channel是逻辑上的通道,只是为了反映通道和长数据、短数据之间的关系,是虚拟的。
所述DC中的通道定义DC中的通道是遵守一定通信协议的DPG的基本数据单元构成的序列。
根据通道定义和图5可知,DC亦可以提供数据并行型计算所需要的点对点、选播、广播等通信技术。
3、UCS结构UCS是连接逻辑计算节点和网格中的其它逻辑计算节点的部件。对外它基于网络通信技术,对内它和基于通道技术的DC相连。UCS的结构如图6所示。
Data packet被Asynchrony Receiver和Asynchrony Sender转发到网络上,并且它们独立于具体的网络通信协议。这种分层风格可以使UCS运行在不同的物理网络上,因而具有良好的网络异构性支持能力。通过Data Stream Controller,UCS可以有效地控制Long Data的通信问题。Communication controller采用逻辑异步通信机制,可以有效地提高计算任务与通信任务间的并发能力,并且它和底层通信协议的同步与异步无关。底层通信协议可以是TCP、UDP、IPX、SPX、SOAP等,还可以根据这些协议的特点来优化Communication controller的底层实现。
4、MS结构MS是网格管理软件系统,它的基本功能包括任务迁移管理器(migration MGR)、文件管理器(FileMGR)、计算资源管理器(Resource MGR)、可靠性管理器(Reliability MGR)、输入输出设备管理器(input/output device MGR)、机群管理器(Cluster MGR)、网格管理器(Grid MGR)、全局时钟管理器(Global Timer)、负载均衡管理器(Load Balance MGR)。MS结构如图7所示。
5、CS和CM结构CS为并行计算驱动系统,CM为并行算法构件库。CS和CM的结构如图8所示。
应用程序员的编程工作是基于程序计算机机群PRC(PRM,Slaver-Set,N)进行的,其中N的值可以由程序员根据数据情况自己定义,但要封装到Data Partition中。DC负责prcNodeNo到ipAddress的映射转换工作。
由CM的结构可知,数据并行型计算的应用算法程序员需要向DPG提供三个部件第一部分是基于XML技术的数据划分描述Data partition,Data Partition被预先注册到DPG的GM的DBS上,求解问题的用户只需按Data partition的描述框架给出需要求解的原始数据。Data Partition的数据划分是按照程序计算机机群来进行的,且要求数据划分的尽可能均衡,数据的颗粒尽可能小(即N尽可能大)。
第二部分是运行在PRM上的主控(Master)算法ACM(Algorithm component running onMaster),这和普通的Master-Slaver模式的编成过程相似。但ACM要遵循的三个新要求(1)数据存取都以基本数据单元模式;(2)定期把产生的基本数据单元传送给CS;(3)编程是基于程序计算机机群PRC的构架进行。
第三部分是运行在从属计算节点上的从计算程序(Slaver)的算法ACS(Algorithmcomponent running on Slaver),其要求同ACM。
ACM和ACS的对外通信都是通过构造基本数据单元来实现的。把这些基本数据单元传给CS,CS把它们传给DC,从而实现了与外界的通信过程。关于DPC所需的点对点、选播、广播等问题,可以根据基本数据单元中的Destination Address的数目来调整。可见,这种结构的编程模式屏蔽了具体网络通信细节,减轻了网络通信技术对应用算法程序员的压力。
最后,为了实现该应用问题的退化的数据并行型计算,应用算法程序员还要给出相应的串行算法SACSC(Serial Algorithm component running on Single Computer)。同样SACSC也要遵循ACM所遵循的三个新要求。
所有Data partition、ACM、ACS、SACSC都要注册到DPG的GM的DBS上,当一个物理计算节点要参与该类DPC计算时,要到DPG上下载相应的并行算法构件,并且部署到本地节点上。
所述的数据并行型网格DPG的软件体系结构SDPG所支持的数据并行计算过程为了得到大规模并发性,DPG采用支持三种模式的数据并行型计算DPC、DDPC和EDPC.DDPC、EDPC分别是DPC的退化和增广,其计算过程都类似DPC过程,所以本节仅仅讨论DPC的计算过程。由于DPC过程涉及协同环境内的系统对象太多,UML交互图过于庞大,这里仅仅给出过程的算法描述。
已知一个应用程序员注册了一个数据并行型应用DPCA(Data partition,ACM,ACS,SACSC)到DPG的GM的DBS上。一个DPC用户通过用户代理提交了一个基于该DPC的Data partition的计算数据D到GM。假设DPG的所有逻辑计算节点都已经完成了上述系统构件的部署工作。
1、DPC计算过程举例在某一时间段ts。
(1)GM驱动DPG的所有“Idle”节点的资源管理器、机群管理器、全局时钟管理器和网格管理器,协同计算形成一系列逻辑计算机机群(LCC),并根据计算数据D的规模选择一个适当的LCC执行D;GM传输D到该LCC的LM,并启动任务;(2)被启动的LCC的LM启动所有从属逻辑计算节点;LM的负载均衡管理器(Loadbalance MGR)把D按照Data partition的划分、按照一定的负载均衡策略(如ROUND-ROBIN),从程序计算机机群PRC映射到LCC的所有计算节点上;(3)各个逻辑计算节点的UCS和LM的UCS协同工作,接收分配到的任务、存入数据通道DC;并通知计算节点上CS创建本地计算进程LM创建ACM进程,所有从属逻辑计算节点创建ACS进程;各个节点上的输入/输出设备管理器通过事件截获、重定向技术封锁外部事件,直到时间段ts结束;(4)ACM进程和所有ACS进程通过各自节点上的CS、DC、UCS进行信息沟通,来协同计算完成任务D的求解工作;所有信息均以基本数据单元的形式在通信链路上流动(即,应用程序员的网络通信工作转化为基本数据单元的构造工作),并且ACM和ACS在构造基本数据单元的通信地址时仅仅填写程序计算机机群的逻辑编号prcNodeNo(图4),DC将完成prcNodeNo到ipAddress的映射转换工作;(5)ACM进程和所有ACS进程通过各自节点上的CS、DC,从各自的MS上获取控制信息(如时钟);[6]ACM进程和所有ACS进程通过各自节点上的CS、DC,在并行执行的各个阶段发送执行中间结果基本数据单元到MS的文件管理器;文件管理器进行本地存储、备份(以便容错,如实现检测点容错技术);(7)各个节点上的MS的可靠性管理器检测本地计算资源的稳定情况;检测外部输入事件,并通过“心跳”技术和LCC的LM定期交换信息;定期传输中间结果到LM,LM汇总中间结果到其所在的物理计算机机群的DBS上;(8)如果时间段ts结束,并且任务D并未执行完,那么需要任务迁移工作。ACM进程和所有ACS进程在同一个计算步骤(由Task类实例标识)结束工作;各个计算节点上的MS的任务迁移管理器通知文件管理器读取中间结果,并传输到LM的迁移管理器;LM的迁移管理器汇总中间结果,并传输到DPG的GM上;GM负责任务的继续计算工作;(9)如果在时间段ts内任务D完成,则ACM汇总结果并通过CS、DC传输到MS的文件管理器;MS的文件管理器传输结果到GM。
DDPC和EDPC过程和DPC过程类似,区别在(1)参与计算的计算节点规模不同;(2)EDPC需要更有效的网络通信资源利用机制,如多级分组通信模型。
2、分析与实验通过分析和实验可以看出本发明的有益效果定理1SDPG软件体系结构具有良好的软件并行开发架构、良好的异构环境支持能力和良好的软件结构可扩展性。
证明(1)从图1、图2所描述的SDPG构架中可知,SDPG的软件体系结构是基于分层风格的。它采用网格、物理机群、逻辑机群、逻辑计算节点和独立计算节点等部件。各个部件之间使用统一的连接器,这种开发构架更适合软件的并发设计与并发实现机制。另一方面,在逻辑计算节点内部采用对象构件技术(CS、MS、CM)、分层通道技术(DC)和统一网络通信机制(UCS),各个子系统间的偶合度大大降低,使得设计与实现过程的并行度大大地提高。所以,SDPG软件体系结构具有良好的软件并行开发架构。
(2)由于SDPG的统一通信系统(UCS)是基于抽象异步通信机制的,并且可以通过任何具体网络协议给以实现,所以SDPG的远程通信系统具有良好的异构适应能力。其次,系统部件MS、DC和CS可以利用基于虚拟机的程序设计语言(JAVA、C#)来开发,来提高异构适应能力。对于数据并行型应用算法构件库(CM),由于其是基于XML技术的数据划分模式、基于构件技术的Master-Slaver并行算法,可以在不同的操作系统(Windows、Unix、Linux等)下实现,所以,SDPG软件体系结构具有良好的异构环境支持能力。
(3)由于DPG采用DPC、EDPC和DDPC三种数据并行模式,且三种模式在DPG中可以同时并存,而SDPG结构可以支持这三种计算模式。软件结构的计算规模仅仅和支持SDPG的物理计算系统的规模有关(当然需要各类计算与硬件能力的形式化映射模型,另文论述)。其次,可以通过累积更多的数据并行型应用算法来扩充CM,通过更多的管理策略来完善MS、通过更有效的信道技术来优化DC、通过更好的通信协议来改进UCS;所以,SDPG具有良好的软件结构可扩展性。
定理2SDPG可以降低基于网格的数据并行型应用程序的开发难度。
证明DPG是一个十分复杂的、又极其不可靠的计算环境。导致复杂性的因数有很多,如容错问题、负载均衡问题、信息安全问题、通信问题以及协同计算问题等。应用程序员在编写数据并行型算法的过程中考虑上述因素将是一个非常困难的事情。本文论述的SDPG软件框架让应用程序员编制四个常规技术的算法或数据描述,且仅仅在编写ACM和ACS时需要增加一些数据备份操作、数据并行步(task类定义)的描述问题。这些新增加的操作又都被基本数据单元封装。所有通信问题都转化成基本数据单元的构造问题。所以SDPG可以降低基于网格的数据并行型应用程序的开发难度。
定理3.SDPG适合网格异构环境下的大规模数据并行型计算。
证明.数据并行型计算是一种主流的并行计算模式,通过Master-Slaver驱动框架,适合基于网格的并行计算。为了更好地挖掘DPG资源的并行度,SDPG支持DPC、EDPC、DDPC三种数据并行型计算。DPG通过单一逻辑计算机机群、多个协同的逻辑计算机机群和独立计算节点来执行这三种计算。SDPG可以根据各个时间段内的空闲计算资源、网络通信资源和计算任务对资源的需求情况,来构造多个计算装置来支持多个数据并行型计算。SDPG结构所支持的并行计算的规模仅与DPG物理计算资源的规模和空闲情况相关。所以SDPG适合网格异构环境下的大规模数据并行型计算。
在基于网格的数据并行型计算模型(并行关系查询、数值计算)的研究过程中,利用JAVA虚拟机语言实现了基于LINUX、windows或混合系统的多个计算机机群构成的数据并行型网格,并且该软件体系结构已经应用于一个并行网格的实现过程中。
权利要求
1.一种面向数据并行型网格的软件体系结构,其特征在于,数据并行型网格DPG的软件体系结构为八元组SDPG,它包括1)运行在物理计算机机群PCC上的软件系统SPCC;2)运行在逻辑计算机机群LCC上的软件系统SLCC;3)运行在网格主控制器GM上的软件系统SGM;4)运行在物理机群主控制器PM上的软件系统SPM;5)运行在物理计算机PC上的软件系统SPC;6)运行在逻辑机群主控制器LM上的软件系统SLM;7)运行在逻辑计算节点LC上的软件系统SLC;8)运行在独立计算节点CC上的软件系统SCC;
2.根据权利要求1所述的面向数据并行型网格的软件体系结构,其特征在于,所述的数据并行型网格DPG,包括下列部件1)物理计算机PC一个物理计算机为四元组(RSV,RV,TS,st),其中RSV(rCpu,rmem,ri/o,rnet)为其资源向量,rCpu,rmem,ri/o,rnet分别是该计算机的中央处理器处理能力、内存存储容量、磁盘I/O速度和网络通信能力的规范化度量;TS={ts1,ts2,...,tst}为一天24小时内其空闲(Idle)时间段的集合,且每个tsi(1≤i≤t)都是一个由起始时间和结束时间构成的数偶<inf,sup>,时间度量单位为秒且以0点为一天的开始时间,TS可以由各个物理计算机的拥有者提供;RV为其可靠性度量向量;st∈{Local,Idle,Running}为其所处的状态,Local状态表示其正在进行本地任务计算,Idle状态表示其处于闲置状态(可以参与网格计算),Running状态表示其正在参与网格的计算工作;2)物理计算机群PCC一个物理计算机群PCC,它为PM,PCS,PN,PNR组成的四元组,其中PM为物理机群的主控制机(Master),PCS为其所拥有的从属物理计算机(Slaver)的集合,PN为其互联网络集合,PNR为网络连接规则;3)逻辑计算节点LC一个逻辑计算节点LC,它为PC,GCS,rol组成的三元组,其中PC为该LC所对应的物理计算机、且∃ts∈PC·TSΛt⊆ts,]]>这时PC的状态是Idle或Running;GCS为运行在其上的网格计算软件系统;rol∈{Master,Slaver,Single}为其所担任的角色,Master角色表示该LC为一个逻辑计算机机群LCC的主控制机,Slaver角色表示该LC为一个逻辑计算机机群的从属计算机,Single角色表示该LC作为一个独立计算节点来参与网格计算;4)独立计算节点CC如果一个逻辑计算节点LC,在任意一个时间段ts,LC对应的PC.st=“Running”并且LC不属于任何LCC,则称该LC为独立计算节点,其状态为“Single”,并记为CC;5)逻辑计算机机群LCC一个逻辑计算机机群LCC,它为LM,LCS,PCS组成的三元组,其中LM为逻辑机群的主控制机;LCS={LC1,LC2,...,LCc}为其从属逻辑计算机的集合;PCS为支持该LCC的物理计算机机群、且有LCSPCS;设TS0,TS1,TS2,...,TSc分别为LM,LC1,LC2,...,LCc所拥有的空闲时间段的集合,那么在任意一个时间段ts,LCC成立的充分条件是存在c+1个时间段ts0,ts1,ts2,...,tsc,有tsi∈TSi(0≤i≤c)∧tsts0∩ts1∩ts2∩...∩tsc;6)优化的逻辑计算机集群在时间段ts有一个LCC,且LM,LC1,LC2,...,LCc为其所有逻辑计算节点;MRSV,MRV为其所有逻辑计算节点的资源向量、可靠性度量向量构成的矩阵,optimized(MRSV,MRV)是根据LCC的网络状况、各计算节点的计算资源以及可靠性特征等进行优化计算的函数(具体方法略);ε为一个小常量,LCC的各个逻辑计算节点的空闲时间段构成的集合为{ts0,ts1,ts2,...,tsc}、且有tstsi(0≤i≤c);如果LCC在时间段ts满足 (MRSV,MRV),则称LCC为优化的逻辑计算机机群;7)物理机群主控制器PM、网格主控制器GM所述的物理机群主控制器PM、网格主控制器GM为DPG的控制节点,其软件结构为由MS,DC,UCS,DBS组成的四元组SM,其中MS为控制节点上的网格管理软件系统;DC为控制节点上的分层数据通道系统;UCS为控制节点上的统一通信系统;DBS(Data Base System)为控制节点上的数据库系统。
3.根据权利要求1所述的面向数据并行型网格的软件体系结构,其特征在于,所述的运行在LC上的软件系统SLC为逻辑计算节点的软件结构,它为五元组,它包括1)逻辑计算节点上的网格管理软件系统MS;2)逻辑计算节点上的数据并行型计算驱动系统CS;3)逻辑计算节点上的分层数据通道系统DC;4)逻辑计算节点上的统一通信系统UCS;5)逻辑计算节点上的并行计算的算法构件库CM。
4.根据权利要求2所述的面向数据并行型网格的软件体系结构,其特征在于,所述的物理机群主控制器PM、网格主控制器GM为DPG的控制节点,其软件结构中的DC、UCS子系统是DPG的两个连接器枢纽,DC负责完成各类节点内部各个子系统之间的信息通信功能,UCS负责与其他节点部件之间的通信功能。
5.根据权利要求3所述的面向数据并行型网格的软件体系结构,其特征在于,所述的逻辑计算节点软件结构中的DC、UCS子系统是DPG的两个连接器枢纽,DC负责完成各类节点内部各个子系统之间的信息通信功能,UCS负责与其他节点部件之间的通信功能。
6.根据权利要求1所述的面向数据并行型网格的软件体系结构,其特征在于,所述的数据并行型网格DPG的软件体系结构SDPG所支持的数据并行计算,它包括1)数据并行型计算DPG上的一个数据并行型计算(Data Parallel Computation)为四元组DPC(DS,LCC,ACM,ACS),其中DS为数据的集合;LCC为支持该DPC的逻辑计算机机群;ACM为运行在LCC的Master上的并行算法的集合;ACS为运行在LCC的Slavers上的并行算法的集合;2)退化的数据并行型计算DPG上的一个退化数据并行型计算(Degenerate DataParallel Computation)为三元组DDPC(DS,CC,AS),其中DS为数据的集合;CC为支持该DDPC的独立计算节点;AS为运行在CC算法的集合;3)增广的数据并行型计算DPG上的一个增广的数据并行型计算(Expanded DataParallel Computation)为四元组EDPC(DS,LCCS,ACM,ACS),其中DS为数据的集合;LCCS为支持该EDPC的多个逻辑计算机机群构成的集合;ACM为运行在DPG的Master上的并行算法的集合;ACS为运行在所有LCC的逻辑计算节点上的并行算法的集合;4)DPG的数据并行型计算集合在任意一个时间段ts,DPG的数据并行型计算任务的集合为DPCS∪DDPCS∪EDPCS,其中DPCS为DPG的所有DPC任务的集合;DDPCS为DPG的所有DDPC任务的集合;EDPCS为DPG的所有EDPC任务的集合。
全文摘要
本发明公开了面向数据并行型计算的网格软件的体系结构SDPG,定义了网格计算的基本单元上的软件结构SLC,其包括逻辑计算节点上的网格管理软件系统MS;数据并行型计算驱动系统CS;分层数据通道系统DC;统一通信系统UCS;并行计算的算法构件库CM。通过SLC形成由多个异构、非特殊的计算机构成的网格软件系统来支持大规模数据并行型计算。系统利用对象构件、数据通道技术和统一通信模式机制,定义了支持数据并行型计算的软件框架.体系结构具有良好的软件并行开发性、异构支持能力以及可扩展性。可以降低网格数据并行型应用的开发难度,适合网格异构环境下大规模数据并行型计算应用的开发与实现。
文档编号H04L12/24GK1832423SQ200610025798
公开日2006年9月13日 申请日期2006年4月18日 优先权日2006年4月18日
发明者陈庆奎, 那丽春 申请人:上海理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1