摘要:在对现有的网格资源管理模型进行分析和比较的基础上,提出了一种基于分层结构的具体模型HRMM,将资源管理分为作业并行分析、全局资源分配、局部资源分配和本地资源管理四个层次,并为每个层次设计了相应的优化策略和算法。该模型对资源管理的最大计算复杂度为O(n2)"O(n3),是一个优化而有效的网格资源管理模型。
关键词:计算网格 资源管理 资源分配 作业 资源调度 Globus Toolkit
计算网格是近年兴起的一种重要的并行分布式计算技术,其关键技术之一是对网格中的资源进行管理。网格中的资源具有广域分布、异构和动态的特性,使得网格资源管理变得很复杂。当前还没有一种模型能够处理所有的网格应用需求。目前,网格资源管理模型主要分为分层模型、抽象所有者模型和经济/市场模型三类。Globus项目组在网格协议制定上有重要发言权,包括IBM、Microsoft、Sun、Compaq、SGI、NEC在内的众多重要公司都宣布支持Globus Toolkit。因此Globus所采用的分层模型代表了网格资源管理的发展趋势。
本文在Globus分层模型设计思想的基础上提出一种优化的网格资源管理模型HRMM(Hierarchical Resource Management Model),并给出了相应的资源管理算法。为了提高效率,在HRMM的主要模块中运用了Globus Toolkit 2.4提供的数据结构和接口。
1 HRMM的总体结构
HRMM的设计思想是:动态接收来自用户的作业请求,并为该作业分配符合条件的计算资源,同时提供整个计算过程中有关资源信息的在线反馈,接受用户的在线控制。HRMM的体系结构如图1所示,将计算网格的资源管理任务分为四个层次:作业并行分析、全局资源分配、局部资源分配和本地资源管理。
由图1可见,用户经过GUI(图形用户界面)向HRMM提交作业请求,作业并行分析器接收用户的作业请求,再按最大并行度将作业中的任务划分为若干任务组,提交给全局资源分配器。对多任务组中的每个任务,全局资源分配器在静态资源库中一次搜索多个满足该需求的集群,组成候选集群组提交给局部资源分配器。局部资源分配器在动态资源库中读取候选集群组中每个集群的有关信息,并将相应任务分配给最符合条件的集群。然后,该集群应用本地资源管理器执行任务。在整体上,本地资源管理器每隔一定时间向静态资源库发送静态资源更新信息。另外,局部资源分配器读取动态资源库前,动态资源库会从本地资源管理器读取更新信息。
在这个分层模型中,一方面,用户提交的作业能够以最大的并行度执行,从而高效体现了并行计算的思想;另一方面,选多个集群组成候选集群组,再确定其中某一分配资源的方案,由于综合考虑了任务的静态需求和动态需求,避免重复的查询操作,从而提高了资源分配的效率。
2 作业并行分析器
如图1所示,用户经过GUI向作业并行分析器提交作业请求。这个请求包括该作业中所含的多个任务的相关信息、任务间的依赖关系及每个任务的计算资源需求。作业并行分析器分析该作业中的任务及相互关系,根据各任务的依赖关系将作业中的任务划分为不同的任务组,并对每个任务组进行适当描述后提交给全局资源分配器。
2.1 作业的拓扑表示
一个作业由一个或多个任务组成。作业的拓扑定义为一个满足如下条件的有向无环图:该图的节点与作业中的任务一一对应;若任务B直接依赖于任务A,则存在一条由节点A到节点B的有向边,称A为B的直接前驱,B为A的直接后继;如果存在一条从A到B的由多条有向边组成的有向通路,则称A为B的前驱,B为A的后继。
图2表示一个作业的拓扑结构。设该作业由标记为A"G的7个任务及其相互关系组成。如图2所示,任务D需要在任务A和B完成后才能开始,而任务G必须在任务正和F完成后才能开始。
为了提高作业的并行执行效率,需要关注任务在拓扑定义中的深度。记任务T的直接前驱集合为Pd(T),则其深度d(T)为:
若Pd(T)=φ,则d(T)=1;
若Pd(T)≠φ,则d(T)=max {d(R)}+1.
R∈Pd(T)
2.2 作业的最大并行度划分
作业的并行划分是指:一个作业拆分后形成的一系列对应每个任务、前后有序且相互独立的任务组。一个作业可以有一个或多个并行划分方案,形成该作业对应的并行划分集,记作Θ,I(Θ)为Θ中的任务组数。 称为作业的最大并行度划分,如果:E∈Θ,且 ξ∈Θ。I( )≤I(ξ)将作业中的多个任务按照相应的深度进行划分,形成一个最大并行度划分。如图2中的作业,其最大并行度划分为: ={(A,B),(C,D,E),F,G}。
3 全局资源分配器
全局资源分配器接收到以RSL描述的任务组后,立刻进行分析和解释,获得每个任务的静态资源需求。系统根据每个任务的资源需求在静态资源库中搜索满足条件的多个集群,并将结果提交给局部资源分配器。
3.1 静态资源库
系统中的静态资源库采用基于轻量目录访问协议LDAP结构。在HRMM模型中,网格系统的所有静态资源都在LDAP服务器的DIT(目录信息树)中建立了相应的目录项,并用<属性,值>的组合描述各种资源属性。静态资源库选择LDAP可以在性能上带来以下优点:
(1)LDAP专门对读操作进行了优化,在读操作频繁的情况下,可以提高读取效率。
(2)LDAP是跨平台协议,可在任何计算机上使用。从而增加系统对异构网格环境的适应性。
(3)LDAP服务器支持分布式的结构,静态资源库可访问本地或全局的LDAP服务器,并能很方便地实现同步,即增强资源管理的分布性。
3.2 全局资源分配算法
根据任务组中每个任务的静态需求,全局资源分配器在静态资源库中搜索满足需求的集群。在搜索时首先随机选择搜索的起始位置,然后为每个任务分别返回最先发现的N个满足该任务需求的集群,形成候选集群组,并以ClusterList数据结构描述后提交给局部资源分配器;其中ClusterList是用来描述候选集群组的广义表结构,如图3所示。对于任何一个任务,如果只找到K(
(2)获选集群和任务提交节点间的总网络延迟应尽量小,即:
其中tj为全局标识为j的集群的延迟;
(3)HRMM为每个用户规定了计算资源占用量的上限,即:
其中W为该用户对计算资源占用量的上限,且W>0。
综合考虑上述三方面,局部资源分配可以描述为如下二次规划问题:
其中C是可以改变的加权系数,且C>0。由于f(i)为离散值且取值范围有限,因此提出以下优化方法,通过较少的计算来搜索近似的最优解。记候选集群组为ClusterList,则算法表示如下:
STEP 1.对每个任务和候选集群,将静态和动态资源信息组合为综合资源信息;
STEP 2.删除ClusterList中不满足总和资源需求的集群;
STEP 3.
,计算每个集群i,j的局部损失Cost[i,j]:=‖vi,j-ri‖+C%26;#183;tij;
STEP 4.并行地对Cost的每一列排序,并按从小到大的次序重排ClusterList中的集群链表;
STEP 5.如果
,则报告不存在满足条件的解,算法结束;
STEP 6.∨i∈[1,n],并行计算Cost*[i]:=‖vi,k-ri‖+C%26;#183;ti,k,其中k=aramin(‖vi,j‖<‖vi,1‖);
STEP 7.∨i∈[1,n],并行计算d(i]:=
STEP 8.置b:=argmin(d[j]),并删除ClusterList中任务b的集群链表中前k-1个集群节点;
STEP 9.如果满足
则转STEPl0,否则转STEP6;
STEP 10.∨i∈[1,n],将第i个任务分配给ClusterList中相应任务集群链表中的第一个集群,算法结束。
该算法为资源分配查找到了近似的最优解,并在最大程度上利用了资源管理站点所在集群的计算资源,将大部分计算并行化。设资源管理站点所在集群的节点数为户,则该算法在每个节点上的计算复杂度为O(n2n/P)
引用地址:计算网格资源管理优化技术和相关算法研究
上一篇:双机通信在CPCI总线上的实现
下一篇:多媒介通信系统链路管理的设计和实现
- 热门资源推荐
- 热门放大器推荐
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
- 芯启源(上海)将持续发力,“做深做精”EDA及IP产品
- 本田严厉警告日产:若与鸿海合作,那么本田与日产的合作将终止
- Microchip推出新款交钥匙电容式触摸控制器产品 MTCH2120
- Matter对AIoT的意义:连接AIoT设备开发人员指南
- 我国科学家建立生成式模型为医学AI训练提供技术支持
- Diodes 推出符合车用标准的电流分流监测器,通过高精度电压感测快速检测系统故障
- Power Integrations面向800V汽车应用推出新型宽爬电距离开关IC
- 打破台积电垄断!联电夺下高通先进封装订单
- Ampere 年度展望:2025年重塑IT格局的四大关键趋势
- 存储巨头铠侠正式挂牌上市:首日股价上涨超10%
更多往期活动
厂商技术中心