(计算机软件与理论专业论文)作业管理系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)作业管理系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)作业管理系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)作业管理系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)作业管理系统的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 作业管理系统是一种建立于操作系统之上,对连接在群集中的工作站或p c 机 送行管理的中间软件。其目标是在通过网络连接起来的地理上分布、异构、自治 的各种计算机和专用设备上建立有效的分布资源管理模式,形成一种高吞吐量和 高性能的计算环境。笔者于2 0 0 4 年8 月进入西北工业大学软件工程中心,参与了 一个国际合作项目作业管理系统( 堋舔) 服务器端系统软件的设计与开发,在 一年多的实践基础上,笔者对作业管理系统的框架体系结构和实现方法有了一一个 比较深入的理解和认识。 主要的研究工作及成果有: ( 1 ) 总结了作业管理系统的发展历史和应用领域;对作业管理系统的体系 结 构进行了全面分析,对结构的各个框架构成部分进行了详细的功能描述。 提炼出了作业管理系统服务器的三层体系模型。 ( 2 ) 介绍了j m s 系统的作业模型和作业的图形化描述及实现;并实现了“s a p b w ”新型作业类型。 ( 3 ) 研究分析了j m s 作业管理系统中作业网络和请求两级调度的过程和策略; 提出了一种改进的轮询调度算法,该算法考虑到机器的差异,采用动态加 权的机制实现负载均衡、提高系统的调度效率。 ( 4 ) 开发和部署可运行于6 4 位操作系统,支持基于i n t e l 的i a 6 4 构架的i p f 系列处理器的作业管理系统,扩大了作业管理系统的应用平台。 关键词作业管理系统,作业网络,请求,队列,负载均衡,动态加权轮询调度策 略,6 4 位 a b s t r a c t t h ej o bm a n a g e m e n ts y s t e m ( j m s ) i ss u c hk i n do fm i d d l es o f t w a r et h a tf o u n d s u p o nt h eo p e r a t i n gs y s t e m ,a n dm a n a g e st h ew o r k s t a t i o n so rp c si nac l u s t e r t h e s y s t e mt r i e st oa c c o m p l i s ht h eg o a lt ob u i l da ne f f i c i e n tr e s o u r c em a n a g e m e n tm o d e lo n d i s t r i b u t e d ,i s o m o r p h i ca n ds e l f - g o v e r n e dc o m p u t e r sa n ds p e c i a ld e v i c e sc o n n e c t e dv i a t h en e t w o r k ,a n dt of o r mad i s t r i b u t e dc o m p u t i n ge n v i r o n m e n to fl a r g et h r o u g h p u t sa n d m g hp e r f o r m a n c e t h ea u t h o rh a sj o i n e di nt h es o f t w a r ee n g i n e e r i n gc e n t e ro fn p u f r o m a u g ,2 0 0 4 ,p a r t i c i p a t i n gi na ni n t e r n a t i o n a lc o o p e r a t i n gp r o j e c tt h a ti st h ed e s i g na n d d e v e l o p m e n to f t h es e r v e re n do f t h ej o bm a n a g e m e n ts y s t e m f o rt h ep r a c t i c eo f m o r e t h a no n ey e a r , t h ea u t h o rh a sg o n ed e e pi n t ot h ea r c h i t e c t u r ea n dr e a l i z a t i o nm e t h o d so f j m s t h er e s e a r c ha c c o m p l i s h m e n t sm a i n l yi n c l u d e : ( 1 ) s u m m a r i z et h eh i s t o r ya n dt h ea p p l i c a t i o n so f t h ej o bm a n a g e m e n ts y s t e m ;r u n y a n a l y z et h ea r c h i t e c t u r eo fj o bm a n a g e m e n ts y s t e m ,a n dp o r t i o n si nf r a m e s t r u c t u r ea r ed e s c r i b e di nd e t a i l ;r e f i n et h et h r e e l a y e rh i e r a r c h ym o d e lo ft h e s e r v e re n do f j m s ( 2 ) i n s t i t u t et h em e t h o d so f g r a p h i cd e s c r i p t i o no f a l lk i n d so f j o b sa n di n t r o d u c ean e w j o bt y p es a pb w j o b ( 3 ) s t u d ya n da n a l y z et h et w o - l a y e rs c h e d u l i n gp r o c e s sa n ds t r a t e g i e so ft h ej o b n e t w o r k sa n dr e q u e s t si nj m s ;w o r ko u tan e ws c h e d u l i n ga l g o r i t h mb a s e do n w e i g h t e dr o u n dr o b i nf o rm u l t i m a c h i n es c h e d u l i n gt h a tc o u l db a l a n c et h el o a do f t h en e t w o r ka n de n h a n e 圮t h ee f f i c i e n c yo f t h es y s t e m ( 4 ) d e v e l o pa n dd e p l o y6 4 一b i tj o bm a n a g e m e n ts y s t e mt h a tc a nb er u no ni p f p l a t f o r m i p fi sn e wi a 一6 4a r c h i t e c t u r ep r o c e s sc h i pt h a td e v e l o p e db yi n t e la n d t i p k e yw o r d s :j o bm a n a g e m e n ts y s t e m ,j o bn e t w o r k ,r e q u e s t ,q u e u e ,l o a d b a l a n c e ,d y n a m i cw e i g h t e dr o u n d - r o b i ns c h e d u l i n gs t r a t e g i e s , 6 4 b i t i 耋基i 3 :业大学硕士耋警i 论ll 文i l l - 耋曼皇畔蔓! ! 舞 前言 研究背景 作业管理系统是建立在操作系统之上的种资源管理软件。早期的作业管理 系统,是为了强化操作系统的批处理功能。随着计算模式从主机为核心转交到网 络为核心,导致了集群系统的产生与应用。集群是以网络连接起来的服务器或p c 机的有机组合,它在工作中是一个统一的整合资源,所有节点使用单。界面。但 仅简单的将工作站或p c 机连成网络并不能形成集群,还需要有管理这些机器的软 件系统。集群作业管理系统就是集群系统软件的重要组成部分。集群作业管理系 统可以根据用户的需求,统一管理和调度集群的软硬件资源,保证用户作业公平 合理地共享集群资源,提高系统利用率和吞吐率。 近年来国外对作业管理系统的研发工作一直很活跃,世界上许多大学和研究所 都开展了对作业管理系统的研究工作,并且产生了许多公用和商业化的作业管理 系统,如n q s 、p b s 、d q s 、n q e 、t a s k b r o k e r 、n e t o o l s e t 、c o d i n e 、l o a d l e v e l e r 以及n e c 公司的n e t s h e p h e r d 等。一些正在研究的系统有g l o b u s 、l e g ! o n 、g a l l o p 等。在国内由国家“8 6 3 计划”组织实施的“国家高性能计算环境”主要做的蹙资源分 配和调度方面的研究,它的分布式资源管理软件网格系统( g r i d w a r e ) 要求节点 为超级计算机,对于p c 机及个人工作站不太适用。 西北工业大学软件工程中心参与国际合作项目,从1 9 9 7 年起开始研发集群作 业管理系统j m s 。该作业管理系统既具有一般作业管理系统的特点( 即分布操作、 客户服务器与测览器服务器模型、资源共享、均衡负载、底层支持系统使用 n q s ) ,而且在此基础上开发了具有面向对象组件风格的作业网络图的操作模型, 它具有可用性、扩展性、分布式等特点。 本文的主要工作 笔者从2 0 0 4 年8 月开始参加了j m s 作业管理系统r 1 2 3 、r 1 2 4 、r 1 2 5 三个 版本的开发工作。笔者所承担的主要工作有: n ) 作业管理系统j m s 的开发、测试以及日常维护工作等。 f 2 ) 作业管理系统j m s 的作业调度机制的研究和改进。研究了j m s 系统的作 业调度机制,给出了一种轮询调度算法。 ( 3 ) 对作业管理系统j m s 进行了6 4 位开发和移植工作,增加了j m s 系统对 6 4 位w i n d o w s 平台的支持。 本文的组织结构 全文的组织结构如下: 前言综述本文的研究背景、主要:丁二作及组织结构 第一章作业管理系统综述 本章介绍了作业管理系统的基本概念、发展历程以及应用背嚣,并对 作业管理系统的典型体系结构予以说明。 第二章作业管理系统的实现 本章对作业管理系统j m s 的体系结构进行剖析,并介绍其实现过程。 首先详细的阐述了j m s 系统的作业网络参考模型;接着详细论述了 j m s 系统的通信模型的设计和实现:最后对j m s 系统服务器系统进行 了细致的描述。 第三章请求调度与负载均衡的研究 本章深入论述了j m s 系统中的请求调度和负载均衡的实现。j m s 系统 使用扩展的n q s 系统完成请求调度。调度包括单机器调度和多机器调 度。本章主要介绍了后者即所谓负载均衡,通过负载均衡可以提高请 求的执行效率。最后本章还提出了一种改进的均衡算法。 第四章开发部署6 4 位作业管理系统 本章首先从软、硬件两方面介绍了6 4 位计算技术的基本概念;接筲从 环境搭建、详细开发步骤、安装等方面对6 4 位作业管理系统的开发和 部署进行了详细论述。 结束语本章总结了本文的主要成果,并指出了需进一步完善的工作。 2 盟i i 兰些奎堂堡主鲎焦堇塞一一一 第一章作业管理系统综述 第一章作业管理系统综述 本章首先简要介绍作业管理系统的基本概念。然后介绍作业管理系统的发展 历程和所应用的领域以及作业管理系统的体系结构。 1 1 作业管理系统的概念 1 1 。1 作业管理系统的定义和术语 ( 1 ) 定义 作业管理系统是建立在操作系统之上的一种系统软件,处于应用软件和操作 系统、网络协议等之间的一个软件层。其主要作用是强化操作系统的作业管理功 能,提供作业批处理排队、作业提交、调度、执行及控制的新机制,更加有效地 利用系统资源、均糖网络负载、提高系统整体性能。作业管理系统最早在大型主 机上使用,系统或用户提交的作业在它的管理下以批处理的方式运行。随着高性 能工作- 站、集群系统的发展,作业管理系统也发展到支持异构的网络环境、支持 多平台、支持并行应用等新需求的一个阶段。对这种综合型的作业管理系统体系 的剖析将在下章讨论,本节先介绍作业管理的相关概念。 ( 2 ) 术语 作业管理涉及多个研究领域,用到的概念也比较多。下谣所定义的概念是后 面章节会用到的术语,而且这些术语基本上都和笔者参与实现的作业管理系统有 关,因此对于某些专业化的作业管理的术语可能有不嗣。 作业( j o b ) :按p o s i x 的观点( p a 忸x 加d 主2 d ) ,作业是一个会话组( 一个 会话组是一组进程,会话组的成员进程不能脱离会话组而存在) 。在操作系统上作 业是一个s h e l l 语言程序,由系统命令解释器加载执行;在作业管理系统中,作业 是系统管理的基本单位,与普通s h e l i 语言程序的不同在于增加了作业属性定义。 任务( t a s k ) :在特定操作系统上的一个可执行程序。作业由多个任务构成, 一个运行的任务可以是操作系统中的一个进程或多个进程。 交互式( i n t e r a c t i o n ) :用户登录到操作系统,在一定的用户环境( 如环境变 量、当前目录等) 中运行作业,作业在执行过程中,可能需要用户提供控制台输 入,用户也可以即时查看控制台的输出,这种运行作业豹方式称交互式。 批处理( b a t c h p r o c e s s i n g ) :由搡作系统上的一个予系统恧不是由用户使用交 互式的会话过程运行作业的方式,称为批处理,这种子系统称为批处理服务器。 批处理系统( b a t c hs y s t e m ) :多台安装商批处理服务器的主机,通过网络连接 3 两j e :t 攮盔堂硕士学燕论文筹章终照嚣理系统练述 , ,i , , , ii i ii i i i 。i 寰 共嗣完成网络中豹拙处理作业,并被作为一个整体进行配置、管理,就形成批处 理系统。作业管理系统就是一个复杂的批处瑚系统,它除了能以批处理方式运行 作业外,还能对作业调度、作妣对资源的竞争、系统的负载等进行全丽控制。 带点( n o d e ) :运行一个操作系统、具鸯个或几个p 地电e 的一台汁算桃称 为一个节点。多辊系统幽多令节点构或。 集群( c l u s t e r ) :由个羝处理系统管理的一缀节点形成一个燕群,集群中的 成员节点可以是同构的( 栩间的机器硬件体系结构,相同的操作系统) ,也可以魁 异构的( 或者机器硬件体系结构不同,或者操作系统不同) ,或是两者的混合。 个集群可以被看成一个并行桃,在批处理系统瓣参与下,集群中的一个铃点可以 运行多个俸监,也可戳将个作韭分布在多个节点上运行。 队列( q u e u e ) :魏处理系统中设嚣的一种熬本懿 笮业分类枫铡,它将不同瘸 性的作业分成不同的集合,作业的属性与所参加队列的属性要求不能矛盾。队列 属性有名称、优先级、资源限制、目标机器和作业个数限制等。 负载( l o a d ) :对集群中的每个节点,选定一组作业使用的爨源类别( 如占翔 c p u 时阀、占用痰存等) 筝为统一指标,将个节点上全部终照占臻懿资源蔹这 一缀稽标进行弼算,锓羁醵德稼为节点兹受簸。由作照管理系绞投入运行戆作耍 产生的负载总和称为作业管攥系统的负载。 负戳均衡( l o a db a l a n c e ) :是指在一个熊群范隧内通过台理的伟业分配,保 持备节点负载基本均衡。 势褥终业( p a r a l l e l j o b ) :一个程黟投入运行爱,翔有多个弗发逡行的进程分 剐酝整在不同豹处理臻上,辩羹遴程阕褶曩避诫完成数摇交换,这样豹程序称为 并行程序。并行程序在作业管理系统中形成的作姐k 称为并行作业。 1 1 2 作业管理系统的技术特点 ( 1 ) 馋监溺络:佟她管理系统按照一定的逻褥关系将瘸户定义豹佟业缎织成一 个礴扶强。作监类麓鞫棒监关系秘成了佟救弼终。根据箨媲嬲络生成的具 体的语匈,提交给作娩网络的解析系统解柝。在粲群作监管理系统( j m s ) 巾定义了1 5 种作业炎裂。通过这1 5 种作q k 类型,在客户应用程序中提供 作渡网络图的方慢操柞,客户可视化的操作复杂作业,使用拖放等功能就 对将各种作业秘依籁关系组织成俸业瞬络图。 ( 2 ) 透明性:俸业管理系统不需要瑷户于镁裁缝够魂态逑潺度佟效执行。弼户 不必指定作照运行在哪些节点,谣爨 羟俸逝镑理系统裰据系绫状态动态指 定作业运行节点。 ( 3 ) 旗予镰群的高可用性:离可用性包括负娥均衡和故障辟蔽两方嘲。负载均 搬就是盔分配作业时,将作业分配到负载最轻的节点i 二越执行,使得各个 4 两北 :业大学硕士学位谂文第一章作业管理系统综述 节点的负载量基本相当,作业的执行时间达到最短。故障屏蔽是指当前执 行作业的节点发生故障时,作业可以迁移到其它节点重新执行。实现商可 用性可以提高作业执行效率,屏蔽由于网络或者节点的不可靠性带来的问 题,有效地管理作业。在作业管理系统中运用集群技术,可以有效地髓视 网络资源、均衡网络负载、提高系统整体容错性能。 1 2 作业管理系统的历史 1 2 1u n i x 实现作业管理功能 作业管理功能最早由u n i x 系统本身实现。在现实应用中,u n i x 主机通常昼夜 运行,在大多数的非工作时间里系统资源无法得到有效的利用,因此产生了“在以 后某个时刻执行作业”、“在资源得到满足的情况下执行作业”、“按某种时间周期有 规律地执行作业”等作业管理的思想,并将这些思想用a t ,b a t c h ,c r o n 三个命令实现。 但是u n i x 系统所实现的作业管理功能存在不足: ( 1 ) a t 命令一旦将作业投入运行就无法对作业的执行过程进行控制,用,o 只能 在作业完成后查髫执行结果: ( 2 ) a t 系列命令并不关心作业运行时系统的负载情况,当有几个大型的作业同 时执行时,可能导致系统熬体效率极为低下; ( 3 ) c r o r d a t 只能在一台u n i x 主机上运行,对于网络环境无能为力。 综上所述,u n i x 系统对作业管理只提供了有限的支持,满足了用户作业管理 的最基本要求,但它却是后来发展起来的作业管理系统的基础。 1 ,2 2 网络队列系统韵出现 u n i x 系统本身的作业管理功能非常有限,当大量的实际应用要依赖于u n i x 时, 就产生了对p o s i x 标准及u n i x 进行扩展的要求,使之能够更加有效地支持批处理 作业管理。这就产生了最早的批处理队列系统( b a t c h 旦e u i n gs y s t e m ) ,它的基 本思想是不修改u n i x 的核心,在u n i x 之上再建立一个子系统,用户将作业提交 给该子系统,由它对作业进行调度和执行,同时负责系统资源的有效利用及作、 控制。 批处理队列系统的一个代表是n q s ( n e t w o r kq u e u i n gs y s t e m ) ,即网络队列 系统。n q s 的前身是美国军方开发的批处理队列系统m d q s ( m u l t i p l ed e v i c e q u e u i n g s y s t e m ) 。但它不能满足n a s a 的商性价比需求,于是n a s a 与其他软件 公司在1 9 8 6 合作开发出了n q s 。 由于该系统的广泛使用,i e e e 经将n q s 确立 为p o s i x 标准的一部分,即p o s i x1 0 0 3 2 d ,“b a t e hq u e u i n ge x t e n s i o n sf o rp o r t a b l e 5 砥些点些盔鲎堡圭堂位煎文 第一牵作业链理系统综述 o p e r a t i n gs y s t e m ”。当p o s l ) ( 1 0 0 3 ,2 d 标准依9 订后,新出现的作业簿理系统舔本上 都遵守了该标准的嫂范,但大多数系统劳没有采用然本n q s 的结构与源代鹳,只 提供了标准掰要求的外部接嗣,并辩作监管理系统的功能滋行了穰大的扩充。如 c l a y 公司开发鲍n q e ( n e t w o r k q u e u i n g e n v i r o n m e n t ) 。n a s a 与m r j 公司在n q s 基础莛痢7 f 发的p b s ( p o r t a b l eb a t c hs y s t e m ) 等。笔者参与研发静作业管理系统 j m s 也是基于n q s 并对其功能进行了扩充。 1 2 3 综合性作业管理系统 在p o s i kt 0 0 3 2 d 标准铡订螽密瑰的作鼗餐理系统基本上帮实现了滚标准的规 范。掰的作业管理系统主要有两类:一类是通过扩展n q s 系统而来,这类系统与 簇有的n q s 系统有饕良好的兼容毪:另一类粥是自遗羹耨定义整个系统,其它 任何系统都不兼容,但是有的也提供了与n q s 系统协同工作的方法。本文介绍的 系统郎蹩邋过扩溪n q s 系缀露来。这类系统大多数并没有袋用基本n q s 的缝构 与源代码,只提供了标准所鼹求的外部接口,劳对作业管理系统的劝能进行了很 大既扩充。这些系统实际土怒一秘综合蘸终敛管理系统。扶发展的趋势看,综合 作业管理系统是今詹的发展方向。 臻合的佟逝管理系统运常其有鞠下一些黪征: ( 1 ) 以c s 1 结构为基本结构,具谢完整的服务器模块和客户端模块: t 2 ) 系统舆有开羧噬特点,支持多- 耱舅梅搡终系统薹 = 境域灌细瑟功能; ( 3 ) 与系统的运行环境紧密结合,对多种作业类型如交互式作业谗提供支持; ( 4 已经商分蠢式系统转铯,支掩自动受载均餐髑囊载共事辊铡; f 5 ) 具有良好的图形用户界砸支持,更加方便用户完成作业管穗的全过程,包 括份蛙定义、掇交、监控及完善的系统管理功能等。 1 3 作业管理系统的应用 1 3 1 科喾计算领域 计算视自发明以来,一个主要的应用是遴行科学计算,如何有效幂 j 用计簿祝解 决复杂的计算闯题,一直是一个滔跃的研究领域。 商性能计算对作妲管理系统豹臻袋主要帮: ( 1 ) 能够“感知”作业的并褥性。 ( 2 ) 可戳管理特大垄静集群( 如5 0 0 个节点) 帮特别大的律数( 热需要5 0 个 节点才可以遨行) 。 ( 3 ) 对并行编程软件包( 如p v m 、m p i 、h p f 譬) 提供支持。 6 两j e i :业大学硕主学位论文 第一章作业管理系统综述 ( 4 ) 可以实现集群范围内的作业调度,使得属于同一并行作业的多个并行任务 在同时刻启动执行。 ( 5 ) 在集群系统中,实现作业迁移,即作业正在执行的机器由于资源发扛了变 化或调度规则的限制,需凄将作业转移到另外一台机器上继续执行。 ( 6 ) 提供用户级的检查点功能。检查点功能只有少数操作系统支持,但在作业 管理系统中它的重要性是显然的,因此需要在作业管理系统中提供该功能。 1 3 2 商业应用领域 商性能计算对计算机的发展起到了很大的促进作用,然而,随着计算机的发展 和普及,商业应用在整个计算机应用领域中所占的比例逐年上升,具有广阔的发 展前景。商业应用领域对计算机的计算能力和网络并行程度要求没有高性能训算 领域那么严格,但该领域需要计算机的速度更快,容量更高,并能对大量数据进 行各种复杂的处理。当大量高性能的计算机系统也应用到商业领域如银行业、会 融业、石油化工企业、信息服务业及娱乐业时,这些系统的管理员发现同样需要 一个很好的后台系统完成企业范围内的作业管理,实现企业网络资源的优化利用, 简化系统维护工作,协调企业内各类应用系统的运行。 企业信息管理领域对作业管理系统的要求有: ( 1 ) 支持复杂作业,实现更多的作业依赖关系,与m i s 系统集成,企业级的作 业管理系统实际上提供了一个m i s 的开发与运行平台。以往的m i s 系统除 了对具体应用事务进行处理外,还要处理事务的规则,如某个统计程序在 特定条件下运行,服务器间的数据传输按特定的时间规律进行等。使用作 业管理系统后,m i s 的开发人员可以只对具体的任务进行编程,丽将蚬则 交给作业管理系统来处理,将m i s 与作业管理系统结会起来共同完成企业 的任务。 ( 2 ) 与e r p 软件包集成。e r p 软件包一般都包含一个调度程序,实现在它之 : 开发的批处理作业的执行,若实现作业管理系统的调度功能与e r p 软件包 的调度功能无缝集成,就可以只管理一个调度器完成整个系统的调度功 能。 ( 3 ) 支持广域网范围内整个企业的作业管理与调度。现代商业活动的全球化发 展,要求作业管理系统支持广域网,与w w w 等i n t e m e t 技术结合。 ( 4 ) 支持包括u n i x 、m v s 、w i n d o w s n t 在内的多种操作系统平台。 ( 5 ) 提供简单易用的客户界面,因为企业用户主要经常使用与业务相关的应用 程序,相对而言,作业管理系统是面向机器而非面向业务的,因此需要提 供一个易用的界面,使用户可以从业务角度查看作业管理系统。 7 堕韭一e 些盔堂堡圭学位迨文镣一章作业管理系统综述 ( 6 ) 与通用的商业数据库系统集成,自动完成数据库的转储、备份等功能。在 一。些大型的d b m s 中,也提供“数据库作业”的概念,如o r a c l e8 中的o a q ( o r a c l ea d v a n c e dq u e u i n g ) 和d b m sj o b 就提供了作业排队功能。作业 管理系统应积极地与d b m s 的作业排队功能集成。 笔者参与研发的作业管理系统j m s 是直接服务于商业应用的作业管理系统之 一,已经为德国西门子公司、日本住友银行、香川银行等商业机构提供了相应版 本。 1 4 作业管理系统体系结构 1 4 1 作业管理系统的c s 结构 笔者参与研发的基于集群的作业管理系统j m s 采用熊型的c ,s ( 客户服务器) 体系结构,它是一种先进的网络分布式模型。首先,使用c s 模型构造的应用系 统,将一个大任务交给服务器与客户机,由二者协作完成,这种分工协作可以充 分地发挥服务器的高性能和工作站的灵活、易用性,使两者的效用都达到最高, 使网络带宽资源的利用更加合理:其次,它具有面向对象的特点:由服务器统 管理一组对象,执行施加在对象上的操作;客户机要操作这些对象,只能通过向 服务器发送消息来实现,服务器执行完适当的操作后,将结采逐隧给客户。 基于集群技术的作业管理系统j m s 采用c s 结构具有很多优越性,下面主安 围绕这种结构阐述作业管理系统的特征。 ( 1 ) 满足分布式的要求 c s 结构是网络分布式的一种实现。作业管理系统发展的初期是为使大型机的 集中式计算资源得到更充分地利用。当高性能的工作站和高速网络普遍使用后, 大型机上的计算任务被分散在多台工作站上执行,人们使用台式机完成了更多的 任务。但经调查发现,工作站的资源利用率却很低( 据美国l o sa l a m o s 国家实验 室的一项调查表明,平均利用率不到总资源的l o ) ;另外,从系统运行时间看, 一个工作周1 6 8 个小时中正常的工作时间只有4 0 多个小时,这对任何一个单位而 苦,硬件的投入都没有收到应有的效益回报。出于这种需要,分布式网络环境更 需要作业管理系统担负起资源管理与作业调度的职能。受c s 计算模式影响,新 出现的作业管理系统将运行在不同机器上的模块也进行了重新划分,负责作业排 队、调度、执行等功能的模块运行在服务器端,而负责提交作业、查询状态的模 块运行在客户端,形成了典型的c s 结构。 ( 2 ) 满足异构性的特点 以i 西9 络为核心的系统有一个主要特点,那就是系统的异构性,爱用好这样的 系统,应用软件必须具有各个系统问的互操作能力。在c s 模型中,服务器与客 8 西北工业大学硕士学位论文第一章作业管理系统综述 户机可以由不同体系的计算机构成,根据处理能力的刁i 同,服务器一一般采用大型 机、并行机或小型机、多处理器硬件平台,运行u n i x 等大型操作系统;客广一机采 用工作站、高性能p c 或普通的台式机,运行u n i x 或w i n d o w sn t 等操作系统; 服务器与客户问采用成熟的i p c 机制实现相互通讯。由此可见,c s 模型为异构系 统的应用提供了一个很好的解决方法。作为一个应用实例,现在的作业管理系统 都是以c s 模型为基本结构,用户可以通过本地p c 机,向网络中一台u n i x 主机 提交作业,完全实现了使用统一的方式访问不同系统。 ( 3 ) 利于系统的开放性 c s 结构是一个开放的体系结构,以这种结构建立的系统,运行过程中可以灵 活地增加、减少或变更各组成部分,包括机器硬件和软件模块。作业管理系统所 运行的网络环境,会发生各种资源变更情况,如网络规模的扩大,需要作业管理 系统管理更多的机器节点,操作系统的升级需要作业管理系统支持新的作业运行 方式等,因此作业管理系统的体系结构必须是开放的。当使用c s 模型实现作业 管理系统时,可以采用c s 模型的一个基本方法,将各项功能分层实现,这样当 某一层功能更新对,只要保持与其它层的数据交换格式不发生变化,就可以动态 实现系统的扩充或升级。 “) 便于集中式簧理 c s 结构提供了一种机制,可以通过一点了解整个网络的情况,这使大型网络 的集中化管理得以实现。作业管理系统的运行环境是很复杂的,可能是一个小型 的局域网,也可能是一个大型的广域网,要有效地维护整个系统,必须提供集中 化管理机制,使管理员从网络中任意一台工作站上就可完成对整个系统的全面控 制。这也是作业管理系统采用c s 结构韵一个基本原因。 1 4 2 作业管理系统的构成 作业管理系统本身需要具有良好的内部组织结构。按照分层的观点,呵将作 业管理系统的体系结构分为客户端、通讯代理层、和服务器端。每层功能相互独 立,保证层与层接口相对稳定,既有利于软件开发,也可以做到很大的灵活性, 扩展功能比较方便。作业管理系统的体系结构组成见图1 1 所示。 9 一一= ,。 jo 乏一0 礴枣埔弹尊螂赫曩l t 二o = 兰k o o i 过二二濂。j 图l l 作韭管理系统j m s 鹩势按构成翻 1 4 。2 。1 客户端 罄户端( c l i e n te n d ) 负责用户界面和向服务器发出请戡。客户端软件通过提 供照好豹g u i 界面,帮勘爝户完成对作监随络管璎豹全过稷,包括佟监潮络缒定 义、提交、监控及毙游的系统管理等功能。用户可以将定义好的作业网络通过它 发往瓣务器,莱些特校累户逐可戳通过客户端软件对服务器避毒亍管理,创建、修 改域删除服务器所管理的各类对象。客户端软件还提供监控系统状态、查询相关 系统信意等葫髓。提供一个蘸好斡躅户界黉是方艇蠲户镬臻靛个手段,是为r 更好珧使用客户端所提供的各项功能。客户端软件运 亍在所肖用户机上,它避j = :l 户籁终选警纛系统靛接妇,主要包括戳下足大功能: ( i ) 作业网络管理功能。通过提供的g u i 界面来兜成作业阏络图的绘制,可对 佟遵阏络逶符瓣除、蹙名、复制、藏栏定义等操髓;,驻及对 擘渡网绣酶投 入及监控揲作。监查作业嗣络的执于亍状况,跟踪作业网络的执行,教得作 业网络当裁酌执| 行点,查髫佟渡弼终的执行霜志,对执行作鼗嘲络进行各 种控制。 1 0 阿北1 业大学硕士学位论文 第一章作业管理系统综述 鼍墨_ 墨墨_ i i 、pi ii 墨 ( 2 ) 日历调度功能。创建日历及时刻表,设置工作日及休息日。设簧作业网络 的日历调度规则,将调度规则联接到具体的作业网络上,使该作业网络按 照所设定的调度规则进行调度。 ( 3 ) 机器管理功能。对机器进行统一管理,可以形成作业管理系统的机器组, 在机器组内,可实现负载的分散功能。可追加或删除机器到机器组中。 ( 4 ) 统一管理站。对机器组中的所有队列和请求进行统一管理。可在机器组中 的任何机器上新建队列,设定队列的属性,优先级等。查看机器中的队列 状况,队列中的请求状况。用户可指定负载的走向。 ( 5 ) 系统信息查询功能。用户可以查询自己使用作业管理系统的历史记录,将 提交给系统的作业网络及其执行结果记录按照特定的检索条件查询出来。 根据用户的访问权限,系统还允许用户查询服务器状态、队列状态等信息。 1 4 2 2 通讯代理屡 在客户与服务器之间进行数据通讯,要通过通讯代理来完成,由它负责将客 户的命令发送到服务器端,并将服务器端的处理结果发回到客户端这样一来, 就形成了客户、通讯代理、服务器的三层通讯结构。从层次结构上来看,通讯代 理位于作业管理系统的中间层,处理c s 模式下的信息交互;从功能上来看,通 讯代理a g e n t 将客户和服务器从额外的数据传输负担种解脱出来,便于c s 之间 通讯接口的扩展和升级;从命令协议上来看,通讯代理由t c p i p 网络通信协议及 与平台无关的数据通讯协议构成。主要包括以下功能: ( 1 ) 将客户发出的命令请求串行化,即将打包后的命令发给服务器。 ( 2 ) 将服务器返回的结果数据反串行化,即将解包后的结果返圃给客户。 ( 3 ) 数据的网络传输功能。 1 4 2 3 服务器端 从外部功能看,作业管理系统的服务器是这样一组程序的集合,它们运行在 网络中的一台或多台机器上,这些机器可以使用不同的操作系统,向网络用户提 供多种访问途径,响应用户的请求;支持对作业网络的描述,按照作业网络所定 制的作业关系来执行作业网络,对作业网络中的可执彳亍的单元作业进行排队处理, 按照一定的调度原则选择运行作业请求,对系统资源和作业网络的执行过程进行 监控。 从内部实现方法看,作业管理系统的服务器管理多种类型的对鬈,包括作、眦 网络对象、作业对象、队列对象、请求对象、服务器对象等,它所完成的功能专 要集中在对这些对象进行操作,代表用户完成创建、修改、查询或删除这些对象。 服务器为每个对象设鼍不同的安全属性,在执行操作时要检查用户的访问权限 任何超越安全控制的访问都会被服务器拒绝。 从组成结构看,作韭管理系统豹碾务器幽作韭两络定义:于系统、作豫阕络引 擎、侬业执行子系统构成。在基哥二作业网络瓣作业管理系统中,要求服务糕端的 这三个子系统同时囊装在台主税上,实现对作业辩络和作照的管理功能。在 些较瓶的系统中,允许将服务器的不同部分安装在不同的主机上,例如某台主 辊廷安装拭行予系统,那么它只能充当网络中韵一个执行俸她的苇点。这种将服 务器器部分独立安装在不同机器上的做法是作业管理系统发鼹的趋势。 ( 1 ) 作堑潮终定义子系统 作业网络定义予系统位于服务器系统的最上层,负责接收用户对作业嘲络的 搡嚣命令,完成作业弼络韵饿建与测除、定义与描述等功畿。主要的功能筑括: 1 ) 采用作业网络描述语言描述用户作业瞬络,将描述数据文件保存在服务器 端。 2 ) 设鬓作业网络的各种属性,保存到作业网络的属性文件中。 3 ) 解撰佟业澍终瓣接述文 孛,捡囊馋渡瓣络静鑫法毪。 4 ) 提供对作照网络进行煎命名、改变流程、删除等操作。 ( 2 ) 俸韭粥终霉 擎子系统 作业引擎予系统是作业管理系统中对作业网络进行调度和执行的中心产晶, 乍照潮终霉 擎受责接收提交羽佟蛰秘终,瓣俸焦鄹络审各个撵渡之觏秘关系进行 解释,按照作业网络所定制的依赖关系来调度每个可执行的作业,逐个将这熄作 照提交绘终敛执行予系统,围对产尘终监瓣络妁执行凌态文体;舅摭行鼹掰定义 的作业网络提供一个调度枫。作业网络引擎的主要功能包括: 1 ) 作i 2 网络的蜜簌栊。俸韭嬲络可以看成是终渡依赖黪一个扩展,怠括蹶序、 并行、分枝:等待事件等多种依赖关系。用户w 以建立复杂的作业斓络,然 爱把佟、韭网络实例纯,形成佟韭鼹络麴动惫执行链,予是就霹滋像操纵一个 单元作业一样操纵作业网络。 2 ) 动态调度作业网络。佟业网络在六个调度队列之间进行迂移,宠成对僚业网 络的调度和执行。 3 ) 控制侉业鼹络,完成黠作业瓣络的状淼迁移。 4 ) 提供对作业阏络执行状态文件的查询劝娆,及作韭网络执行鞠志自动妇档功 能。 ( 3 ) 伟监丽绺执行子系统 馋业网络执行予系统即网络队列系统( n q s ) ,负责接收作业网络g l 擎提交到 队剜中豹作敛请求,并对请求避行调度和执行,从丽更翔有效燎剿罔系统资源、 均衡网络负载、提高系统整体性能。网终队列系统掇供的功能支持巍: 西北二j :业大学硕士学位论文 第章作业鹭理系统练述 - 。j i l l l i i、i i | , v i ) e 1 ) 提供对批处理请求和设备清求的全丽支持。批处理请求是一个s h e l l 脚奉, 可通过鼹接调用合适的命令解释器采拭 亍。相反,设锯请求中的命令瓣臻特 殊硬件设备的直接服务。 2 ) 支持操作系统核心所实现的资源限制劝能,并将资源限制与批处理请求和批 处理队捌耩关联。 3 ) 支持远程排队和路由,能够在运行瞰啭队列系统的机器间传送批处理游求和 设备请求。提供了一种可靠的传输枫铡,即使参加传送的两台机器中有一台 或两食都崩溃,仍能保证可靠传送请求。 4 ) 将掰裔静箨救调度算法模块化,驳葭予作业调度器可以撮容荔地修教。 5 ) 能够控俸系统资源均衡以使系统资源更加有效,是对批处理系统的扩展。 6 ) 支持献歹l l 访淹限秘,孀来控剃翔菜蒋宠敬列提交批处理溏求秘设备请求。 7 ) 支持作业执行结果通过网络返回原始机器,任一批处理请求执行结果的标准 输出秘标睦罐误文转霹激返嚣墅g 投交辍器上。 8 ) 允许机器间的帐户映射。机器h o s t a 上的用户u s e r a 可以映射到机器h o s t l 3 上憝蹋户u s e r b 。 9 ) 可以使用工具方便地修改队列系统的赞源配置,不需赢接修改配鼹文件。 1 0 ) 支持系统状态的操撵,允许一台枫器上的羹l 户通过嘲络获取努一台枫器上 的网络队列系统的楣芙信息,不需要髓录到远程机器 二。 1t ) 支持文 孛鲍分 爱传输( s t a g e - i n s t a g e - o u t ) 。文传努段传输分为文件传入秘文 件传出。文件传入是指批处理请求开始执行前,将请求所需文件在执行机器 上准釜好,请求攮行糍成后将这些文粹删豫。文传健积跫指请求执行完擎蜃 的结巢文件从执行机器传送到投交机嚣。 。蓦越、绦 本牵首先扶定义、术语、技零特点、发展历程鞋及应用稽袋且方瑟入手对 乍 业管联系统进行了介绍。接着,主要介绍了笔者参与研发的 乍娩管瑷系统( j m s ) 的体系结构。由于鑫性能集群计算瓿系统楚鼹蓠解决大容量存储、大数据鹫诗算 等低耗时、商生产率间题的较好的系统构型。对集群计算机系统所依赖的作业管 理系统的磷究是 常商必要。通过本章内容,使滚卷对作业管理系统有了一个综 合概念。认识到作业管理系统肖着广泛的应用前景,j j f 目研究、f 发的价值。 上些兰;些盔鲎缝圭堂垡煎塞第二二奄俘业管理系统煦实现 第:耄作业管趣系统的实现 2 1 捧韭警毽系统的侔鼗楱墅 生产组织稠办公鑫动识领域有一晕孛工 馨流的概念。它爨针黠程常工终r 和具有 固定程序的活动而提出的。通过将工作分解成多个任务( 或称为活动) ,再将这些 任务按照一定的规则组织起来,霉黔是为了瓣这些经务进行撩控,达到一系剐任 务执行的自动化,从而提高了企业的办事效率和管理水平。生产中工作流的概念 绘作她管理系统作业模型的建立带来了启发。 f 丽这个例子将一个计算机销售的工作流程和体业管壤系统j m s 中的个作 业滚理进行了对比。整个销餐的工作流程可以出窝2 1 来袭示。 一瓿 a i j d ;t o r d e s 簖 崴 r b f u s o do r d e r s 离d爹eiide|,一瀣assemble 1count p r i c e assemblcheck“ic 簿o n s i g n m e ml 磐 r 鳆章羔h “ 卜巧鹣0 譬挚8r :缚。 。敏“叫l 鬟l : i ,每幽a 6 s s e m b l e 2 7 | i 图2 i 计算机销售的”l :作流穰 猩图2 1 所示的工作流稷图中,i f e l s e 的选择关系表现褥不够簸观,并且“决 策”活动豹交互性也没黯体现港来,藤这堡阀题在j m s 系统中郡畿够褥弱镁好潼辩 决。作业管理系统j m s 中整个销售过程如图2 2 所示。 “l o e or d e f o 圈2 - 2 计算祝镪绥 :作满稚的霰= 盘网络翻 在作业篱联系统中,通常需要盘动化地执行一系列的侔、忆迢常这蛸作q t 之 1 4 蹦北工业大学硕士学位论文第二章作业管理系统的实现 间存在定的逻辑关联或者称之为作业依赖关系。将用户定义的作业按照一定的 依赖关系组织成一个网状图称之为作业网络。每个作业网络都有一个虚拟的开始 点和结束点。作业网络是作业管理系统管理和调度的基本单元,作业不能脱离作 业网络而单独提交给系统。在作业管理系统中,个作业网络中既包含了多个可 执行的作业,及它们之间的依赖关系,还包含了一个作业网络和另一个作业网络 之间的依赖关系。使用作业网络来表现作业及作业网络之间的依赖关系大大提升 了作业网络的表达能力和执行能力。 作业网络的基本工作单元是作业。在j m s 系统的作业网络图中共定义_ 1 5 种作业,可被归为三种类型:执行型作业、嵌套型作、韭和关系型作业。对每一种 作业都会有相应的图形表现形式。一个复杂的作业网络就是由这三种类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论