(计算机应用技术专业论文)jms的研究.pdf_第1页
(计算机应用技术专业论文)jms的研究.pdf_第2页
(计算机应用技术专业论文)jms的研究.pdf_第3页
(计算机应用技术专业论文)jms的研究.pdf_第4页
(计算机应用技术专业论文)jms的研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机应用技术专业论文)jms的研究.pdf.pdf 免费下载

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

文档简介

西要料技大学 学位论文独创性说明 本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及 其取得研究成果。尽我所知,除了文中加以标注和致谢的地方外。论文中不包含 其他人或集体已经公开发表或撰写过的研究成果,也不包含为获得西安科技大学 或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中做了明确的说明并表示了谢意。 学位敝储躲7 如乳嗍州一矿严谚 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间 论文工作的知识产权单位属于西安科技大学。学校有权保留并向国家有关部门或 机构送交论文的复印件和电子版。本人允许论文被查阅和借阅。学校可以将本学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存和汇编本学位论文。同时本人保证,毕业后结合学位论文研究课 题再撰写的文章一律注明作者单位为西安科技大学。 保密论文待解密后适用本声明。 学雠文储张跏妙 指导教师签名:旅需菁令 跏,年月彤日 论文题目: 专业: 硕士生: 指导教师: j m s 的研究 计算机应用技术 周红军 张群会 摘要 作业管理的概念非常重要,目的在于强化操作系统的批处理功能,提供对作业的提 交、调度、执行及控制等机制,从而能够更加有效地利用系统资源、平衡网络负载,提 高系统的整体性能。 分析了为什么要引入和发展作业管理系统、作业管理系统应该包含的基本功能要 素。 基于作业流的作业管理系统具有典型的客户服务器模型结构,由客户、通讯代理、 服务器三层体系结构实现。客户端提供完全的g u i 用户界面,完成用户对作业流的管理 及对系统的管理功能;通讯代理采用t c p i p 网络通信协议以及与平台无关的数据通讯 协议来实现客户与服务器之间的完全通讯;服务器端提供对作业流的全面支持,上层由 作业流定义子系统和作业流引擎负责完成对作业流的定义与执行,底层使用网络队列系 统来实现对作业的调度与执行,使用户能够最大限度地利用计算机网络系统中的各种资 源,以提高执行效率、降低作业成本。 针对批处理队列系统在负载共享方面的不足提出了一种新的负载共享方法“分布式 公平共享调度”。 关键词:通讯代理;复杂作业;负载平衡共享;作业调度 研究类型:应用研究 s u b j e c t : r e s e a r c ho fj m s s p e c i a l t y :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e :z h o uh o n g j u n i n s t r u c t o r :z h a n gq u n h u i ( s i g n a t u ( s i g n a t n a b s t r a c i 1 1 1 en o t i o no fj o bm a n a g e m e n ti sv e r yi m p o r t a n t f o rt h ep u r p o s eo fs t r e n g t h e n i n gt h e b m c hp r o c e s s i n go fo s ,p r o v i d i n gt h em e c h a n i s mo f j o bs u b m i t t i n g ,s c h e d u l i n g ,e x e c u t i n g a n dc o n t r o l l i n g t h e r e b y , t h es y s t e ms o u r c ec a nb eu t i l i z e de f f e c t i v e l y , t h en e t w o r kl o a dc a n b eb a l a n c e d ,a n dt h es y s t e mp e r f o r m a n c ec a nb ei m p r o v e d t l l i sa r t i c l ep o i n t so u tt h er e a s o n sf o rd e v e l o p i n gt h ej m s t h ee l e m e n t a r yf u n c t i o n a l e l e m e n t so f t h ej m s t h ej o bm a n a g e m e n ts y s t e mb a s e do nj o b f l o wi sp r o v i d e dw i t ht h et y p i c a lm o d e l s t r u c t u r eo fc s ,a n di ti sr e a l i z e db yt h r e e l a y e ra r c h i t e c t u r eo fc l i e n t ,c o m m u n i c a t i o na g e n t a n ds e r v e r c l i e n ts u p p l i e sc o m p l e t eg r a p h i cu s e ri n t e r f a c e ,a c c o m p l i s h i n gt h em a n a g e m e n t o fj o b f l o wa n ds y s t e m ;c o m m u n i c a t i o na g e n ta c c o m p l i s h e s c o m p l e t ec o m m u n i c a t i o n b e t w e e nc l i e n ta n ds e r v e rb yt c p i pn e t w o r kc o m m u n i c a t i o np r o t o c o la n dp l a t f o r m i n d e p e n d e n td a t ac o m m u n i c a t i o np r o t o c o l ;s e r v e rs u p p l i e sf u l ls u p p o r to fj o b f l o w , t h e s u p e r s t r a t u ma r et h ej o b f l o wd e f i n i t i o ns u b s y s t e ma n dj n w e n g i n e ,w h i c ha r er e s p o n s i b l ef o r t h ed e f i n i t i o na n de x e c u t i o no fj o b f l o w ;t h eu n d e r s t r a t u mi st h en e t w o r kq u e u es y s t e m , w h i c hr e a l i z e dt h es c h e d u l ea n de x e c u t i o no fj o b ,t h u sa l lk i n d so fs o u r c e si nc o m p u t e r n e t w o r ks y s t e mc a nb eu t i l i z e di no r d e rt oi m p r o v ee x e c u t i o ne f f i c i e n c ya n dr e d u c ej o bc o s t a i m i n ga tt h ep r o b l e m si nn e t w o r kq u e u i n gs y s t e ml o a ds h a r i n g ,t h i sa r t i c l ep r o p o s e sa n e wl o a ds h a r i n gm e t h o dc a l l e dd i s t r i b u t e df a i rs h a r es c h e d u l i n g k e yw o r d s :c o m m u n i c a t i o na g e n tc o m p l e xj o b l o a df a i rs h a r i n gj o bs c h e d u l i n g t h e s i s :a p p l i c a t i o nr e s e a r c h 详细摘要 1 从事研究工作的目的和意义 j m s 的研究 作业管理系统经过多年的发展已经日趋成熟,国外的产品层出不穷。例如公用的免 费系统批处理队列系统、p b s 、c o n d o r 、d q s 等是由美国的一些大机构或大学开发的, 可以从i n t e m e t 上直接获得它们的源代码;商业化的系统由一些软件公司或硬件生产公 司为自己的机器开发,如加拿大p l a t f 9 r m 公司的l s f ,德国g e n i a s 软件公司的 c o d i n e ,i b m 公司的l o a d l e v e l e r 等。但是这些产品在n t 上的兼容性和界面友好性 都尚嫌欠缺和不足。 目前已经存在几十种作业管理系统,这些系统在目标、结构、功能和实现上各有差 异,从不同侧面反映了作业管理系统所应具备的特性。但是,这些系统都在不同程度了 遵从p o s i x1 0 0 3 2 d 标准,有的还以批处理队列系统作为它的一个部件。可见,批处理 队列系统在作业管理系统中扮演着很重要的角色,理解批处理队列系统是理解所有这些 作业管理系统的关键。为此,本文将对批处理队列系统进行全面的分析和研究。通过研 究批处理队列系统,我们将能更深入的理解现有的作业管理系统、更加容易的对现有作 业管理系统进行改造和扩充以满足实际需求、更好的设计和实现新型的作业管理系统 等。 2 作业管理系统的基础知识 作业管理系统是一个建立在操作系统之上的一类系统软件,以机器,队列。请求 作为它的主要资源,其主要作用是强化操作系统的作业管理功能,提供作业即时提交、 定期执行、作业调度、作业控制等新机制,以便更加有效地利用系统资源、平衡网络负 载、提高系统整体性能。 2 1 批处理队列系统中的请求队列模型 批处理队列系统使用“请求队列模型”来处理任务。请求是对用户要完成任务的描 述。队列则是一种任务分类机制和资源管理机制,每个队列都有和它关联的一组资源。 不同类型的请求被提交到不同的队列中由队列来负责处理。 2 2 批处理队列系统中的请求 请求是批处理队列系统的基本处理单位,请求分批处理请求、设备请求、网络请求。 批处理请求是依赖于程序执行的请求,这种请求通过向批处理队列系统提交u n i x 详细摘要 的s h e l l 脚本来实现,可以在脚本的注释部分嵌入批处理队列系统相关操作信息。批处 理请求一启动,构成请求的进程就形成一个进程组。批处理队列系统用这个进程组的进 程组i d 来管理执行的请求,进程组i d 在执行请求的删除、信号发送时使用。请求结束 时进程组的所有进程都被强行结束。 设备请求是指通过打印机、p l o t t e r 等特殊设备进行处理的请求。这类请求不是像批 处理请求一样提交s h e l l 脚本,而是通过提交由设各处理的数据( 打印图像等) 来实现的。 网络请求是指用于转送批处理请求的结果文件到指定主机的请求。网络请求是在批处理 请求结束时自动生成,并提交给网络队列的。因此,用户无法做成网络请求并提交之。 2 j 3 批处理队列系统中的队列 在批处理队列系统中,队列是一种基本的请求分类机制它将不同属性的请求分成 不同的集合。队列暂时保存用户提交的请求,所有保存的请求在适当的时机会被执行。 向队列提交请求时,如果请求的属性与队列的属性不一致,请求将不能提交到队列中。 批处理队列系统中有批处理队列、设备队列、管道队列、网络队列4 种类型的队列。 批处理队列是批处理请求使用的队列,它是批处理队列系统中最基本的队列。批处 理队列的属性有:资源限制量、队列优先级、可同时执行请求数、n i c e 值、队列内调度 方式、连续调度请求数、重新启动、用户访问控制列表、p i p e o n l y 、l o a d b a l a n c e 等。 批处理队列系统中的设备是一个包括以下构成要素的综合体:设备名称( 标识此设 备) 、特殊文件( u n i x 的设备特殊文件,j z l d e v l p 等) 、服务器程序( 处理请求数据的程序) 。 设备队列是设各请求使用的队列。设备队列有队列优先级、可同时执行请求数、用户访 问控制列表、p i p e o n l y 、设备列表等属性,其中前四种属性和批处理队列的相应属性有 有相同的含义,设备列表是设备队列的特有属性。 管道队列是用来转送请求的队列。提交到此队列中的请求将被转送到其他队列。转 送目标队列既可以是本地主机上的队列,也可以是网络上远程主机中的队列,向远程主 机提交请求时,都是以管道队列为媒介进行提交的。 管道队列也有很多属性,其中队列优先级、用户访问控制列表、p i p e o n l y 、重新启 动、l o a d b a l a n c e 五个属性和批处理队列的相应属性有有相同的含义,管道队列的特有 属性有:转送目标队列列表、可同时转送请求数、事先确认、s t a y w a i t 、服务器程序、 透过性等。 网络队列是用来转送执行结果输出文件的队列。该队列是批处理队列系统用来将执 行结果输出文件转送回请求者的队列,使用者无法向该队列直接提交请求。批处理请求 执行结束后,批处理队列系统会自动生成转送执行结果输出文件的网络请求,提交给相 应转送目标的网络队列。网络队列有队列优先级、可同时执行请求数、转送目标主机等 属性。其中,队列优先级、可同时执行请求数两个属性和批处理队列的相应属性有有相 详细摘要 同的含义,转送目标主机是指转送文件的主机名。 2 4 批处理队列系统中的负载共享 2 4 1 轮循方式负载共享 不考虑各机器的负载,尽量平均地将请求分散给各目标机器。这种方式最适合于提 交的请求在短时间内完成,所使用资源量也基本不变的环境中。如果请求的处理时间或 使用资源量变化幅度很大,则此方式不太适合。 批处理队列系统是用管道客户端r r p i p e c l i e n t 来实现轮循方式负载共享的。在这种方 式下,管道客户端每次转送请求时依次改变转送的目标。 2 4 2 负载信息收集方式负载共享 每隔一定时间采集一次负载信息,以该信息为基础实现负载分散。这种方式适合请 求的处理时间或使用的资源量变化浮度很大时使用。 批处理队列系统是用管道客户端i b p i p e c l i e n t 来实现负载信息收集方式负载共享的。在这 种方式下,管道客户端比较管道队列的各目的地主机的负载状态,将请求转送给可以转 送的主机中负载最低的一台。 2 4 3d e m a n d d e l i v e r y 方式负载共享 管道队列和批处理队列相互通信,根据负载状况寻找能够最早执行各请求的最合适 的执行目标机器。在负载信息收集方式负载共享中,由转送端( 管道队列端) 定期更新负 载信息,如果这个周期很长,就可能在转送请求时负载状况已经发生了较大变化,从而 无法选出最合适的转送目标。本方式能够避免这种情况的发生,它能实时反映最新负载 状况,决定转送目标。 使用d e m a n d d e l i v e r y 方式负载共享时,必须为转送请求的管道队列指定 l o a d b a l a n c e 属性( 以下称具有此种属性的管道队列为l b p i p e ) 、为接受请求的批处理队 列也指定l o a d b a l a n c e 属性( 以下称具有此种属性的批处理队列为l b b a t c h ) 。通过 l b p i p e 和l b b a t c h 互相通信,d e m a n d d e l i v e r y 方式负载共享能够在适当的时刻将请求 转送给适当的批处理队列。 详细摘要 3 作业管理系统调度算法的研究 3 1 分布式公平共享调度的制约因素。 ( i ) 由于在传统的批处理队列系统中,中心调度机容易成为性能瓶颈和单点故障 点,所以分布式公平共享调度不设立任何形式和意义上的中心主机。相反,它 使用分布式的调度方法,由此分布式公平共享调度被称为是“分布式” ( d i s t r i b u t e d ) 的。 ( 2 ) 在分布式公平共享调度中,每个批处理队列系统用户都属于某个“调度小组”, 调度小组以其名字来标识,分布式公平共享调度以调度小组为单位进行资源的 公平共享,可以为不同的调度小组分配不同的计算能力。比如,在我们的实验 室中,可以定义两个调度小组,一个是工作人员小组( w o r k ) ,另一个是实习人 员d , 组( i n t e m ) 。根据平时的工作量,我们将调度集群计算能力的7 0 分给了工 作人员小组,将余下的3 0 分给了实习人员小组。因为分布式公平共享调度能 够保证高优先级用户( 组) 的计算能力,并能限制低优先级用户( 组) 的计算能力, 这在某种程度上是公平的,所以它被称为是“公平共享”( f a i rs h a r e ) 的。 3 2 分布式公平共享调度的运行条件 分布式公平共享调度可能将用户的作业转送到调度集群中的任何主机去运行。为了 简单起见,分布式公平共享调度要求调度集群中的任何主机都可以访问所有用户的文 件,为此分布式公平共享调度使用了n f s ( r f s 和a f s 也可以达到同样的目的) 。除了依 赖于n f s ,分布式公平共享调度还有两个要求:所有批处理队列系统用户必须在所有主 机上拥有相同用户名的账户:在任何主机看来,任何用户的文件必须有相同的绝对路径 名。 3 3 分布式公平共享调度的调度过程 在调度集群中,每台主机都有一个所谓的“b o o t ”文件。b o o t 文件定义了各种各样 的参数,这些参数对分布式公平共享调度的运行环境进行配置( 比如,它告诉分布式公 平共享调度应该调度哪些队列) 。分布式公平共享调度启动运行时先读取b o o t 配置文件。 在这之后,当某台主机的状念改变时( 比如,新作业到达、一个作业执行结束、队 列启动、队列停止等) ,分布式公平共享调度的调度过程就被启动,调度过程包括三个 阶段,这三个阶段是本地信息收集阶段、全局信息收集阶段和决策阶段。 详细摘要 3 3 1 本地信息收集阶段 在这个阶段,分布式公平共享调度收集本地机上作业和队列的相关信息。分布式公 平共享调度从批处理队列系统的日志文件中得到最近一段时间已完成作业的资源使用 统计数据,它还通过检查批处理队列系统的数据库文件和原始请求文件等来建立当前所 有作业、队列、作业和队列的状态的列表,最后分布式公平共享调度从操作系统内核得 到当前运行作业的资源使用情况。 所有这些信息,再加上一些从b o o t 配置文件中得到的信息,被写到了本地机的状态 文件中。 3 3 2 全局信息收集阶段 在这个阶段,分布式公平共享调度读取调度集群中每台主机的状态文件,它根据这 些文件得到调度集群中批处理队列系统队列状态的全局视图。 3 3 _ 3 决策阶段 实际的调度决策是在第三阶段做出的,分布式公平共享调度在这个阶段中将进行 如下的计算。 ( 1 ) 对每个调度小组g i 0 = 1 ,2 ,3 ,mi t i 表示调度小组的个数) ,得到所有主 机对该小组分配的c p u 占用率a 。0 = 1 ,2 ,3 ,nn 表示调度集群中主机的 个数) ,并得到所有主机的c p u 比率p 。( i - l ,2 ,3 ,1 3 1n 表示调度集群中主 机的个数) 。然后计算下式: g l o b a l a l l o c ( g i ) = it i n a i j p i ( 1 三j 姜m ) 得到调度集群对每个调度小组的资源全局分配量g l o b a l a l l o c ( g 。) 。 ( 2 ) 对每一个调度小组g 0 = 1 ,2 ,3 ,mm 表示调度小组的个数) ,根据最近一 段时间的系统使用情况,计算出该小组的已完成作业的c p u 使用率。假设小组g l 最近一段时间完成的作业数是k ,这k 1 个作业的运行时间分别是t j i 0 表示是d 、组 g l ,i _ 1 ,2 ,3 ,kk j 表示作业的个数) 。即是要计算下式: r e c e n t u s e ( g j ) = i :。= k j t j i i ;j :m l t - tk jt j i ( 1 薹j 三m ) ( 3 ) 对每一个调度小组g ,0 = 1 ,2 ,3 ,mm 表示调度小组的个数) ,计算该小组 的调度优先数p r i o r i t y ( g i ) 。调度优先数越小表示调度优先级越高,调度优先级越高 的小组其作业越能获得优先的调度。 p r i o r i t y ( g j ) = r e c e n t u s e ( g j ) g l o b a l a l l o c ( g j ) 经过这三步计算,分布式公平共享调度得到每个小组的调度优先级之后,就选择调 度优先级最高的小组中处于就绪状态的优先级最高的作业启动运行。 详细摘要 3 4 分布式公平共享调度中的队列类型 第一种是通常的批处理队列系统队列。分布式公平共享调度不关心这种队列,这种 队列由批处理队列系统的调度机制来处理。 第二种队列是“局部调度批处理队列”。这种队列是简单的批处理队列,只是对批 处理队列系统来说它处于s t o p p e d 状态。这种队列中的作业由分布式公平共享调度来调 度,而不是由批处理队列系统来调度f 因为批处理队列系统不能调度处于s t o p p e d 状态的 队列中的作业,分布式公平共享调度正是利用了这一特性) 。 第三种队列是“全局调度管道队列”。这种队列是简单的管道队列只是对批处理 队列系统来说它处于s t o p p e d 状态。这种队列用来给“全局调度批处理队列”供给请求。 分布式公平共享调度能够将“全局调度管道队列”中的作业转送到本地机或远程机的“全 局调度批处理队列”去运行。“全局调度管道队列”中的作业由分布式公平共享调度来 调度,而不是由批处理队列系统来调度( 因为批处理队列系统不能调度处于s t o p p e d 状态 的队列中的作业,分布式公平共享调度正是利用了这一特性) 。 第四种队列是“全局调度批处理队列”。这种队列是简单的批处理队列,只是它具 有p i p e o n l y 属性而己。这种队列一般只作为“全局调度管道队列”的目标队列,而不作 为通常的批处理队列系统管道队列的目标队列。这种队列中的作业由批处理队列系统调 度运行( 因为这种队列没有处于s t o p p e d 状态,所以仍在批处理队列系统的“管辖”范围 之内) 。分布式公平共享调度只是通过管道客户端p i p e c l i e n t 把“全局调度管道队列”中 的作业转送给“全局调度批处理队列”,“全局调度批处理队列”中的作业的调度运行仍 由批处理队列系统负责。 “局部调度批处理队列”和“全局调度管道队列”都有一个“调度小组文件”与之 关联。调度小组文件定义了可以使用该队列的调度小组以及该调度小组中包含的用户。 3 5 对批处理队列系统的修改 分布式公平共享调度将处于s t o p p e d 状态的管道队列作为“作业井”,作业井中的作 业将被分布式公平共享调度调度到调度集群中的主机上去执行。批处理队列系统已经有 管道客户端p i p e c l i e n t 机制用来把作业从一个主机转送到其它的主机去运行。分布式公 平共享调度即是利用批处理队列系统的p i p e c l i e n t 机制把作业转送给特定的目标队列的。 为了实现分布式公平共享调度中的公平共享调度,对批处理队列系统还要做以下四 个方面的修改。 ( 1 ) 批处理队列系统记录作业执行开始和作业执行结束的信息( 只需要记录“局部 调度批处理队列”和“全局调度批处理队列”中的作业的信息,正常的批处 理队列系统队列中作业不需要记录。) ,并根据这些信息计算出作业对c p u 的 详细摘要 使用情况。分布式公平共享调度使用这个信息来计算每个调度小组对调度集群 中的资源的使用情况。 ( 2 ) 当作业进入“局部调度批处理队列”或“全局调度管道队列”时,批处理队列 系统对作业所属的调度小组进行身份验证,判断该作业能否进入相应的队列。 ( 3 ) “局部调度批处理队列”和“全局调度管道队列”都有一个与之联系的调度小 组文件。为了记录这个文件名,在“队列描述结构体”中增加了一个“调度小 组文件”域( s e h e d g r p f i l e ) 。如果对某个队列来说这个域的值为空,则表明不需 要对此队列进行任何检查,正常的批处理队列系统队列就不需要这种检查。 ( 4 ) 为了使改动( 1 ) 成功,批处理队列系统和分布式公平共享调度必须能区分作业属 于哪个调度小组,这是改动( 1 ) 的前提。为此,在“原始请求结构体”中增加了 一个“调度小组”域( s c h e d g r p ) ,用来记录作业所属的调度小组。对于正常的批 处理队列系统队列中作业来说,它们对应的“原始请求结构体”中的“调度小 组”域的值为空。 4 结论与展望 在本文中,笔者针对批处理队列系统在负载共享方面的不足提出了一种新的负载共 享方法“分布式公平共享调度”。 由于时间等因素的限制作者的研究和开发工作还有待进一步完善和扩展,需要从 以下角度出发进行下一步的研究。但是由于时间等因素的限制,作者的研究和开发工作 还有待进一步完善和扩展,需要从以下角度出发进行下一步的研究。 1 对象模型、构件技术、软件框架技术和w e b 技术的不断进步和融合彻底改变了 系统的构造方法,开放分布式对象技术正成为分布计算的主流。如何有效的利用这些技 术j ;鞫架作业管理系统是以后的研究方向。 2 启发式方法因为其简单性和有效性而在某些场合下特别有用。 目前,已经有许多关于启发式的方法论矾究,如何将这些研究成果应用到作业管理 系统调度算法中是一个研究方向。 1 绪论 1 1 研究背景 1 绪论 作业管理系统是一个建立在操作系统之上的一类系统软件,以机器,队列,请求 作为它的主要资源,其主要作用是强化操作系统的作业管理功能,提供作业即时提交、 定期执行、作业调度、作业控制等新机制,以便更加有效地利用系统资源、平衡网络负 载、提高系统整体性能j 。 作业管理系统最早出现在二十世纪七十年代左右,由美国国家航空和宇宙航行局 n a s a ( n a t i o n a la e r o n a u t i c sa n ds p a c ea d m i n i s t r a t i o n ) 研发成功并投入使用,主要用于 进行空气动力学方面的数值计算和向网络用户提供界面一致的接口。 早期的作业管理系统是由u n i x 操作系统的作业管理功能发展而来的。u n i x 操作系 统提供了有限的作业管理功能,当大量的实际应用要依赖于u n i x 时,就产生了对u n i x 及p o s i x 标准进行扩展,使之能更有效地支持批处理作业管理的要求。在这种要求下, 产生了早期的批处理队列系统( b a t c hq u e u i n gs y s t e m ) ,它的基本思想是不修改u n i x 的 核一t l , ,在u n i x 之上再建立一个子系统,用户将作业提交给该子系统,由它对作业进行 调度和执行并负责系统资源的有效利用及作业控制。 作业管理系统经过多年的发展已经日趋成熟,国外的产品层出不穷。例如公用的免 费系统批处理队列系统、p b s 、c o n d o r 、d q s 等是由美国的一些大机构或大学开发的, 可以从i n t e m e t 上直接获得它们的源代码;商业化的系统由一些软件公司或硬件生产公 司为自己的机器开发,如加拿大p l a t f o r m 公司的l s f ,德国g e n i a s 软件公司的 c o d i n e ,i b m 公司的l o a d l e v e l e r 等。但是这些产品在n t 上的兼容性和界面友好性 都尚嫌欠缺和不足。 目前已经存在几十种作业管理系统,这些系统在目标、结构、功能和实现上各有差 异,从不同侧面反映了作业管理系统所应具备的特性。但是,这些系统都在不同程度了 遵从p o s i x1 0 0 3 2 d 标准,有的还以批处理队列系统作为它的一个部件。可见,批处理 队列系统在作业管理系统中扮演着很重要的角色,理解批处理队列系统是理解所有这些 作业管理系统的关键。为此,本文将对批处理队列系统进行全面的分析和研究。通过研 究批处理队列系统,我们将能更深入的理解现有的作业管理系统、更加容易的对现有作 业管理系统进行改造和扩充以满足实际需求、更好的设计和实现新型的作业管理系统 等。 西安科技大学硕士学位论文 1 2 本文的组织结构 全文按如下章节组织。 ( 1 ) 本章回顾了作业管理系统的发展,介绍了u n i x 系统中的作业管理、网络队列 系统、综合性作业管理系统,介绍了专门的作业管理系统软件,指出了作业管理系统应 该包含的基本功能要素。 ( 2 ) 本章较深入的分析了批处理队列系统,包括批处理队列系统的作业管理功能、 负载共享、系统结构等。通过分析指出了批处理队列系统在作业管理功能方面、负载共 享方面、系统结构方面的不足。针对批处理队列系统在作业管理功能方面的不足引出了 w e u 作业管理系统;针对批处理队列系统在负载共享方面的不足引出了一种新的负载共 享方法分布式公平共享调度;针对批处理队列系统在系统结构方面的不足引出了作业管 理系统的“功能导向的模块化系统结构”。 ( 3 ) 本章对w e l l 作业管理系统进行了介绍,包括其特色、体系结构及在开发过程 中遇到的问题和对这些问题的解决方法。 ( 4 ) 本章详细论述了分布式公平共享调度,包括其运行机制和设计。 ( 5 ) 本章详细论述了作业管理系统的“功能导向的模块化系统结构”,将作业管理 系统划分为五个子系统,说明了每个子系统的功能范围和其与其它子系统的耦合关系。 2j m s 概述 2j m s 概述 本章介绍了j m s 的发展应用及专门的作业管理系统软件,指出了作业管理系统应 该包含的基本功能要素。 2 1 作业管理系统概述 作业管理系统是建立在操作系统之上的一类系统软件,它的主要作用是强化操作系 统的作业管理功能,提供作业提交、调度、执行及控制的新机制,更加有效地利用系统 资源、平衡网络负载、提高系统整体性能。作业管理系统最早在大型主机上使用,系统 或用户提交的作业在它的管理下以批处理的方式运行。随着高性能工作站、集群系统的 发展,作业管理系统也发展到支持异构的网络环境、支持多平台、支持并行应用等新需 求这样一个阶段。 2 2u n i x 系统中的作业管理 由于u n i x 主机通常昼夜运行,在大多数的非工作时间系统资源无法得到有效利用, 因此产生了“在以后某个时刻执行作业”、“在资源得到满足的情况下执行作业”、“按 某种时间周期有规律地执行作业”等作业管理的思想,并将这些想法用a t ,b a t c h ,c r o n 三 个命令实现【2 】。 a t 命令用来将单个作业调度到迟后的确定时刻执行;b a t c h 命令和a t 命令非常相似, 所不同的是b a t c h 命令不需要用户指定作业执行时间,而由系统决定作业何时执行,并 限制只有或两个b a t c h 作业可以同时运行:虽然使用a t 和b a t c h 命令对一次性执行的 任务已非常有用,但对需要重复周期性执行的任务却难以处理,u n i x 就提供了c r o n 程 序来解决这个问题,c r o n 采用一种更灵活的方式重复调度作业对作业进行排队管理。 u n i x 系统对作业管理提供了有限的支持,只能满足用户对作业管理的最基本要求, 它所提供的三条命令仍存在以下的不足:a t 命令一旦将作业投入运行就会立即“忘记” 该作业,它无法对作业的执行过程进行控制,用户只能在作业完成后,查看作业的执行 结果;a t 系列命令并不关心作业运行时系统的负载情况,因此,当有几个大型的作业同 时执行时,可能导致系统整体效率极为低下:c r o n a t 只能在一台u n i x 主机上运行,对 于网络环境它们根本无能为力。 西安科技大学硕士学位论文 2 - 3 网络队列系统 u n i x 系统本身的作业管理功能非常有限,当大最的实际应用要依赖于u n i x 时就 产生了对p o s i x 标准及u n i x 进行扩展,使之能够更加有效地支持批处理作业管理的要 求。这就产生了最早的批处理队列系统( b a t c hq u e u i n gs y s t e m ) ,它的基本思想是不修改 u n i x 的核心,在u n i x 之上再建立一个子系统,用户将作业提交给该子系统,由它对作 业进行调度和执行,同时负责系统资源的有效利用及作业控制。 批处理队列系统的一个代表是n q s 州e t - w o r kq u e u i n gs y s t e m ) ,n a s a 与其它软件 公司合作,开发出了n q s ,并将该系统的目标确立为: 提供对批处理请求和设备请求的全面支持。批处理请求是一个s h e l ls c r i p t ,其中 的命令不需要物理设备的直接服务,可独立于用户的干预通过调用合适的命令 解释器( 如b i n c s h ,b i n s h ) 来执行。相反,设备请求中的命令需要特殊硬件设备 的直接服务( 如用户作业对打印机的请求) 。 支持底层u n i x 核心所实现的资源限制功能并将资源限制与批处理请求和批处 理队列相关联。 支持远程排队【5 1 ,能够在运行n q s 的机器间传送批处理请求和设备请求。 将所有的作业调度算法模块化,以便于作业调度器可以很容易地修改。 支持队列访问限制,用来控制向某个特定队列提交批处理请求和设备请求( 对每 个队列使用“用户组”访问列表) 。 支持作业执行结果通过网络返回原始机器,任一批处理请求的s t d o u t 和s t d e r r 文件可以返回到远程机器上。 允许机器间的帐户映射。机器h o s t a 上的用户u s e r a 可以映射到机器h o s t b 上 的用户u s e r b 。 可以使用工具方便地修改n q s 的配置,但并不需要直接修改配置文件。 支持系统状态的操作,允许一台机器上的用户通过网络获取另一台机器上的 n q s 相关信息,但并不需要登录到远程的机器上。 为将来实现文件分段传输( s t a g e i n s t a g e o u t ) 提供支持。文件分段传输分为文件传 2j m s 概述 入和文件传出。文件传入指批处理请求开始执行前作业所需文件必须在执行机 器上准备好,批处理请求执行完成后这些文件必须删除。文件传出指文件从执 行机器传送到最终的目标机器。 2 4 当前作业管理系统概况 当前的作业管理系统作要有两类:一类是通过扩展n q s 系统而来,这类系统与原 有的n q s 系统有着良好的兼容性;另一类则是自己重新定义整个系统,与其它任何系 统都不兼容,但是有的也提供了与n q s 系统协同工作的方法。j o b m a n a g e r 系统即是通 过扩展n q s 系统而来,具有代表性的此类系统还有美国国家航空宇航局( n a s a ) 的 a m e sr e s e a r c hc e m e r 开发的用于替代n q s 系统的p b s 系统,德国g e n i a s 软件公司 的c o d i n e 系统等。加拿大p l a t f o r m 公司的l s f ( l o a ds h a r ef a c i l i t y ) 系统则是第二类系 统的代表作。 当前的作业管理系统具有如下一些相同特性: 都是以客户服务器结构为基本结构。 系统具有开放性特点,支持多种异构操作系统环境。 都已经向分布式系统转化,支持自动负载均衡和负载共享机制。 都具有良好的图形用户界面支持,更加方便用户使用。 2 5 综合性作业管理系统 当p o s i x1 0 0 3 2 d 标准制订完成后,新出现的作业管理系统基本上都实现了该标准 的规范,但大多数系统并没有采用基本n q s 的结构与源代码,只提供了标准所要求的 外部接口,并对作业管理系统的功能进行了很大的扩充。这些系统实际上是一种综合的 作业管理系统,具体表现有:作业管理系统不再只为大型机( m a i n f r a m e ) 服务,而是以 c s 模式为基本模型,具有完整的服务器模块和客户端模块;提供g u i 界面供用户完成 作业管理的全过程,包括作业定义、提交、监控及完善的系统管理功能等:与作业管理 系统的运行环境紧密结合,对多种作业类型如交互式作业也提供支持;系统具有开放的 体系结构,可以很容易地实现跨平台运行或增加新功能。从发展的趋势看,综合作业管 理系统是今后的发展方向。 西安科技大学硕士学位论文 综合性作业管理系统的典型代表产品有n a s a 的p b s ,p l a t i n u m 公司的a u t o s y s , 加拿大p l a t f o r m 公司的l s f ,威斯康星大学开发的c o n d o r ,i b m 开发的l o a d l e v e l e r 等。 目前,作业管理系统主要应用于高性能计算、商业信息处理等方面。 2 6 专门的作业管理系统软件 从上面对传统批处理操作系统、u n i x 操作系统、w i n d o w sn t 操作系统、o p e n v m s 操作系统中作业管理功能的介绍可以看出,这些操作系统对作业管理的支持相当有限, 比如,它们不能很好的支持网络环境,不能在网络主机间进行作业负载共享:它们的作 业类型单一,不支持作业之间的复杂的依赖关系;对作业的执行没有适当的调度规则, 作业的执行可能给交互用户造成较大的影响;作业的定义和控制比较的复杂等。它们适 用于对作业管理功能要求不太高的场合,在一些更复杂的场合下,比如在科学研究、商 业信息处理等需要高性能计算的领域,就需要专门的作业管理系统软件来进行作业管 理。近年来,需求的驱动使作业管理系统得到了快速的发展。 分析总结上面介绍的各操作系统提供的作业管理功能,并结合现实情况【“,可以得 出以下结论:一个比较完善的作业管理系统应该至少包含以下功能要素:作业的提交( 本 地提交和远程提交) ;作业运行状态的监视( 作业的标准输出、标准错误输出,作业是否 已经开始运行、是否运行结束等) ;作业运行过程的控制( 保持、释放、删除等) ;故障恢 复( 设置检查点等) ;多个作业运行关系的协调( 同步和互斥等) 等。 专门的作业管理系统软件都包含了上面提到的这些功能要素,并在许多方面进行了 扩充,使它们所提供的功能更加强大了。下面就介绍几种流行的作业管理系统。 2 7 几种流行的作业管理系统 目前已经出现了几十种作业管理系统,它们在目标、结构、功能和实现上各有差异, 从不同侧面反映了作业管理系统所应具备的特性。批处理队列系统、p b s 、l s f 是当今 颇具代表性和影响力的几种作业管理系统。其中批处理队列系统、p b s 是研究产品,l s f 是商业软件。下面,我们对这几种作业管理系统进行简单介绍和讨论。 ( 1 ) 批处理队列系统( n e t w o r kq u e u i n gs y s t e m ) 批处理队列系统是一个批处理队列系统。直接推动发明该系统的实际需求来自 n a s a 。当时u n i x 下已经有一个批处理队列系统,叫m d q s ( m u l t i p l ed e v i c eq u e u i n g s y s t e m ) ,是由美国军方b a l l i s t i cr e s e a r c hl a b o r a t o r y 开发的,但它不能满足n a s a 的需 求,于是n a s a 与其它软件公司合作,开发出了批处理队列系统。 2j m s 概述 批处理队列系统的主要特点有:提供对批处理请求和设备请求的全面支持;支持底 层u n i x 核心所实现的资源限制功能,并将资源限制与批处理请求和批处理队列相关联; 支持远程排队,能够在运行批处理队列系统的机器间传送批处理请求和设备请求;支持 队列访问限制( 对每个队列使用“用户组”访问列表) :可以使用工具方便地修改批处理 队列系统的配置,但并不需要直接修改配置文件;支持系统状态的操作,允许一台机器 上的用户通过网络获取另一台机器上的批处理队列系统相关信息,但并不需要登录到远 程的机器上。 ( 2 ) p b s ( p o r t a b l eb a t c hs y s t e m 、 p b s 最初由n a s a 的a m e s 研究中心开发,为了提供一个能满足异构计算网络需要 的软件包,特别是满足高性能计算的需要。它力求提供对批处理的初始化和调度执行的 控制,允许作业在不同主机间的路由。p b s 的独立的调度模块允许系统管理员定义资源 和每个作业可使用的数量。调度模块存有各个可用的排队作业、运行作业和系统资源使 用状况信息。使用它提供的t c l 、b a c l 、c 三种过程语言,它的调度策略可以很容易 被修改,以适应不同的计算需要和目标,即系统管理员可以方便地实现自己的调度策略。 p b s 的主要特点有:代码开放,免费获取;支持批处理、交互式作业和串行、多种 并行作业,如m p i 、p v m 、h p f 、m p l ;提供t c l 、b a c l 、c 三种过程语言,容易实 现新的调度策略;提供文件传送功能,f i l es t a g e i n 和s t a g e o u t ;满足p o s i x l 0 0 3 2 d 标 准;支持作业依赖:自动的负载平衡;完整的安全认证:

温馨提示

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

评论

0/150

提交评论