元组空间在分布并行计算中的研究与应用
发布时间:2021-11-25 02:25
单个计算机性能的提高和网络技术的发展,给高性能计算领域带来了一种新的计算方式——聚合网络中闲散资源进行大规模超级计算。在该方式下,如何实现动态的、分布的计算资源间的协作,完成复杂计算问题的求解是一个迫切需要解决的问题。本文在全面研究分布式计算中的协作技术的基础上,依据实际的需求通过分析权衡,选择元组空间技术用来解决计算资源的协作问题。深入研究了元组空间中基于生成通信的任务协作机制。充分利用生成通信中通信双方在空间和时间上的分离的特性,选择主从模型设计了基于元组空间的任务协作系统。整个设计遵循关注分离的原则,将用户关注的元组空间数据传递功能与元组空间管理功能分离,分别设计了并行编程函数库和元组空间管理子系统。具体实现上,使用分层封装的策略为用户提供了并行编程函数库。在元组空间管理子系统中,针对单一元组空间集中访问的通信瓶颈问题,提出了集中控制下的分层多元组空间结构,通过构建多元组空间和数据分布,实现集中通信的分散化。元组空间的存储管理借鉴了虚拟存储的思想,采用数据在内、外存交换的方法隐藏元组空间的真实容量。最后使用检查点和访问控制实现系统的容错和安全。测试结果表明,协作系统达到了预期的设...
【文章来源】:战略支援部队信息工程大学河南省
【文章页数】:85 页
【学位级别】:硕士
【部分图文】:
控制驱动协同模型
从元组空间中取任务并且只取一个任务,只要元组空间中还有任务元组存在,所有的从进程都会投入到计算当中,实现了动态的负载均衡,提高了资源的利用率。协作系统的结构如图20所示。仙仙的盆 .rrr创创建元组空间间放放任务及参数数娜娜待回收结果果一—一一知叫卜一-一一一取任务放结果...协随比 .rrr取取任务 务执执行 行放放回执行结果 果皿皿Od谧 rrr取取任务 务执执行 行’’放回执行结果果皿皿Od旧 rrr取取任务 务...执行 行放放回执行结果 果图20基于元组空间的协作系统组成结构协作系统由三部分组成:主控节点、计算节点和元组空间。主控节点和计算节点通过元组空间互相协作、共同执行并行任务。主控节点:创建元组空间、分配任务、回收结果。计算节点:获取任务、进行计算,计算完成后将结果返回给主控节点,然后再获取下一个任务计算,直到取不到任务为止。元组空间(共享区):在并行任务执行过程中,主控节点和计算节点通过共享区进行任务、结果等各种数据的传递。2.软件体系结构依照SoC原则,以用户的关注点作为分离的依据,从软件设计角度上述系统包括以下三部分:并行编程函数库、元组空间管理子系统、元组空间的具体实现。并行编程函数库提供了一整套对元组空间操作的API,实现了计算任务和结果的存取。主要包括:任务变量传递的操作、任务的传递操作、任务参数的传递操作、结果的传递操作等。这是网络群机系统用户所看到协作系统的全部视图,具体的实现对用户都是透明的。元组空间管理子系统具体负责共享区的管理
信息工程大学硕士学位论文整个系统的软件体系结构及与其它层次的关系如图21所示。元组协作系统空间元元组空间应用程序 序一一…音音音音音音音音音音音音一一 一_光组空闻管理子系统--------一_〕少 少一一 一一一、 、占占 占 ---一一一节卿一 ____}}}分布并行计算平台 ::: 1111111222224444455555666666666 777777777777777777777777777777777图21协作系统软件层次结构及关系图4.3协作系统的详细设计从软件体系结构图可以看出元组空间管理子系统是协作系统的核心部分,是设计的重点。同时为了使协作系统具有一定的容错性,提高系统的健壮性,在最后一部分我们进行了容错设计。4.3.1并行函数库的设计并行函数库是协作系统提供给用户基于元组空间的并行程序开发的编程接口。这种通过提供简单接口从而向用户隐藏内部结构的方法能使程序更容易理解和维护,而且可以大大减少出错的可能性。具体说来,程序员现在可以将精力集中在计算任务本身而不是并行中的控制与协同。1.设计目标在总体设计的基础上,并行函数库的设计目标总结概括起来有三个方面:(l)较好的通信性能;(2)程序的可移植性;(3)较完善的功能。具体的说,包括以下几个方面:》提供应用程序编程接口。》提高通信效率。》可在异构环境下提供实现。》提供的接口方便C语言的调用(其它语言陆续支持)。》定义的接口尽量向标准的接口靠拢(如MPI,PVM等)
【参考文献】:
期刊论文
[1]网构软件的研究与进展[J]. 吕建,马晓星,陶先平,徐锋,胡昊. 中国科学E辑:信息科学. 2006(10)
[2]基于JavaSpaces的分布式计算技术研究[J]. 朱文华,王茜. 计算机应用. 2005(02)
[3]PJVM:基于Java的面向对象分布并行处理系统[J]. 刘溥,彭德纯,林子禹,邓万涛,吴巍枫. 计算机研究与发展. 1998(06)
本文编号:3517227
【文章来源】:战略支援部队信息工程大学河南省
【文章页数】:85 页
【学位级别】:硕士
【部分图文】:
控制驱动协同模型
从元组空间中取任务并且只取一个任务,只要元组空间中还有任务元组存在,所有的从进程都会投入到计算当中,实现了动态的负载均衡,提高了资源的利用率。协作系统的结构如图20所示。仙仙的盆 .rrr创创建元组空间间放放任务及参数数娜娜待回收结果果一—一一知叫卜一-一一一取任务放结果...协随比 .rrr取取任务 务执执行 行放放回执行结果 果皿皿Od谧 rrr取取任务 务执执行 行’’放回执行结果果皿皿Od旧 rrr取取任务 务...执行 行放放回执行结果 果图20基于元组空间的协作系统组成结构协作系统由三部分组成:主控节点、计算节点和元组空间。主控节点和计算节点通过元组空间互相协作、共同执行并行任务。主控节点:创建元组空间、分配任务、回收结果。计算节点:获取任务、进行计算,计算完成后将结果返回给主控节点,然后再获取下一个任务计算,直到取不到任务为止。元组空间(共享区):在并行任务执行过程中,主控节点和计算节点通过共享区进行任务、结果等各种数据的传递。2.软件体系结构依照SoC原则,以用户的关注点作为分离的依据,从软件设计角度上述系统包括以下三部分:并行编程函数库、元组空间管理子系统、元组空间的具体实现。并行编程函数库提供了一整套对元组空间操作的API,实现了计算任务和结果的存取。主要包括:任务变量传递的操作、任务的传递操作、任务参数的传递操作、结果的传递操作等。这是网络群机系统用户所看到协作系统的全部视图,具体的实现对用户都是透明的。元组空间管理子系统具体负责共享区的管理
信息工程大学硕士学位论文整个系统的软件体系结构及与其它层次的关系如图21所示。元组协作系统空间元元组空间应用程序 序一一…音音音音音音音音音音音音一一 一_光组空闻管理子系统--------一_〕少 少一一 一一一、 、占占 占 ---一一一节卿一 ____}}}分布并行计算平台 ::: 1111111222224444455555666666666 777777777777777777777777777777777图21协作系统软件层次结构及关系图4.3协作系统的详细设计从软件体系结构图可以看出元组空间管理子系统是协作系统的核心部分,是设计的重点。同时为了使协作系统具有一定的容错性,提高系统的健壮性,在最后一部分我们进行了容错设计。4.3.1并行函数库的设计并行函数库是协作系统提供给用户基于元组空间的并行程序开发的编程接口。这种通过提供简单接口从而向用户隐藏内部结构的方法能使程序更容易理解和维护,而且可以大大减少出错的可能性。具体说来,程序员现在可以将精力集中在计算任务本身而不是并行中的控制与协同。1.设计目标在总体设计的基础上,并行函数库的设计目标总结概括起来有三个方面:(l)较好的通信性能;(2)程序的可移植性;(3)较完善的功能。具体的说,包括以下几个方面:》提供应用程序编程接口。》提高通信效率。》可在异构环境下提供实现。》提供的接口方便C语言的调用(其它语言陆续支持)。》定义的接口尽量向标准的接口靠拢(如MPI,PVM等)
【参考文献】:
期刊论文
[1]网构软件的研究与进展[J]. 吕建,马晓星,陶先平,徐锋,胡昊. 中国科学E辑:信息科学. 2006(10)
[2]基于JavaSpaces的分布式计算技术研究[J]. 朱文华,王茜. 计算机应用. 2005(02)
[3]PJVM:基于Java的面向对象分布并行处理系统[J]. 刘溥,彭德纯,林子禹,邓万涛,吴巍枫. 计算机研究与发展. 1998(06)
本文编号:3517227
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3517227.html