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



推荐阅读
  • 考前准备方面,我的考试时间安排在上午11点至12点,只需提前20分钟到达考场的接待休息区即可。由于我居住在福田区,交通便利,可以选择多种方式前往考场。为了确保顺利通过考试,我建议考生提前熟悉考试流程和环境,并合理规划出行时间,以保持良好的心态和状态。此外,考前复习应注重理论与实践相结合,多做模拟题,加强对重点知识点的理解和掌握。 ... [详细]
  • Java服务问题快速定位与解决策略全面指南 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 优化后的标题:PHP分布式高并发秒杀系统设计与实现
    PHPSeckill是一个基于PHP、Lua和Redis构建的高效分布式秒杀系统。该项目利用php_apcu扩展优化性能,实现了高并发环境下的秒杀功能。系统设计充分考虑了分布式架构的可扩展性和稳定性,适用于大规模用户同时访问的场景。项目代码已开源,可在Gitee平台上获取。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • 数据结构与算法:HyperLogLog 统计、布隆过滤器应用、缓存机制挑战及解决方案、Redis 性能优化与监控、哨兵模式、版本控制工具 Git
    本文探讨了数据结构与算法在实际应用中的多个方面。首先介绍了HyperLogLog算法,用于高效地进行基数统计,能够准确估算大规模数据集中的唯一元素数量。接着讨论了布隆过滤器的应用,该过滤器在空间效率和查询速度上具有显著优势,适用于大数据场景下的快速成员检测。此外,文章分析了缓存机制面临的挑战及其解决方案,包括LRU和LFU等策略,并详细阐述了Redis的性能优化与监控方法,如使用哨兵模式实现高可用性。最后,介绍了版本控制工具Git的基本操作和最佳实践,帮助开发者有效管理代码版本。 ... [详细]
  • 深入理解Spark框架:RDD核心概念与操作详解
    RDD是Spark框架的核心计算模型,全称为弹性分布式数据集(Resilient Distributed Dataset)。本文详细解析了RDD的基本概念、特性及其在Spark中的关键操作,包括创建、转换和行动操作等,帮助读者深入理解Spark的工作原理和优化策略。通过具体示例和代码片段,进一步阐述了如何高效利用RDD进行大数据处理。 ... [详细]
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社区 版权所有