CN112506634B - 一种基于预约机制的公平性作业调度方法 - Google Patents

一种基于预约机制的公平性作业调度方法 Download PDF

Info

Publication number
CN112506634B
CN112506634B CN202011446325.4A CN202011446325A CN112506634B CN 112506634 B CN112506634 B CN 112506634B CN 202011446325 A CN202011446325 A CN 202011446325A CN 112506634 B CN112506634 B CN 112506634B
Authority
CN
China
Prior art keywords
job
queue
scheduling
jobs
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011446325.4A
Other languages
English (en)
Other versions
CN112506634A (zh
Inventor
李谦
袁盾
刘康
贾磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202011446325.4A priority Critical patent/CN112506634B/zh
Publication of CN112506634A publication Critical patent/CN112506634A/zh
Application granted granted Critical
Publication of CN112506634B publication Critical patent/CN112506634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种基于预约机制的公平性作业调度方法,属于计算机技术领域。针对传统作业调度方法存在的作业饥饿现象、资源碎片化问题,导致计算资源利用率低和作业等待时间、响应时间的延长,同时也缺少公平性的考量,本发明提出一种基于预约机制的公平性作业调度方法,该方法基于独立任务应用的特点建立调度模型,采用动态可调整优先级和抢占机制来确保公平性,也就是说任何作业都不可以延迟比该作业优先级高的作业的执行。而采用预约机制是为了确保最大化资源利用率,使得空闲资源可以被优先级低、资源需求小的作业提前使用,同时为优先级高且资源需求大的作业预留资源。

Description

一种基于预约机制的公平性作业调度方法
技术领域
本发明属于计算机技术领域,具体涉及一种基于预约机制的公平性作业调度方法。
背景技术
作业调度问题主要研究如何把队列中的作业最优化的分配到计算节点以取得某种最佳效果。作业包括了计算资源需求、运行时间约束等参数信息,作业调度策略就是最优的决定作业在何时、到何处去运行。作业调度是集群系统的核心功能之一,调度策略的选择关系集群系统性能的好坏,优秀的作业调度策略可以最大限度的减少系统的资源竞争、用户的成本,提高系统的利用率。这是一个NP完全问题,国内外学者对此展开了广泛而深入地研究,以求达到接近最优化的目标。
先来先服务调度策略(FCFS)是最常见、也最容易实现的经典调度策略,先到达的作业优先调度、后续到达的作业按照顺序等待调度,这种先来先服务的思想对于用户是公平的。但是FCFS的缺点是系统的资源利用率和吞吐率不高,可能导致计算节点的大量空闲,尤其是队首的作业占用大量资源并且运行时间较长时,会导致后续作业长时间等待,延长了平均等待时间。短作业调度策略(SJF)优先选择作业完成时间较短的作业调度,这种策略可以克服FCFS策略吞吐率低、平均等待时间长的缺点,但可能导致最早到达且运行时间长的作业的延迟执行,不能保证公平性。优先级调度策略根据系统自定义的作业优先级执行队列中的作业。通常优先级调度策略会与其他配合使用,因为单独使用优先级调度会遇到和FCFS一样的问题,即系统不能满足高优先级作业所需的资源时,低优先级的作业也不能执行,由此产生资源的空闲和作业饥饿现象。
FirstFit策略和BestFit策略分别对队列中的作业进行评估,然后调度第一个资源满足需求的作业和当前系统资源能最大满足其资源需求的作业。但这两种策略会造成资源需求低的作业延迟资源需求大的作业的执行,也会产生作业饥饿现象,延迟作业的平均等待时间,另外公平性方面有所欠缺。
Backfilling策略可以充分利用作业调度的时空间隔,选择合适的等待作业插入到这个时间段提前运行,同时也不延迟其他作业的按时执行,确保公平性,从而有效的利用了系统的空闲资源,避免资源的浪费,提升资源利用率和系统吞吐率。但Backfilling策略需要对作业的完成时间进行预估,如果预估不准确,会延长作业的平均等待时间,公平性也会受到影响。除了上述作业调度策略,也有一些针对特定应用改进的策略,例如问题背景复杂化(网格环境、云环境)、加入一种或多种约束条件的改进策略。
传统的作业调度策略往往只侧重某一方面,并不能从整体角度平衡系统的性能。也有将多种策略融合在一起的综合性调度策略,用以提升系统资源利用率、吞吐率,避免作业饥饿现象,减少作业的等待时间。当前,公平性调度也是作业调度策略的一个研究热点,也就是任何低优先级的作业不能延迟高优先级作业的执行。公平性调度旨在为用户提供一种公平的分享资源的方式。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决作业饥饿问题和资源碎片问题带来的资源利用率低和作业等待时间、响应时间的延长缺陷,以及缺少公平性的考量。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于预约机制的公平性作业调度方法,包括以下步骤:
第一步、基于独立任务应用的特点建立调度模型;
第二步、基于所述调度模型实现调度。
优选地,第一步中,所述调度模型为BoT模型,在BoT模型中,一个作业被分解为若干个独立运行的任务,各个任务之间没有数据依赖和通信约束关系,所述调度模型包括:用户层、作业层、任务层;用户层负责提交作业请求;作业层负责接收所提交用户的作业请求,然后根据用户的资源请求查询当前系统空闲资源,按照一定的调度策略调度作业;任务层将作业合理划分成任务,并为其分配相应的计算资源。
优选地,所述BoT模型还包括计算节点层,计算节点层负责运行用户提交的作业以及返回计算结果。
优选地,假设用户的集合是Ui1,i1=1,2,...,u,用户Ui1提交的作业为Ji2,i2=1,2,...,m,每个作业Ji所包含的任务为Fi3,i3=1,2,...,f,所请求的计算资源为Ri4,i4=1,2,...,n,其中u、m、f、n均为整数;用户的作业被形式化为一个五元组<Ui1,Ji2,Fi3,Ri4,Pi5>,其中Pi5是系统为用户分配的调度优先级,i5为整数。
优选地,第二步中,首先做如下定义:
插队作业:等待调度作业队列中排在队列后面的作业提前于排在队列前面的作业被调度,那么被提前调度的作业定义为插队作业;
预约CPU:为插队作业执行的CPU,预约CPU并不确定为哪个作业预约;
作业层采用预约机制的作业调度策略的步骤如下:
在作业调度周期内,首先将等待调度作业队列中的作业按照优先级从高到低依次排列,在排好序的作业队列中选取队首的作业,获取该队首的作业所需要的资源数量,也就是CPU数量,然后查询当前系统的空闲资源,如果空闲的CPU数量能够满足该队首的作业的资源需求,即空闲CPU数量大于该队首的作业所需要的CPU数量,则将空闲CPU分配给该队首的作业;如果当前系统空闲CPU数量不能满足该队首的作业的资源需求,即空闲CPU数量小于该队首的作业所需要的CPU数量,那么再判断当前空闲CPU数量加上预留CPU数量是否能够满足该队首的作业的资源需求,如果能满足资源需求,那么根据暂停作业的选择策略选择相应的插队作业,如果能选出合适的插队作业,那么将这些低优先级的插队作业暂停执行,同时将运行插队作业的预约CPU状态设置为空闲,然后将所有空闲CPU分配给当前等待调度作业,而被暂停的插队作业完成的部分被系统记录并保存进度,同时作业状态设置为等待调度;如果空闲CPU数量加上预留CPU数量不能满足资源需求,那么当前作业由于资源不足而不能被调度,则从等待调度作业队列中选取下一个作业进行调度;由此,优先级低的作业能够临时占用优先级高的作业预留资源时的资源从而提前执行,同时优先级高的作业不会因为优先级低的作业的提前执行而被延迟,当空闲CPU分配给作业时,触发任务层将作业分解成任务,以及为任务均衡地分配计算资源。
优选地,其中,当系统空闲资源不足以满足等待调度作业的资源需求,同时空闲CPU资源加上预约资源可以满足作业的资源需求时,要进行被暂停作业的选择,即所述暂停作业的选择策略包括如下步骤:首先,将在预约资源上运行的插队作业按照优先级从低到高排列,遍历插队作业列表中的作业,如果一个插队作业的总体进度小于阈值,则计算这个插队作业占用的CPU数量和,否则跳到下一个作业,当这个插队作业所占用的CPU数之和足够满足当前调度作业的资源需求时,停止遍历,选出与之对应的插队作业,然后,判断选出的插队作业优先级与当前调度作业的优先级,只有当前调度作业的优先级大于所有的插队作业优先级时,才会将这些插队作业暂停执行,将其放入到被暂停作业列表,如果当前调度作业的优先级最高,则把选出来的插队作业暂停,在被暂停的作业选择出来后,遍历被暂停作业列表,把被暂停作业占用的CPU资源加入被中断资源列表中。
优选地,所述阈值取90%。
本发明还提供了用于执行基于预约机制的公平性作业调度方法的作业调度系统,包括作业请求提交模块,用于提交作业请求;作业模块,用于接收用户提交的作业请求,然后根据用户的资源请求查询当前系统空闲资源,按照一定的调度策略调度作业;任务模块,用于将作业合理划分成任务,并为其分配相应的计算资源。
优选地,还包括计算模块,用于运行用户提交的作业以及返回计算结果。
本发明还提供了一种所述的方法在计算机技术领域中的应用。
(三)有益效果
针对传统作业调度方法存在的作业饥饿现象、资源碎片化问题,导致计算资源利用率低和作业等待时间、响应时间的延长,同时也缺少公平性的考量,本发明提出一种基于预约机制的公平性作业调度方法,该方法基于独立任务应用的特点建立调度模型,采用动态可调整优先级和抢占机制来确保公平性,也就是说任何作业都不可以延迟比该作业优先级高的作业的执行。而采用预约机制是为了确保最大化资源利用率,使得空闲资源可以被优先级低、资源需求小的作业提前使用,同时为优先级高且资源需求大的作业预留资源。
附图说明
图1为本发明中建立的作业调度模型原理图;
图2为本发明的作业调度示例图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为了克服现有技术在调度管理平台上应用的不足,本发明提出一种基于预约机制的公平性作业调度方法,该方法基于独立任务应用的特点建立调度模型,采用动态可调整优先级和抢占机制来确保公平性,也就是说任何作业都不可以延迟比该作业优先级高的作业的执行。而采用预约机制可以确保最大化资源利用率,使得空闲资源可以被优先级低、资源需求小的作业提前使用,同时为优先级高且资源需求大的作业预留资源。该方法能够高效地处理用户提交的作业、减少用户的等待时间,避免“作业饥饿”现象和减少资源碎片,提高了系统资源的利用率,提升了集群系统的整体性能。
本发明的基于预约机制的公平性作业调度方法的步骤及原理是:
第一步、基于独立任务应用的特点建立调度模型
作业的分配问题可以建模为Bag-of-Tasks(BoT)应用模型,在BoT模型中,一个作业可以分解为若干个独立运行的任务,各个任务之间没有数据依赖和通信约束关系,很多领域中的问题例如文本搜索、图片处理、参数扫描、基因匹对等都可以使用BoT模型。松耦合性的BoT通用模型包含一个master和若干个slave,master负责分配任务,而slave负责接收任务并执行计算,然后向master返回结果并等待下一个任务的分配。集群系统的调度模型包括:用户层、作业层、任务层和计算节点层,如图1所示。
其中,用户层负责提交作业请求,假设用户的集合是Ui1,i1=1,2,...,u,用户Ui1提交的作业为Ji2,i2=1,2,...,m,每个作业Ji所包含的任务为Fi3,i3=1,2,...,f,所请求的计算资源为Ri4,i4=1,2,...,n,其中u、m、f、n均为整数;作业层负责接收用户的作业,然后根据用户的资源请求查询当前系统空闲资源,按照一定的调度策略调度作业;任务层将作业合理划分成任务,并为其分配相应的计算资源,从系统角度,用户的作业被形式化为一个五元组<Ui1,Ji2,Fi3,Ri4,Pi5>,其中Pi5是系统为用户分配的调度优先级,i5为整数;计算节点层负责运行用户提交的作业以及返回计算结果。
第二步、基于所述调度模型实现调度
作业调度系统中,用户层提交作业请求,作业层接收并处理用户层提交的作业请求,按照用户的资源需求,查询当前系统空闲资源,按照一定的调度策略调度作业,任务层将作业合理划分成任务,并为其分配相应的计算资源。为了更好的描述该方法,引入如下定义:
定义1插队作业,等待调度作业队列中排在队列后面的作业提前于排在队列前面的作业被调度,那么被提前调度的作业定义为插队作业;
定义2预约CPU,为插队作业执行的CPU,这与经典的预约策略设置的预约资源不同,预约CPU并不确定为哪个作业预约,而经典预约策略中预约资源分配给哪个作业是确定的;
用户提交的作业是有一组相互无依赖性的任务组成并且可以拆分,为此,本发明采用动态可调整优先级和抢占机制来确保公平性,也就是说任何作业都不可以延迟比该作业优先级高的作业的执行。而采用预约机制是为了确保最大化资源利用率,使得空闲资源可以被优先级低、资源需求小的作业提前使用,同时为优先级高且资源需求大的作业预留资源。作业层采用预约机制的作业调度策略的基本思想及步骤如下:
在作业调度周期内,首先将等待调度作业队列中的作业按照优先级从高到低依次排列,在排好序的作业队列中选取队首的作业,获取该队首的作业所需要的资源数量,也就是CPU数量,然后查询当前系统的空闲资源,如果空闲的CPU数量能够满足该队首的作业的资源需求,即空闲CPU数量大于该队首的作业所需要的CPU数量,则将空闲CPU分配给该队首的作业;如果当前系统空闲CPU数量不能满足该队首的作业的资源需求,即空闲CPU数量小于该队首的作业所需要的CPU数量,那么再判断当前空闲CPU数量加上预留CPU数量是否能够满足该队首的作业的资源需求,如果能满足资源需求,那么根据暂停作业的选择策略选择相应的插队作业,如果能选出合适的插队作业,那么将这些低优先级的插队作业暂停执行,同时将运行插队作业的预约CPU状态设置为空闲,然后将所有空闲CPU分配给当前等待调度作业,而被暂停的插队作业完成的部分被系统记录并保存进度,同时作业状态设置为等待调度;如果空闲CPU数量加上预留CPU数量不能满足资源需求,那么当前作业由于资源不足而不能被调度,则从等待调度作业队列中选取下一个作业进行调度;由此,优先级低的作业能够临时占用优先级高的作业预留资源时的资源从而提前执行,同时优先级高的作业不会因为优先级低的作业的提前执行而被延迟,当空闲CPU分配给作业时,触发任务层将作业分解成任务,以及为任务均衡地分配计算资源。
当系统空闲资源不足以满足等待调度作业的资源需求,同时空闲CPU资源加上预约资源可以满足作业的资源需求时,要进行被暂停作业的选择;,即所述暂停作业的选择策略包括如下步骤:首先,将在预约资源上运行的插队作业按照优先级从低到高排列,遍历插队作业列表中的作业,如果某个插队作业的总体进度小于θi(这里取90%),则计算这个插队作业占用的CPU数量和,否则跳到下一个作业,当这个插队作业所占用的CPU数之和足够满足当前调度作业的资源需求时,停止遍历,选出与之对应的插队作业,然后,判断选出的插队作业优先级与当前调度作业的优先级,只有当前调度作业的优先级大于所有的插队作业优先级时,才会将这些插队作业暂停执行,将其放入到被暂停作业列表,如果当前调度作业的优先级最高,则把选出来的插队作业暂停,在被暂停的作业选择出来后,遍历被暂停作业列表,把被暂停作业占用的CPU资源加入被中断资源列表中。
下面将结合实例来详细说明本发明的调度过程。
假设有5个作业和15个CPU资源,各个作业的基本特征和资源需求如表1所示。
表1各个作业属性
Figure BDA0002824604950000101
用户将5个作业提交至调度系统,根据本发明提出的作业调度策略,作业的调度过程如图2所示,其中,横坐标代表运行时间,纵轴代表占用的CPU数量。
图2(a)表示调度的初始状态,当前系统有空闲资源,用户提交的5个作业J1-J5等待作业管理系统的调度。作业J1、J3和J5具有最高的优先级,被优先调度,当前系统具有15个空闲状态的CPU,能够满足这三个作业的资源需求,因此,T0时刻作业J1、J3和J5被分配资源去执行计算。由于当前系统没有空闲资源,无法满足作业J2和J4的资源需求,因此作业J2和J4继续留在在等待调度队列中。
图2(b)表示在时刻T1的调度状态,此时,作业J5完成了计算,当前空闲状态CPU数量是4,按照优先级高低,作业J2应该被调度和分配资源,但作业J2需要的CPU数量是8,系统无法满足其资源需求。而优先级低的作业J4因系统当前空闲资源能满足其CPU资源需求,因此,为了最大化吞吐率和资源利用率,作业调度策略将作业J4提前调度,使得优先级低的作业J4优先于优先级高的作业J2执行,根据上面定义,作业J4被标记为插队作业,运行作业J4的4个CPU资源被标记为预约CPU。
图2(c)表示在时刻T2的调度状态,此时,作业J3完成计算释放资源,调度系统当前空闲状态的CPU数量是5,仍然不能满足作业J2所需要的资源,但是预约CPU数量是4,空闲CPU数与预约CPU数量之和是9,能满足作业J2的资源需求,同时作业J4进度小于90%,因此,作业J4被暂停,同时将其占用的CPU资源状态改为空闲,将8个空闲资源分配给作业J2,作业J4被放到等待调度作业队列,此时由于等待作业队列中的作业资源需求都大于1,系统会产生1个空闲状态的CPU资源。
图2(d)表示在时刻T3的调度状态,此时,作业J2完成计算释放资源,系统当前空闲状态的CPU数量是9,能够满足作业J4的资源需求,作业J4被分配资源执行未完成的作业,此时,等待调度队列为空,系统等待用户继续提交作业。
可以看出,该方法按照优先级调度作业,当计算资源受限时,在不延迟优先级高的作业运行的前提下,调高优先级低的作业级别使其提前调度,同时为优先级高的作业预约资源,一旦资源满足优先级高的作业的需求,暂停优先级低的作业而重新调度优先级高的作业。该方法能够高效的处理用户提交的作业、减少用户的等待时间,避免“作业饥饿”现象和减少资源碎片,提高了系统资源的利用率,提升了集群系统的整体性能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (3)

1.一种基于预约机制的公平性作业调度方法,其特征在于,包括以下步骤:
第一步、基于独立任务应用的特点建立调度模型;
第二步、基于所述调度模型实现调度;
第一步中,所述调度模型为BoT模型,在BoT模型中,一个作业被分解为若干个独立运行的任务,各个任务之间没有数据依赖和通信约束关系,所述调度模型包括:用户层、作业层、任务层;用户层负责提交作业请求;作业层负责接收所提交用户的作业请求,然后根据用户的资源请求查询当前系统空闲资源,按照一定的调度策略调度作业;任务层将作业合理划分成任务,并为其分配相应的计算资源;
假设用户的集合是Ui1,i1=1,2,...,u,用户Ui1提交的作业为Ji2,i2=1,2,...,m,每个作业Ji所包含的任务为Fi3,i3=1,2,...,f,所请求的计算资源为Ri4,i4=1,2,...,n,其中u、m、f、n均为整数;用户的作业被形式化为一个五元组<Ui1,Ji2,Fi3,Ri4,Pi5>,其中Pi5是系统为用户分配的调度优先级,i5为整数;
第二步中,首先做如下定义:
插队作业:等待调度作业队列中排在队列后面的作业提前于排在队列前面的作业被调度,那么被提前调度的作业定义为插队作业;
预约CPU:为插队作业执行的CPU,预约CPU并不确定为哪个作业预约;
作业层采用预约机制的作业调度策略的步骤如下:
在作业调度周期内,首先将等待调度作业队列中的作业按照优先级从高到低依次排列,在排好序的作业队列中选取队首的作业,获取该队首的作业所需要的资源数量,也就是CPU数量,然后查询当前系统的空闲资源,如果空闲的CPU数量能够满足该队首的作业的资源需求,即空闲CPU数量大于该队首的作业所需要的CPU数量,则将空闲CPU分配给该队首的作业;如果当前系统空闲CPU数量不能满足该队首的作业的资源需求,即空闲CPU数量小于该队首的作业所需要的CPU数量,那么再判断当前空闲CPU数量加上预留CPU数量是否能够满足该队首的作业的资源需求,如果能满足资源需求,那么根据暂停作业的选择策略选择相应的插队作业,如果能选出合适的插队作业,那么将这些低优先级的插队作业暂停执行,同时将运行插队作业的预约CPU状态设置为空闲,然后将所有空闲CPU分配给当前等待调度作业,而被暂停的插队作业完成的部分被系统记录并保存进度,同时作业状态设置为等待调度;如果空闲CPU数量加上预留CPU数量不能满足资源需求,那么当前作业由于资源不足而不能被调度,则从等待调度作业队列中选取下一个作业进行调度;由此,优先级低的作业能够临时占用优先级高的作业预留资源时的资源从而提前执行,同时优先级高的作业不会因为优先级低的作业的提前执行而被延迟,当空闲CPU分配给作业时,触发任务层将作业分解成任务,以及为任务均衡地分配计算资源;
其中,当系统空闲资源不足以满足等待调度作业的资源需求,同时空闲CPU资源加上预约资源可以满足作业的资源需求时,要进行被暂停作业的选择,即所述暂停作业的选择策略包括如下步骤:首先,将在预约资源上运行的插队作业按照优先级从低到高排列,遍历插队作业列表中的作业,如果一个插队作业的总体进度小于阈值,则计算这个插队作业占用的CPU数量和,否则跳到下一个作业,当这个插队作业所占用的CPU数之和足够满足当前调度作业的资源需求时,停止遍历,选出与之对应的插队作业,然后,判断选出的插队作业优先级与当前调度作业的优先级,只有当前调度作业的优先级大于所有的插队作业优先级时,才会将这些插队作业暂停执行,将其放入到被暂停作业列表,如果当前调度作业的优先级最高,则把选出来的插队作业暂停,在被暂停的作业选择出来后,遍历被暂停作业列表,把被暂停作业占用的CPU资源加入被中断资源列表中。
2.如权利要求1所述的方法,其特征在于,所述BoT模型还包括计算节点层,计算节点层负责运行用户提交的作业以及返回计算结果。
3.如权利要求1所述的方法,其特征在于,所述阈值取90%。
CN202011446325.4A 2020-12-08 2020-12-08 一种基于预约机制的公平性作业调度方法 Active CN112506634B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011446325.4A CN112506634B (zh) 2020-12-08 2020-12-08 一种基于预约机制的公平性作业调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011446325.4A CN112506634B (zh) 2020-12-08 2020-12-08 一种基于预约机制的公平性作业调度方法

Publications (2)

Publication Number Publication Date
CN112506634A CN112506634A (zh) 2021-03-16
CN112506634B true CN112506634B (zh) 2022-07-12

Family

ID=74971299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011446325.4A Active CN112506634B (zh) 2020-12-08 2020-12-08 一种基于预约机制的公平性作业调度方法

Country Status (1)

Country Link
CN (1) CN112506634B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254179B (zh) * 2021-06-03 2022-03-01 核工业理化工程研究院 基于高响应比的作业调度方法、系统、终端、存储介质
CN115167973B (zh) * 2022-06-13 2023-12-15 鄂尔多斯市云泰互联科技有限公司 一种云计算数据中心的数据处理系统
CN117149440B (zh) * 2023-10-26 2024-03-01 北京趋动智能科技有限公司 一种任务调度方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596788B1 (en) * 2004-05-11 2009-09-29 Platform Computing Corporation Support of non-trivial scheduling policies along with topological properties
CN102402461A (zh) * 2011-12-08 2012-04-04 曙光信息产业(北京)有限公司 一种基于作业规模的均衡调度方法
CN107908466A (zh) * 2017-10-27 2018-04-13 南京理工大学 一种云环境下BoT任务的快速调度方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929695B (zh) * 2012-09-18 2016-12-21 曙光信息产业(北京)有限公司 一种基于预约的批量作业调度方法
CN103679404B (zh) * 2014-01-03 2017-12-05 北京神舟航天软件技术有限公司 一种多项目资源平衡优化方法
CN107178237B (zh) * 2017-05-15 2022-09-23 安徽博微联控科技有限公司 一种多机多路径的并行化存取车调度系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596788B1 (en) * 2004-05-11 2009-09-29 Platform Computing Corporation Support of non-trivial scheduling policies along with topological properties
CN102402461A (zh) * 2011-12-08 2012-04-04 曙光信息产业(北京)有限公司 一种基于作业规模的均衡调度方法
CN107908466A (zh) * 2017-10-27 2018-04-13 南京理工大学 一种云环境下BoT任务的快速调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于优先级的抢占式并行调度算法设计与分析》;张国斌、潘金贵;《计算机科学》;20181116;第34卷(第7期);第279-281页 *
张国斌、潘金贵.《基于优先级的抢占式并行调度算法设计与分析》.《计算机科学》.2018,第34卷(第7期),第279-281页. *

Also Published As

Publication number Publication date
CN112506634A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112506634B (zh) 一种基于预约机制的公平性作业调度方法
CN108920261B (zh) 一种适于大规模并行数据处理任务的两级自适应调度方法
CN108345501B (zh) 一种分布式资源调度方法和系统
US6711607B1 (en) Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
US10089142B2 (en) Dynamic task prioritization for in-memory databases
WO2016078178A1 (zh) 一种虚拟cpu调度方法
Yao et al. Haste: Hadoop yarn scheduling based on task-dependency and resource-demand
US7823154B2 (en) System and method for providing, by a plurality of schedulers, differentiated service to consumers of distributed resources
US20130061233A1 (en) Efficient method for the scheduling of work loads in a multi-core computing environment
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN103927225A (zh) 一种多核心架构的互联网信息处理优化方法
JPH07141305A (ja) 並列計算機の実行制御方法
KR101859188B1 (ko) 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법
CN107203422B (zh) 一种面向高性能计算云平台的作业调度方法
CN113132456B (zh) 一种基于截止时间感知的边云协同任务调度方法及系统
CN108428051A (zh) 面向大数据平台基于最大化收益的MapReduce作业调度方法及装置
JP2008226023A (ja) ジョブ割当装置、及びジョブ割当方法
CN116010064A (zh) Dag作业调度和集群管理的方法、系统及装置
CN112925616A (zh) 任务分配方法、装置、存储介质及电子设备
CN104731662B (zh) 一种可变并行作业的资源分配方法
US20230161620A1 (en) Pull mode and push mode combined resource management and job scheduling method and system, and medium
Gao et al. Deadline-aware preemptive job scheduling in hadoop yarn clusters
Nogueira et al. A capacity sharing and stealing strategy for open real-time systems
Wu et al. Weakly hard real-time scheduling algorithm for multimedia embedded system on multiprocessor platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant