基于QoS的网格资源协同预留模块研究与设计

来源 :吉林大学 | 被引量 : 0次 | 上传用户:huangtongfeng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
网格计算是构筑在Internet上的一组新兴技术,利用共享网络将分散在不同地理位置的计算资源、存储资源、网络资源组织成一台虚拟的超级计算机,提供强大的计算能力。QoS(Quality of Service)服务质量指的是网络一个长期可靠性和可用性问题,其引申含义是用户在保持网络连接和传输分组过程中,对网络行为的看法。但是网格环境中的QoS不仅仅指传统的网络QoS,还包含了其它类型的QoS,例如CPU、磁盘、软件等等,以保证应用程序能够得到它所需要的性能,可以说网格QoS是应用程序、用户终端、网络、服务器各部分的综合效应。为了实现端到端QoS保证,经常针对某些特定的计算资源或通信资源采用预留技术。资源预留为网格实时应用程序同时提供多种所需的异构资源、满足跨越多个组件的端到端的QoS,是一个颇具挑战性的研究方向。Globus是目前最为成功的网格项目。文中对Globus工具包GT(Globus Toolkit)的结构、安装使用及基于Globus的编程作了具体的介绍。Globus的资源管理模块(GRAM)支持异构计算资源的联合分配,但是没有提前预留、缺少对其它异构资源如网络、磁盘等资源类型的支持。这意味着在对资源提出请求,尤其是计算资源以外的其它资源时,将不能保证实现所希望的QoS服务,并且当一些资源处于高需求状态时会极大限制资源的联合分配。基于Globus的以上缺点,本文对Globus Toolkit(GT)工具包中GRAM模块进行基于QoS的资源预留上的改进,即利用GT提供的信息服务、数据管理、文件传输和安全机制等底层功能,考虑用户多种QoS需求,设计出合理的资源协同预留算法,允许协商,在最大提高网格系统整体受益的情况下尽可能的接受更多用户的资源请求,减少请求拒绝率、避免资源死锁,使网格分布式环境中的节点资源能更有效的协同工作。在网格系统的资源有限的情况下,这便成为一个非常关键的问题。 本文的解决方法是在资源协同预留算法中加入受益值。通过深入分析网格任务的QoS需求,讨论复杂网格中的资源使用效率和任务响应之间的关系,按照实时应用程序的特点设计了三种受益函数,用来量化在某种资源分配方案下,系统的受益情况。由于实时应用程序与完成的时间情况密切相关,如果在必要时间内完成,系统会得到最大受益;超过某一个时间点,即使完成受益值也有可能为零,所以我们设计的受益函数的QoS参数是时间(time)。以上三种受益函数说明任务有个“hard deadline”和“soft deadline”。调度器的主要任务是根据每个任务的优先权和受益值的不同,给出一个重要度;当需求过多时,调度的目标就是将所有拒绝的任务的受益值总和降至最小,从<WP=70>而合理分配资源。在调度算法的设计中,以RSPB算法作为参考,RSPB算法具有拒绝率低的优点,但是仅针对单一的CPU资源,本文将其扩展到多种资源。首先为每个到达的预留请求设置相应的优先权,标志着任务的重要性,例如内部任务比外部任务具有更高的优先权;同时还为每个请求匹配一个相关的受益函数,加入抽象的QoS约束,对得到所请求的资源时产生的“利益”进行量化。系统还应该提供二次协商的能力,即当用户的一次请求不可接受的时候,能够允许用户降低资源请求。当用户想和低层服务进行协商时,会直接将受益值减为原来最大值的一半,如果资源不足时,受益函数就会去掉协商要求。所设计的调度算法采用批处理方式收集随机到达的资源请求,进行集中分配,预留的资源涉及到CPU、磁盘和网络带宽,操作包括预留的创建、修改、取消、状态查询等等。首先使用GT中MDS模块对网格环境进行检测,提供资源数据信息;管理器每隔一定时间对资源预留请求进行批处理收集,预留管理采用集中控制,使用时隙表来表示网格系统中资源的分割和当前使用情况,根据资源请求带有的优先权和受益值进行调度,最终目标是使系统拒绝的请求的受益值最低,即系统资源使用的最大化。整个过程中使用GT中的GSI满足网格环境的安全要求。本文还分析了预留请求应该具有的属性、和针对属性进行的操作,针对每种类型的操作,设计了相应的函数和相应的数据结构,制定网格资源提前预留的标准API,在创建预留的过程中会用到预先设计好的QoS受益函数和调度算法。网格资源预留API可以看成一种远程过程调用机制,预留管理器控制着资源预留的制定和执行。它需要提供两种能力:1.它能允许用户在需要资源之前对资源进行提前预留、或者在需要资源的那个时刻进行预留——立即预留;2.API能够进行预留、对预留操作,而不考虑底层的资源类型,这样当应用程序需要使用多种资源环境、并同时进行预留时,会简化编程。设计预留请求的五个重要属性:开始时间start-time、持续时间duration、资源类型resource type、预留类型reservation type和资源描述参数resource-specific parameters。预留中还可以指定结束时间(格式与开始时间相同)。如果系统接受了预留请求,应该返回一个预留句柄 (reservation handle),唯一标识该预留。预留一旦递交给预留管理器、并经过调度并接受后,就已经被创建,此时可以通过预留句柄对其进行以下操作:修改预留(Modify Reservation)、 取消预留(Cancel Reservation)、绑定预
其他文献
随着WWW技术在全球范围内的迅速发展与普及,网络信息资源日趋丰富,针对远程教育这样一种全新的教育模式:它突破传统教育在教育资源(师资、教材、试验)和教育方法(统一进度、单向传
目前,在电子政务建设过程中,经常面临信息孤岛问题。各业务系统间的互联互通、信息共享、业务协同是电子政务深入发展最迫切需要解决的问题。解决这些问题的关键在于如何在各系
随着Internet技术的兴起,B/S结构成为当今应用软件的首选体系结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,主要
存储数据的飞速增长,要求企业的信息系统不仅要提供更大的存储容量:同时还要提供更高的存储速度。分级存储是当前存储系统中解决容量和速度问题的重要技术。面对海量数据的存