第一篇 网格资源管理
第 1章
当前不论是科学计算、商业计算、企业计算、家庭计算还是个人计算,几乎无一例外都是以网络为基础的计算环境。网络为基础的计算环境的一个基础性问题就是资源的表示和访问问题,这是资源管理、资源共享、资源交互、资源计算的基础。云计算技术、网格技术提供了跨组织、跨地域资源共享和协同的技术与方法,通过这些技术可以协同分散在各地的大量科研资源来求解复杂的科研问题,也可以实现广域范围内的商业计算和信息共享。就像 TCP/IP协议是互联网的核心一样,为了实现跨地域的资源及计算力协同共享的目的,同样需要制定一系列的标准和规范,如统一命名 /术语、统一计算资源的属性和语义描述、功能实现的技术方法等。网格资源表示与访问标准提供一套资源接入网格系统的规范和接口,以及访问和利用网格资源的接口标准。
1.1 网格资源
网格资源是指所有能够通过网格远程使用的实体,包括计算机软件、计算机硬件、设备和仪器、人类资源等。计算机软件资源包括系统软件、应用程序、数据等;计算机硬件资源包括处理器、存储器、硬盘,以及其他计算机设施;设备和仪器包括通信介质、天文望远镜、显微镜、传感器等;人类资源是网格上昀具有伸缩性的资源,它是指人的知识、能力等多种因素。
网格资源的种类很多,功能各异,可以从不同的角度将它们分成不同的类别。根据资源能否移动可将资源分为可移动资源和不可移动资源。可移动资源包括数据、程序、代码等,不可移动资源是无法通过网格操作实现地理位置移动的资源,如各种硬件、设备。根据资源是否可重复使用的特性可将资源分为可重复使用的资源和不可重复使用的资源。根据资源是否可复制的特性可将网格资源分为可复制资源和不可复制资源,可复制资源是指可以通过指令或服务请求把一份资源变为多份,如数据、应用程序、服务等。
网格中的资源具有以往集群系统、并行系统和分布式系统中的资源所不具备的特点。第一个特点是异构性,网格中的资源种类繁多,功能各异,访问接口也不尽相同,本地管理系统不同,共享规则不同。第二个特点是动态性,网格中的资源可自由地随时加入和离开网格系统,资源的可用状态、服务能力、负载等都随时间而动态变化。第三个特点是自治性,网格资源由本地管理机构管理,网格资源的使用必须遵循资源拥有者的管理策略。第四个特点是二分性,网格资源是由具体的资源拥有者提供的,除了专门提供给网格用户使用的网格资源之外,大部分资源同时作为网格用户可以使用的网格资源和资源拥有者自己使用的本地资源,网格资源的使用必须要保证资源本身的安全、资源拥有者的利益以及使用该资源的其他网格用户的合法权益。
网格资源的这些特点决定了网格资源管理系统应当隐藏异构性,为用户提供统一的访问接口;要屏蔽动态性,保证用户使用的质量;要尊重资源的本地管理机制和策略;要仔细审查网格用户的请求,确保网格资源的安全和资源拥有者的权益。
网格中的资源共享不同于以往的计算机之间的文件交换和远程登录,而是直接访问计算机、软件、数据、设备和仪器等资源。网格资源由其拥有者决定何时、何人、怎样使用。
1.2 资源管理的目的和功能
网格资源管理的任务就是把网格中分散的各种资源管理起来,使多个资源请求者可以共享使用网格中的同一个资源,资源请求者可以根据业务需要同时或先后使用网格中的多个资源,而不需要资源请求者付出额外的劳动。资源管理的目的包括以下三个方面。
(1)为用户提供访问资源的简单接口。资源管理模块隐藏资源实际使用的复杂技术细节,将物理资源抽象为逻辑资源,并提供给用户。
(2)协调资源的共享使用。资源管理模块采用排队策略、分时共享策略或其他策略决定多个请求者如何使用同一个资源,这些策略是根据资源本身的特性和拥有者制定的策略确定的。同时资源管理模块还应支持一个请求者请求使用多个资源的需要。
(3)代替请求者去使用资源,并建立安全的网格资源使用机制。资源管理器作为超级用户,代替网格用户在资源上进行工作,用户请求时,资源管理器为该用户在资源本地建立一个进行活动的场所——用户容器,用户在容器内使用资源。容器严格定义了用户拥有的权限和可进行的操作等。通过这种方式避免了多个网格用户在资源的同一个本地账号下活动的隐患。容器可在请求时动态地建立并在请求结束后撤销,同一资源上用户容器的数目很少,不会带来大的管理负担。
资源管理模块除了管理资源的使用过程以外,更重要的是管理资源的整个生命周期,即资源的注册、共享到注销的整个过程。此时,资源管理器需要具备的基本功能包括:资源注册、资源发现、资源部署、资源代理和资源注销。
1.3 资源管理操作
网格资源管理模块的基本操作有以下七个,实际的资源管理可以在这些基本操作的基础上提供更复杂的操作。
1.3.1 资源信息收集
资源管理器主要收集和存储两类信息。一类是资源在加入网格时报告自己的相关信息,如资源名称、类型、拥有者信息等,资源管理器将其记录下来,供使用该资源的应用或用户使用。另一类是网格内动态产生的资源信息,如资源使用情况等。
1.3.2 资源信息更新
资源信息经常会随时间而变化,如可用 CPU数目的变动、资源负载、使用情况等。资源管理器周期性地更新这些信息,以免过期信息造成资源使用故障。信息更新频率的确定至关重要,频繁的更新可以及时反映资源的实际信息,但会增加通信的负担。
1.3.3 资源发现
资源发现是资源拥有者和资源请求者之间的纽带,通过该机制,资源请求者才能从数目巨大的资源中发现并使用自己请求的资源。资源发现机制是根据资源请求者的资源请求描述,从网格上为请求者找到满足该描述要求的合适资源,并返回该资源的唯一标识符。
1.3.4 资源分配
资源分配的依据是作业提交者用作业描述语言声明的参数,以及资源拥有者对资源使用所制定的策略。在拥有多资源和多用户的动态网格环境中,资源的分配需要考虑以下两种情况,一是如何从多个可用的资源中选择合适的一个或多个资源分配给请求用户使用,二是如何从请求同一资源的众多请求者中决定哪个或哪些请求者允许使用资源。通常而言,资源分配的输出结果是请求者的作业与资源的匹配关系,以及使用资源的时段、资源能力( CPU数目、存储空间、软件使用许可证数目等)、使用权限等。
1.3.5 资源定位
资源定位是根据资源的属性描述获得相应资源物理地址的过程。网格中每个资源都有唯一的物理地址,用户通过该地址实现对资源的访问,但该地址是供机器使用的,不易被人理解。实际上,用户使用网格资源时,不需要知道物理地址,而是用属性描述的方式指定所需资源,并把描述提交给网格,网格中的转换机制再把资源的属性描述转换成用户可以访问的资源的实际物理地址。
1.3.6 资源迁移
资源迁移是可移动网格资源从一个位置移动到另一个位置的过程,包括服务迁移、作业迁移、数据迁移、软件迁移等。资源迁移的依据是资源的使用情况和网格中可承载该资源的节点运行情况。资源迁移的目的是提高用户访问资源的速度与效率,以及网格负载的平衡。
1.3.7 资源预约
资源预约是资源请求者在正式使用资源之前,向资源拥有者请求其使用时段内把所需资源预约给自己使用,并保证所需的服务质量。具体的预约请求包括 CPU数目、存储空间、网络带宽、软件使用许可证数目等。资源预约可分为提前预约和立即预约两种,提前预约是预约时间在开始使用时间之前的预约,立即预约的预约时间等于开始使用时间,即预约后马上使用。按预约资源数目分,资源预约包括单资源预约和多资源联合预约,多资源联合预约是常见的形式,它需要对用户应用所需的多个资源,如远程数据传输所需的存储空间和网络传输带宽,全部进行预约。
1.4 网格资源表示
网格资源的统一描述和访问的表示规范是网格资源管理、发现、访问等标准化的基础,主要涉及资源描述(包括计算资源的描述,存储资源的描述,主机及逻辑计算机的表示、资源的描述),资源选定描述、资源组织描述(包括对于顺序的描述和对于组合的描述),异构资源的统一访问方法和接口(包括对计算资源、软件资源、存储资源等的访问)等 4个方面的内容。研究内容将涉及主机向集群管理节点声明资源、集群向网格任务管理节点声明资源、用户向任务管理节点申请资源、资源的需求表示、任务节点的需求组织、任务节点的分布、作业的提交执行、数据的存储管理和传输等问题。
……
展开