论文部分内容阅读
网格系统中存在种类繁多的应用与资源,它们不同的管理方泫给网格系统的设计增加了复杂性,也给用户使用网格带来了困难。同时,资源服务化的趋势虽然使网格系统的构建更加规范,但也给网格系统和网格应用带来了性能上的问题。针对这两个问题,本文提出了网格系统运行时结构网程。网程力图提供统一的系统级支持,提高网格的可管理性和应用运行的效率。本文的主要研究内容和贡献如下:
(1)提出了网程及其基本属性AIR,即原子性,隔离性和可靠性。网程是由运行网格应用的执行体以及网格系统维护的结构体所构成的分布式结构。网程具有全局唯一的网程标识,通过网程标识实现的网格系统调用为用户提供了统一管理应用所有执行体的方法。为了实现网格系统调用,我们设计并实现了网程的数据结构,包括网程结构体和网程上下文,支持AIR的一套运行时技术,包括基于两阶段提交的网程基本指令、基于进程的隔离技术、基于应用行为的可靠通信,解决了网格系统中由于缺少系统级抽象的统一支持实现网格运行时管理的困难。
(2)针对节点间通信的可靠性需求,提出了网格应用层可靠通信成员协议Garc,保证了网程的可靠性。Garc消除了现有算法需要周期性交换节点信息造成的带宽开销,并且在节点出错时提高了消息的可靠性,减少了系统的修复时间。通过监测应用层请求的发送与接收,Garc自动调整节点的邻居信息和备份信息,在节点出错时利用备份信息清除出错连接并修复系统。模拟实验表明,与相关工作Hyparview比较,Garc能够产生更适合网格的应用层拓扑;在不同比例的节点出错时,Garc最多提高了23%的消息可靠性,减少了64%的系统修复时间。
(3)针对资源服务化之后的效率问题,提出了端到端SOAP传输接口SPI和服务端可配置的用户级调度器Culs,保证了网程使用Web服务时的性能。SPI利用应用在一段时间之内多次访问相同物理容器Web服务的特点,在客户端把多个SOAP请求捆绑到一个SOAP消息中,在服务端提取多个请求并发执行。实验表明,请求的总数据量不超过1.6MB时,SPI可以减少请求的总响应时间。Culs消除了已有工作优化服务器时,或者需要单独的集中控制节点或者需要修改系统内核的局限性。Culs通过配置文件选择调度算法,通过请求窗口控制进入内核的请求数量。实验表明,选取合适的调度算法,针对科学计算类负载NGB的ED用例,Culs最多减少了53%的任务完成时间;针对商业计算类负载供应链管理,Culs最多提高了52%的服务端吞吐率,降低了33%的请求平均响应时间。
目前网程已经作为核心技术应用到中国国家网格系统软件GOS当中。