第
2 0期 2 1 0 0年 4月
计算机技术与发展C OM PUTER TECHN0L 0GY AND DEVEL OP M ENT
Vl 0 1 . 2 0 No . 4Ap r . 2 0 1 0
一
种基于 S O A的网格任务调度框架易侃,王汝传(南京邮电大学计算机学院,江苏南京 2 1 0 0 0 3 )
摘
要:目前网格任务调度算法大都通过仿真手段进行验证,缺少在实际的网格任务调度系统中检验。通过在实施网格
项目中的经验,提出了一种基于 S O A的网格任务调度框架 G ( G削 T a s kS c h e d u l i n gF r a m e w o r k ),该框架通过 w e b服务技术将任务调度解耦为多个服务模块,不仅简化了算法设计人员的工作量,还使得网格任务调度系统更加稳定。最后基于G T S F设计并实现了一个图像渲染应用供其他网格应用的开发人员参考。实际的网格应用开发过程显示 G T S F使得基于G i o b u s中间件的网格应用系统能够更快、更好的开发和部署。 关键词:网格;任务调度; S O A; G l o b s n 中图分类号: 1 1 P 3 9 3 文献标识码: A 文章编号: 1 6 7 3— 6 2 9 X( 2 0 1 0 ) 0 4~0 1 5 5—0 4
A Ta s k S c h e d u l i n g F r a me wo r k Ba s e d o n S OA i n Gr i d Co mp u t i n gYI Ka n, W ANG Ru c h u a n
( C o l l e g e o f C o mp u t e r, N a n j i n gUn i v e r s i t y o f P o s t s a n dT e l e c o mmu n i c a t i o n s, N a n j i n g 2 1 0 0 0 3, C h i n a )
Ab s t r a c t: At p r e s e nt, t a s k s c h e d u l i n g a l g o i r t h ms a r e a l mo s t v e if r i d e b y i T l e a n s o f s i mu l a t i o n s, r a r e l y b y t a s k ch s e d u l i g n s y s t e ms i n r e a l d e n v i r o n me n t . Pr o v i d e s ag idt r a s k s
c h du e l i n gf r a me wo r kt o t a l l y b a s e d o nS OA。GTS F,wh i c h c a l/ l ef r o mo u r e x p e r i me n t si ng r i d r e l a t d e
p r o j e c t s .G T S Fd e c o u p l e s at a s k ch s e d u l i g n s T s t e m i n t o s o mei n d e p e n d e n t mo d l u e s b yw e b s e r v i c e s .I t㈨ n o t o n l y s i mp l i f y c o d i g wo n r k—l o a d o f a l g o r i t h m d e s i g n e r s b u t ma k et hewh o l es ch e d u l i g n s y s t e m s t a b l e .An i ma g e r e n d e i r g n a p p l i c a t i o nb a s eo n GTS F wi l l b ed e s c r i b e da t t h e e n d o f t h e p a p e r .Ex p e i r nc e e h a s s o wn h t h a t GTS F ma k e s t he p r o c e s ̄o f d a p p l i c a t i o n d e v e l o p me nt a n d d e p l o y me n t b a s e d o n
g l o b s t n o o l k i t r f l o r e s i mp l e a n d r a p i d . Ke ywo r d s: g r i d: t a s ks ch du e li g; n S。A; Gl o b u s
0引 言基于开放网格体系结构 ( O G S A) J的网格基础设
中包含两个网格调度框架 C S F和 G r i d Wa y。
C s F【 4】是与 WS R F兼容的网格任务调度框架,利用G l o b u s提供的基本服务,开发了作业服务、队列服务、资源预留服务等有状态的 w e b服务。利用 C S F,网
施将异构、分布的资源组织在一起,提供大规模的计算和存储能力。网络上的任何资源通过安装和配置中间件如 G 1 O b u S L 2],即可成为一个虚拟组织内的网格资源。 G l o b u s中间件提供安全服务、任务管理服务、数据传输服务、资源发现和索引服务等基本的网格服务。基于 w e b的
网格服务已被公认为网格的基本技术支撑 J,
格用户可以通过 G l o b u s的G R A M协议与各种本地资源管理器,如L S F[ 5】、 P B S C引、 C o n d o/’]等协作。除了支持基本的作业管理服务外, C S F还支持可配置的作业调度机制;有限的资源预留机制;兼容 P r e—WS—
网格任务调度框架利用基本的网格服务为用户提供透明的网格应用。目前 G l o b u s官方提供的第三方工具收稿日期: 2 0 0 9~O 8—0 9;修回日期: 2 0 0 9—1 2—1 5
G R A M, WS—G R AM协议等。然而,基于 C S F的网格应用只限制在分布式作业管理领域,无法支持其他类型的网格应用,此外,对于一个简单的调度算法,算法设计人员需要了解 C S F底层的大部分设计,编写大量的代码才能实现。G r i d Wa y[ 8 j参照了集群环境下的分布式资源管理系统的设计,通过 Gl o b u s的基本服务管理网格内共享的、异构的资源。Gr i d Wa y通过中间件
基金项目:国家自然科学基金( 6 o 9 7 3 1 3 9; 6 0 7 7 3 0 4 1 );江苏省自然科学基金 ( B K 2 0 0 8 4 5 1 );国家高科技 8 6 3项目 ( 2 0 0 7 A A 0 1 Z 4 0 4;2 0 0 7 A A 0 1 Z 4 7 8 );江苏高校科技创新计划项目( C X 0 8 B一0 8 5 Z;
C x 0 8 B一0 8 6 Z );江苏省六大高峰人才项目( 2 o 0 8 1 1 8 ) 作者简介:易侃( 1 9 8 1一),男,江苏南通人,博士研究生,研究方向
访问驱动 ( MA D, Mi d d l e w a r e A c c e s s D i r v e r ),包括信息管理器、传输管理器,执行管理器,屏蔽底层网格中间件之间的差异,支持多种网格中间件;通过解耦调度过程和派送过程,让用户编写自己的调度器,实现自己设
为网格计算、信息安全、计算机软件等;王汝传,教授,博士生导师, 研究方向是计算机软件、计算机网络和网格、对等计算、信息安全、无线传感器网络、移动代理和虚拟现实技术等。
L 5 6
计算机技术与发展
第2 0卷
定的调度策略;通过丰富的 D R MA A库和命令,让用户编写复杂的网格应用。然而, G r i d w a y不是
基于气 架构的,它是一个客户端程序,扩展性较差。 为此,开发了 G T S F网格任务调度框架,该框架完全基于 S O A架构[,以G l o b u s t o o l k i t 4为底层,框架主
现的。网格任务调度服务是网格用户与刚格平茵丘
的接口,通过该接口进行任务提交、任务监控以及获借任务调度结果等功能;应用服务是应用服务提供商将自己开发的网格应用以标准接口发布的网格服务,如
客户流失分析服务、图像渲染服务等;而阏格基础服务,如信息服务、输出传输服务,安全服务等可以由标准的网格基础设施 G l o b u s、 L e g i o n等中间件提供。图 2显示了用户与网格调度服务以及网格任务调度服务框
体完成了与用户通信,框架模块之间的通信,以及框架与G l o b u s服务的通信的大部分通用的功能,算法设计人员只需要关注调度算法本身,忽略与算法无关的其他细节,并部署与算法相关的网格服务即可实现新的
架中的其他服务之间的消息传递过程。
满足应用需求的调度算法,该过程极大地简化了 算法设计人员编写的代码量,同时也有利于调度系统运行的稳定。
回
匡J OBR E Q r _
国
匡s u I 0_ R R E s - I NF O _ L I S TJ o I NF 0 R E Q一
匡
匦
J ol J T: _ oR - “助 E
I I
、
J OB I NF O U S T
1 G T S F的框架体系结构基于 WS—G R A M的
,
l I
J I 喝 LI S T^LL0C^T£D B LI S T ALLoCATEE 、l—
J OB SUBMl rJ oB RI S LT
作业管理使得用户远程提交、执行作业称为可能,它是基于 G l o b u s的网
、JOB I qNI SHED、
1
-
I
图 2服务之间消息传递关系
格任务调度框架的基础。由于网格应用的类型、对应
1 . 1网格任务调度服务
用性能要求的不同,针对不同网格应用的调度算法也不同,如何让算法的设计者只关心算法本身而忽略用户、信息服务、调度服务和应用服务之间的相互调用是研究网格任务调度服务框架的关键。因此首先要将网格任务调度框架与调度算法模块分离,明确网格任
务调度框架和调度算法模块所应有的功能和作用。
网格任务调度服务 ( S c h e d u l e r S e r v i c e )是用户与资源分配服务之间的接口,用于接收用户的任务请求,向
资源分配服务发送资源分配请求并将资源分配结果返回给用户,同时可以控制任务的执行、跟踪任务状态等。该服务属于框架中的核心服务,它使得调度算法设计人员无需关心用户与网格任务调度服务之间的交互功能,减少这部分功能的重复开发。图 3显示了调度服务的类图,其基本功能有: 1 )用户安全策略管理。包括用户的认证和授权; 2 )任务队列管理。包括任务入队策略,如先来先服务策略、优先级人队策略等;任务出队策略,如任务
图 1显示了基于 S O A的网格任务调度框架 ( G F )的体系结构,其中灰色部分为任务调度算法设计者需要根据算法需求编写的服务部分,而网格任务调度服务、应用层服务和网格基础服务是网格任务调
度服务框架应有的服务,完成绝大部分与算法无关的功能。
完成出队策略、超时等待出队策略等;3 )任务的状态管理。包括任务执行状态的控制和监控,为实现该功能需要网格应用服务集成 A p p l i c a—
t i o n S e r v i c e接口,该接口提供了控制和监控应用状态的方法;
4 )任务调度性能统计。包括对任务平均等待时
间、任务平均完成时间等其他指标的统计。1 . 2资源分配服务图1 G TS F体系结构
资源分配服务由网格任务调度服务触发,并调用任务预处理服务和资源预处理服务分别获取任务信息列表和资源信息列表,然后调用任务调度算法为每个
网格用户与网格任务调度框架的交互以及调度框架内其他服务的交互都是通过 We b S e r v i c e s的方式实
第 4期
易侃等:一种基于 S O A的网格任务调度框架
1 5 7
任务分配一个资源。
1 )分析任务执行的信息。任务执行信息包括任务描述文档中的基本信息,如任务名、任务执行的空间、 上传的文件、执行该任务的服务、需要的资源能力等; 另外还包含调度算法需要的信息,这些信息与具体的应用要求有关,如任务执行的估计时间、任务所需数据
资源分配服务 ( R e s A l l o c a t e S e r v i c e )提供一个
标准的调度算法的接口 S c h e d P l u g i n,与应用相关的调度算法实现该接口中的 s c h e Ma t c h ( L i s t r e s l n f o L i s t,L i s t
j o b l n f o L i s t )方法即可实现资源分配功能,其中资源信息列表( r e s l n f o L i s t )是通过资源预处理服务的客户端
的估计传输时间等,这些信息通常需要通过分析任务描述信息,和应用相应的预测机制获得; 2 )构造任务信息对象。任务信息对象是描述任务所有信息的对象,它所对应的类是扩展自 B a w J o b l n f o 类,该类的实例将返回给资源分配服务。1 . 4资源预处理服务
存根( R e s l r f o C l i e n t )获得,资源信息由基类 B a ̄ . . R e s l n f o 描述,特殊的资源信息要求,如声誉、信任、故障率等可以通过扩展该基类来实现;同样任务信息列表 ( j o b l n . f o L i s t )是通过任务预处理服务的客户端存根 ( J o b l r f o— C l i e n t )获得的,任务信息由基类 B a ̄o b l n f o描述,特殊的任务信息要求,如信任等可以通过扩展该基类来实现。图 4显示了任务调度算法插件类图。1 . 3任务预处理服务
资源预处理服务接收网格任务调度服务的请求, 从资源信息相关服务中获取资源基本信息,并构造资源信息列表返回给资源分配服务,包括以下三个功能: 1 )获取资源信息。资源的信息一般有三类,获取的方式有所区别:
任务预处理服务接收网格任务调度服务的请求、 分析任务描述文档,将任务的信息列表返回给资源分配服务使用,包含以下两个功能:隧o n u mb e r: O ma x: d o u se O mi n: d o u l: ̄ e
a )硬件信息,软件 (服务 )信息,例如 C P U个数、最鞲鬻●n J n ( ):
●p丑 e【】: h t●| t o p c ): i n t
●a u b h e n t i c a t J o n ( I n t m e r c e ̄ t: Q f k te ): i n t ●a u t h o r ̄ a t J o i n u nc r at: t ̄ i c n t e ):, mi d
o me n: d o u b l e
●口吐M∞ 1 ( ): d o u b
l e●I t∞t ( ):、 dd‘《m >
●O e t S ̄ a t c ( ): ht
图 3调度服务类图
图 4任务调度算法插件类图
1 5 8
计算机技术与发展
第2 0卷
大和可用内存大小、最大和可用硬盘大小、虚拟硬盘大小等,它们可以通过调用资源信息服务如 G T 4的MD S获取;务
b )可以通过预测等手段获取的信息,例如 C P U的计算能力、 C P U的平均使用率、内存的平均使用率等, 它们可以通过统计的方法预测近似值; c )资源的其他特殊信息,例如网格资源的信任、声誉等信息,它们可以通过设计专门的资源信任、声誉系统,并以服务的信息发布,供资源预处理调用。 2 )筛选资源。筛选资源的过程是根据任务的需求信息对资源进行初次筛选,对于不能满足任务所需服务、性能要求的资源首先过滤掉。P B R T服务擞 骼
用户\~一一结果下载0晌
务提交渲染任务\
图5 图像渲染应用体系结构
进行资源筛选的前提是假定资源分配问题是组合优化问题,不考虑服
回i lI
国提交 p b r t文件包_
匡请求资源分配 :
国:
务组合的情况。 3 )构造可用资源信息对象。资
源信息对象是描述资源相关信息的对象,它所对应的类是扩展自B a s e—
L一 l 篓坌 一一 j、
L l I—— If l
。 IL
R ̄I do类,该类包含资源直接可获取的信息,如硬件和软件信息,而对
I l
j l I
渲染 成‘ 功‘: :
p 1广 . .—/ 酏… ’ lf: :
于需要预测的信息以及特殊的信息,需要扩展该类。
i I页面显示 I} ———————— I—一L: ———— !———塞— -兰—— - ——亘——竺———竺 —竺j—— L一一!鍪一一一:
2基于 G T S F的网格图像渲染应用
P B R T ( P h y s i c a l l y B a s e d R e n d e r i n g )【 l 0 J是一个开源
图 6基于网格的图像渲染过程
的图像渲染引擎,它能将三维场景的描述渲染成一副具有真实感的图像。由于图像数据是非保密数据
,数据易于分割、关联性小,因此 P B R T常用于测试多核 C P U的并行处理能力。现将多核 C P u环境扩展为网格环境,即在多个网格资源内署基于 P B R T的图像渲染服务,在G F框架下并行进行图像渲染。图5显示了基于 P B R T图像渲染应用的体系结
格门户,网格门户根据用户名对应的用户证书确定用户权限。用户选择图像渲染应用 P o r t l e t之后,就可以提交多幅渲染文件,进行并行的图像渲染,过程如下: 1 )用户选择需要渲染的 p b r t文件包,并上传至网格门户;
2 )图像渲染应用 P o r t l e t向网格调度服务请求为每个任务( p b r t文件)选择渲染服务所在的计算资源位置;
构,包括两个关键的网格服务: 1 )网格调度服务。该服务属于网格任务调度框架服务,已部署在 g l o b u s容器中,它调用的资源分配服务、资源预处理服务、任务预处理服务在图中没有标出,它们之间的调度关系已在 G T S F的体系结构中描
3 )图像渲染应用 P o r t l e t通过 G l o b u s的数据传输服务将 p b r t文件传输到分配的资源中,然后调用 p b r t 渲染服务进行渲染; 4 )最后返回渲染后的图片供用户浏览和下载。 图像渲染应用包括四个模块: *图像渲染任务 P B R T文件的选择和提交; *渲染图像的资源分配情况;*渲染后图像的缩略图显示;
述。调度算法采用经典的 Mi n Mi n算法l l l J用于测试。2 ) P B R T服务 ( p b r t S e r v i c e )是图像渲染应用的核心服务,它调用 p b r t渲染引擎将 p b r t文件渲染成图形。该网格服务主要提供调用图像渲染引擎的接口。 用户、调度服务和 P B R T服务的交互过程如图 6所示。 用户首先通过用户名、密码登陆南京邮电大学网
*单机和网格渲染的性能比较。 实验结果表明多幅图像在网格环境下渲染的完成(下转封三 )
满足了对疾病诊断工作信息化智能化的要求、
。
参考文献:[1][2]张红梅王永成,一 .
个仿人疾病诊断专家系统模型[ J]计.一
算机应用研究张增强刘,
,
2 0 0 0 1 7 ( 1 ):4 L..
43
.
成 D e l p tfi
7.
数据库开发完全手册[ M]北京:.
清华大学出版社
,2 0 0 3[3][4],.
王化玲王玉洁判别分析
—
—
计算机看病[J]郑州铁路.
职业技术学院学报,.
4 (3,2 0 0 2, 1
):6 2
—
63
.
袁庆锋景朋森基于.
D e lp hi
下 A D O技术应用技巧的探索.
与实践[J]淮海工学院学报:自然科学版—
2 00 5, 14 (3
):2 7
31
.
[5]
李.
金吕汉兴医疗诊断专家系统推理机的设计与实现,.
[J]微机发展 (现名:计算机技术与发展 )—
,
2 0 0 4 1 4 ( 9 ):4 3,
44
.
[6]
胡碧松冯,
丹曹务春等基于贝叶斯算法的移动式疾,,.—
图6
疾病智能诊断系统应用界面和疾病分析模块运行界面[7
J]计算机应用 2 0 0 8 ( S 1 ):1 6病智能诊断系统【.
,
17
.
]
O N e ill P Ds e rv e
’
,
R o bee
r ts
G O B a y e s ia n in f e.
re n ce
fo
r
p a r t ia l ly
o
b
—
d
s to c
ha s t ic,
系统的设计和开发并给出了算法流程图及系统运行,
p ide
m
ic s—
[J] J o u r n a l.
o
f R o y a l S t a t is t ic a l
S o c i e t y A 1 9 9 9 1 6 2:1 2 1,
12 9,
.
结果
。
[8],,
Basan
e z
M G Ma,
rs
ha l l C C a r a b i n H B a.
s ia ye
n
s
t a t is t ic s
fo r
此方案在实际运行过程中操作方便运行稳定,
,
t p a r a s io—
to g i s m[J
]
.
T
re n
ds i n P a r
as
i t o lo g y
,
2 00 4,20
( 2 ):8 5
性能良好很好地解决了传统的疾病诊断方式中存在
91
.
的不足减轻了医生的工,
作负担
,
提高了工作效率
,
(上接第 15 8页 )
时间比在单台高性能计算机上渲染要快的多
。
[4]
Mam e n
u s o
lf Ji d gr
.
U s e Co m—
m a n
i t y S c he d u le,
r
F
ra m e w o r
k
tO, Ll r
i m p le
—
t
m e ta
sc
h e d u l e r s I B M W e b R e p o r t,2 0 0 4一
l[E B/-
3
结束语文中详细描述了一
OL
]
.
2004r—
.
w
w w
12 8.
.
ibm
.
co m
/ de
v e o
l pe r w
o r
li ks/ g r id/
br a r y/ g
m e ta
.
ht m.
种基于鼢一
~的网格任务调度
[5][6
王
涛杨志义周兴社基于,.
LSF,
的集群管理系统的设计,
框架
GT SF
,
并基于此框架实现了,
个图像渲染应用
。
与实现[ J]微电子学与计算机 2 0 0 5.
2 2 (7
):7 3
—
75.
.
该框架完全是面向服务的便于重用和灵活的构建与应用相关的调度系统。
]
杨
洋
,
李菁菁王庆官 P B S作业调度研究[ J,.—
]苏州大学
同时该框架为网格任务调度算,
学
报:自然科学版 2 0 0 9 2 5 ( 1 ):4 2,,
46
.
法设计者屏蔽了网格任务调度中很多可复用的功能
[7]
周振字余丽琼程东年浅析 C o n d o r和 G l o b u s在网格计,,.
使得它们只需要关心调度算法本身,
。
目前 G T S F功能一
算中的应用技术[ J]信息工程大学学报 2 0 0 4 5 ( 1 ):8 0.
—
,
,
和性能依然不够完善需要通过更多的应用来进
步
82
.
使之趋于稳定参考文献:[1]K i s h imo to
[8]
H u e do Eture
,
Mo
n ter o
R S L lo,
re n te
I M
.
A R e c u r s ive n t
e
Ar ci h.
tec
.
。
fo
r
H ie
r ar c
hi c a l G r id R e sp u t in gm o w
o u r ce s
Man agem
【 J J Fut—
u r e
Ge
n e r a t io nco m e r s
CoE
m
System.
,
2 0 0 9,2 5 (4ta nn
):4 0 1w
405
.
[9H,Trc a
]
Ne wv
,L o
G U n de r s A t a r io:m t ia cs e
din gwa
S OAe s le
i t hⅥ‰.
Se r
—
dw
e
U J D e f in i n g.
t he
i d:A R o a d m Grrv
a
p fo
r
ic e
[M]
,
ToronE.
toa t
,
On
dd i s o
y2 00 4n
O G S A]Wo r
M
Sta n da r d s[M,
]
.
U S:O p eyo
n
G r id S ea,
i c e s A r c hi t e c t u r.
e
[10]r
L a fo r t u nit h ma ts
er
M
he n
l M o d e lsn
d n
Mo
te
Ca r l o A Ig ols,
—
k in g G r o u p U n i vter.
e r s it
f V ir g i m
2 00 5r a
fo
P h y s ic a
ll y B a
d Reu v e n
de r ig n,
[D.
]
.
B
r u s s e
B e lg i u
m
:
[2]
FosOr iw o r
I G lo b u s T e o l k i t V e r s i o n 4d Systems
:
S o ftw
e
fo r S ee r e n c e
rv
ic e Ne
—
Kt.
h o li e k e U n i vw a r
e r s i t e it
Le,
19 9 6,
e n te
/ IF IP[C]/
In.
ter n
a t io n a
l Co n f
o n
[1 1]
M a he sn a
m a
M A I i S S ie g e l H J.
e t
a
1 Dyna.
m
ic M a
tc
i h
n
g—
k
a n
d P a r a lld 13.
O
am
p t in gu
[s
.
1.]: S p r in g
e r
—
V e r la g
,
d S c he d u l in gn e e o us
o
f
a
C la
ss
o
f In d~s
e p e n d e n t~i a s'
ks
o n to
Heus
terom
2 0 0 6:2
—
g,.
Coo r
m
p u t ig n
Syste n’
/ 8 t h He t e r o g e n eo[ C]/.
Co:
—
[3
]
胡春明怀进鹏孙海龙基于,.
w cb,
服务的网格体系结构及
p u t in g
Wr
ks ho p
(H CW 99 ) S a n J u a n,.
,
Pu e
rto
R ico
IE E E
其支撑环境研究[J]软件学报
2 0 0 4, 1 5 (7
):1 3 4
—
14 5
.
Co
m
pu te
S o c ie t y 1 9 9 9