热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

LMTNEWPBS作业排队运算系统对批处理作业的调度

原文链接:https:my.oschina.netu2260005blog374852     LMT NEW PBS作业排队运算系统对批处理作业的调度    LMT NEW PB


原文链接:https://my.oschina.net/u/2260005/blog/374852

         LMT NEW PBS作业排队运算系统对批处理作业的调度

    LMT NEW PBS作业排队调度程序从后备作业中选取若干个作业到内存并投入运行。它为选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。PBS作业调度的功能是记录系统中各作业的状况,从后备作业队列中挑选一批作业进入执行状态,以及为被选中作业分配资源建立进程和在作业执行结束后释放所占用的资源等。其中最主要的是从后备作业队列中选取一批作业进入执行状态。

    根据不同的目标,将会有不同的调度算法。一般来说,调度目标主要是以下四点:

①对作业应该是公平合理的;

②应使设备有高的利用率;

③每天执行尽可能多的作业;

④有短的响应时间。

    由于这些目标的互相冲突,任一调度算法要想同时满足上述目标是不可能的。例如,要想执行尽可能多的作业,调度算法就应选择短作业优先,而这对那些预计执行时间长的作业又是不公平的,甚至有可能永远得不到运行;要想对所有作业公平合理,调度算法就应选择先来先服务。如果考虑的因素过多,调度算法就会变得非常复杂,会使系统开销增加,资源利用率下降。

作业调度和进程调度的区别: 

    一个作业从进入系统到最后完成,一般至少要经历两级调度:作业调度和进程调度。 

    作业调度是宏观上的高级调度,它的主要功能是根据一定的算法,从输入井中选中若干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。 

    进程调度是微观上的低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。一般的操作系统都必须有进程调度。 

    可见在多道系统中,作业调度与进程调度是相互配合来实现多道作业的并行执行的。两者的关系可用下图表示。

wKiom1TQWk7QhO2fAAEaVdiZkj4574.jpg 

批处理作业的调度
  作业调度的功能
  作业调度程序作为一个系统进程在系统中运行,它是在系统初始化时被创建的,具有如下功能:
  ①记录系统中各作业的情况。为此,系统为每个作业建立一个作业控制块,在块中登记作业的有关信息。作业控制块是作业调度程序用来实现作业调度和管理的数据结构。
  ②按照系统提供的调度算法从后备队列中选取作业投入运行。通常在输入井中有一批作业处于后备状态,而只有少数几个作业处于执行状态。作业调度程序的主要功能就是按照一定的调度算法从后备队列中选取若干个作业投入运行。
  ③给被选中的作业分配必要的资源。一个作业从后备变成运行状态之前 ,作业调度程序应为该作业建立相应进程 ,并分配必要的内存、外围设备等资源。至于处理器则由进程调度程序分配。
  ④为作业开始运行作好准备工作。将选取的作业控制块传递给作业运行控制系统,随时将作业的变化情况记入作业控制块(如状态改为执行状态);构造和填写作业运行时所需表格,建立负责其运行控制的作业运行控制程序等。
  ⑤作好作业完成时的善后工作 。作业运行可能正常结束 或非正常中止 ,作业调度收回分配的资源 ,包括作业控制块。对非正常结束,还应给出引起错误的原因,以便用户纠正错误,重新将作业投入运行。

 

wKioL1TQW0_hx3H-AAXjgYKvxJQ930.jpg

wKiom1TQWmnD5djsAAJlxTD8lxg293.jpg

wKioL1TQW1Wy0AOlAAOg-YIY16w976.jpg

wKiom1TQWm_SK8-uAAL1t2HWAAU336.jpg

wKioL1TQW1vyHmyXAALJMBU15zE461.jpg

wKioL1TQW16hD8yPAAQut_k60us613.jpg

wKiom1TQWnbBZjswAAGLiMND1zk550.jpg


批处理作业的控制
一个批处理控制方式的作业被作业调度选中后,操作系统按照用户的作业控制说明书中所规定的控制要求去控制作业的执行。一个作业往往要分几个作业步执行,一般说,总是按作业步的顺序控制作业的执行,一个作业步执行结束后,就顺序取下一个作业步继续执行,直到最后一个作业步完成,整个作业就执行结束。当一个作业执行结束后,系统收回作业所占的资源且撤离该作业,作业执行的结果在输出井中等待输出。

  如果作业执行到某个作业步时发生错误,则要分析错误的性质,对某些用户估计到的错误且用户己在作业控制说明书中提出的处理办法的,系统应按用户的说明转向指定的作业步继续顺序执行,直至作业执行结束。

选择调度方式和调度算法的若干法则

1.面向用户的准则

周转时间短

    通常把周转时间的长短作为评价批处理系统的性能、选择作业调度方式与算法的重要准则之一。所谓周转时间,是指从作业被提交给系统开始,到作业完成为止这段时间间隔(称为作业周转时间)。它包括四部分时间:作业在外存后备队列上等待调度的时间,进程在就绪队列上等待进程调度的时间,进程在CPU上执行的时间,以及进程等待I\O操作完成的时间。其中的后三项在一个作业的整个处理过程中可能会发生多次。

    对每个用户而言,都希望自己作业的周转时间最短。但作为计算机系统的管理者,则总是希望能使平均周转时间最短,这不仅会有效的提高系统资源的利用率,而且还可使大多数用户都感到满意。

响应时间快

    常把响应时间的长短用来评价分时系统的性能,这是选择分时系统中进程调度算法的重要准则之一。所谓响应时间,是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说,直到屏幕上显示出结果为止的一段时间间隔。它包括三部分时间:从键盘输入的请求信息传送到处理机的时间,处理机对请求信息进行处理的时间,以及将所形成的响应信息回送到终端显示器的时间。

截止时间的保证

    这是评价实时系统性能的重要指标,因而是选择实时调度算法的重要准则。所谓截止时间,是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。对于严格的实时系统,其调度方式和调度算法必须能保证这一点,否则将可能造成难以预料的后果。

优先权准则

    在批处理、分时和实时系统中选择调度算法时,都可遵循优先权准则,以便让其某些紧急的作业能得到及时处理。在要求较严格的场合,往往还须选择抢占式 方式,才能保证紧急作业得到及时处理。

2.面向系统的准则

    这是为了满足系统要求而应遵循的一些准则。其中,较重要的的有以下几点:

系统吞吐量高

    这是用于评价批处理系统性能的另一个重要指标,因而是选择批处理作业调度的重要准则。由于吞吐量是指在单位时间内系统所完成的作业数,因而它与批处理作业的平均长度具有密切关系。对于大型作业,一般吞吐量约为每小时一道作业;对于中、小型作业,其吞吐量则可能达到数十道作业之多。作业调度的方式和算法对吞吐量的大小也将产生较大影响。事实上,对用同一批作业,若采用了较好的调度方式和算法,则可显著的提高系统的吞吐量。

处理机利用率好

    对于大、中型多用户系统,由于CPU价格十分昂贵,致使处理机的利用率成为衡量系统性能的十分重要的指标;而调度方式和算法对处理机的利用率起着十分重要的作用。在实际系统中,CPU的利用率一般在40%到90%之间。在大、中型系统中,在选择调度方式和算法时,应考虑到这一准则。但对于单用户微机或某些实时系统,则此准则就不那么重要了。

各类资源的平衡利用

    在大、中型系统中,不仅要处理机的利用率高,而且还应能有效的利用其它各类资源,如内存、外存和I\O设备等。选择适当的调度方式和算法可以保持系统中各类资源都处于忙碌状态。但对于微型机和某些实时系统而言,该准则并不重要。

 

 

wKiom1TQWqDgYrNSAAXjgYKvxJQ303.jpg

wKioL1TQW4vwqoh0AAJlxTD8lxg653.jpg

wKiom1TQWqTQlF46AAOg-YIY16w487.jpg

wKioL1TQW5CxdCQCAAL1t2HWAAU566.jpg

wKiom1TQWqrA-rt-AALJMBU15zE389.jpg

wKioL1TQW5bws5xDAAQut_k60us660.jpg

wKiom1TQWq-RxQLEAAGLiMND1zk779.jpg

wKioL1TQW5rBWVxDAAHf27b5HC0821.jpg

wKiom1TQWrOjnY-dAAKX05q4Mmc927.jpg

wKioL1TQW6CA8qDaAARpuR7JMwQ495.jpg

wKiom1TQWrqjAS7vAALkHAD592M777.jpg

wKioL1TQW6eycXatAAOol9YsoRc206.jpg


        节点作业调度是分布式制造中参与各方进行协同的主要手段,但异地协调具有信息不透明的特点使得各方协同困难。建立节点作业和制造资源描述的信息基础,然后构建节点作业调度系统进行作业调度是解决异地协同的有效途径。 首先,信息基础的建立、作业调度算法设计和节点作业调度系统的构建是其关键技术。 接着,针对信息基础中的作业描述不一致、扩展性差、难于交换等问题,使之更加适应分布式异构环境。 第三,针对现存的信息基础中制造资源描述多样化的特点,LMT NEW PBS作业排队调度系统从服务的责权利角度出发,提出一种新式的调度运算方法。该方法使用组织资源和单一资源的资源组织形式,并利用树形结构描述资源,统一了资源模型的使用原则,以保证信息在异构环境下的适应性。 

    LMT NEW PBS作业排队调度系统中对中心节点的调度执行,以提高系统效率、稳定性和可靠性。其中创新性的工作主要包括三部分:

(1)基于节点历史状态的节点效能描述方法

(2)基于节点效能的预调度算法

(3)传递依赖关系信息的中心节点同步恢复机制。

    随着高性能计算集群应用规模的不断扩充,集群的管理问题也随之而来。起初集群规模较小,比较容易管理和维护,系统的能耗和运维成本问题还不明显。但随着集群规模的不断扩充,集群系统能耗高、利用效率低、大规模集群系统运维管理困难等缺点逐渐凸显出来。

    在LicManager的PBS作业调度系统的帮助下,对用户而言高性能计算集群系统就好像一台具备很多CPU的大服务器,多个用户可以同时使用这个系统。PBS作业调度系统管理用户提交的作业,为各个作业合理地分配资源,从而确保充分利用集群系统的计算能力,并尽可能迅速地得到运算结果。

    LicManager的集群作业调度管理可以根据用户的需求,动态地完成集群的软硬件资源的管理和调度,保证用户作业公平合理地共享集群资源,提高系统利用率和吞吐率。


本文出自 “LicManager” 博客,请务必保留此出处http://9854645.blog.51cto.com/9844645/1611075

转载于:https://my.oschina.net/u/2260005/blog/374852



推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
author-avatar
手机用户2502906281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有