论文部分内容阅读
网格计算是近年来兴起的一个研究热点,它发展了最初元计算的概念,旨在使互联网上的各种资源实现全面共享与协同,使整个因特网整合成一台巨大的“超级计算机”。网格资源主要具有分布性、异构性和动态性等基本特点,这些特点给实现可靠、可伸缩和动态适应的网格计算带来了挑战。
Jini是一种基于Java语言的处理动态分布式计算问题的简单的解决方案,其核心理念是实现快速配置的分布式计算环境,它提供了一个主动的响应式的分布式基础设施[13]。
JavaSpaces则是一种基于Java语言的元组空间技术。本文较为详细的阐述了的Jini体系结构和JavaSpaces计算模型,并讨论了这两种分布式计算技术对于网格计算的适用性;基于Jini和JavaSpaces技术的分布式并行计算服务的精髓,提出了一个轻量级的网格计算平台原型系统的体系结构;讨论了原型系统设计和实现过程中需要解决的几个关键问题,包括动态Java类加载机制、任务分配机制、容错机制、问题分割以及安全性等问题;实现了网格计算平台原型系统并在此基础上设计了一套简单的网格编程接口,开发实现了简单的应用实例,并作了性能分析。该原型系统具有下列特点:
①基于网格原理,充分利用网络的闲置资源进行并行计算,解决“大”的计算问题(Job),明显的加快了计算速度,缩短了对用户的响应时间;
②采用了Master接收用户Job、分解Job、写入JavaSpaces的机制,使得Master服务表现出多种角色:既提供接收Job的功能,又提供把任务写入JavaSpaces的功能;既能分解Job,又能合并Job的计算结果;
③闲置的计算资源以Worker的形式对外共享,Worker不需要注册,因此不需要发现、调度Worker参加计算。愿意贡献计算能力的Worker主动找到JavaSpaces、主动查找任务、主动进行计算,体现了“即插即用”的原则,系统具有一定的伸缩能力,而且降低了在资源发现、调度中的代价;
④基于租约机制,原型系统的运行具有一定的容错能力;原型系统可以有效的利用网络中闲置的具有分布、异构和动态变化等特性的计算资源,并具有一定平衡负载的能力;
⑤可移植性:原型系统基于Java平台,因此具有很好的移植性。
本文最后还指出了下一步需要进行的工作:原型系统需要进一步扩展能够解决问题(Job)的类型,研究分解和结果合并的各种算法;原型系统还应该为用户提供一个图形化的编程接口,方便用户提交计算任务;原型系统还需要进一步考虑与其它网格计算系统的互操作以及实现各种资源的共享与协作。