热门标签 | 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



推荐阅读
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 台式电脑的电力消耗:待机一天耗电多少?
    探讨台式电脑的电力消耗问题,特别是待机状态下的能耗。本文将详细介绍影响电脑功耗的因素,并提供计算和优化电源配置的方法。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
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社区 版权所有