CN113448705B - 一种不平衡作业调度算法 - Google Patents
一种不平衡作业调度算法 Download PDFInfo
- Publication number
- CN113448705B CN113448705B CN202110708854.5A CN202110708854A CN113448705B CN 113448705 B CN113448705 B CN 113448705B CN 202110708854 A CN202110708854 A CN 202110708854A CN 113448705 B CN113448705 B CN 113448705B
- Authority
- CN
- China
- Prior art keywords
- job
- scheduling
- queue
- time
- ith
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
技术领域
本发明涉及计算机技术领域,尤其是一种不平衡作业调度算法。
背景技术
在计算机操作系统中,可能有很多批处理作业存放在磁盘的后备作业队列中,或者有很多终端与主机相连,交互型作业不断地进入系统,使得内存和处理器等资源供不应求。应按照何种原则挑选批处理作业进入内存运行,能否继续接纳分时用户,处理器时间应该如何划分,时间片长短如何确定,怎样在进程之间分配处理器资源等,这些都是操作系统进行处理器管理所要面对的问题。因此,基于资源利用率、吞吐量、公平性、响应时间、作业周转时间,选择合适的作业调度算法。作业周转时间是指批处理用户从向系统提交作业开始到作业完成为止所需的时间,使作业周转时间或者平均作业周转时间尽可能短,这是批处理系统衡量调度性能的一项重要指标。
目前,计算机操作系统存在很多常用的调度算法,但是大多数都是平衡算法,不能根据作业大小而自动分配提供资源的调度算法称为平衡作业调度算法,因为他们的调度过程分配的资源数比较平衡,不会出现资源的倾斜分配现象。
例如:1、FCFS算法,按照作业进入系统作业队列的先后次序来挑选作业,先来先服务算法,这是一种非剥夺式调度算法,易于实现,但是效率不高。2、SJF算法即最短作业优先算法,以进入系统作业所要求的CPU运行时间的长短为标准,总是选取预计计算时间最短的作业投入运算,这是一种剥夺式调度算法,易于实现,但是执行效率不高,对长作业的资源分配极为不利。3、RR算法即轮转调度算法,采用时间片进行调度,也是一种剥夺式调度算法,系统耗费在进程切换上的开销比较大,这个开销与时间片大小有关,遇到长作业时,会反复执行,中断次数过多,系统消耗大。
现有技术中也有一些不平衡作业调度算法,如响应比高者调度算法,虽然其对公平性和周转时间提高了重视,但设置响应比参数动态性不强,改善系统性能不明显,实现困难。例如,采用一般的不平衡作业调度算法,当系统需要调度一个需要使用较多资源但其自身为重要进程的作业时,虽然能够使其在响应比上排序靠前,但是作业不是一次调度完成的,需要多次调度才可以完成,一个没完成的作业会重新进入队列参与竞争,随着系统不断地批处理小型作业时,仍然需要花费时间并且进行调度多次,导致完成一个工作量较大的作业需要进行多次调度,作业调度次数过多,响应比在这个过程中也会发生变化,影响了系统性能,仍然存在系统在任务间切换之间资源消耗多,出现有的作业响应时间延迟,作业周转时间或者平均作业周转时间变大,系统效率降低。
发明内容
为了克服上述现有技术中的缺陷,本发明提供一种不平衡作业调度算法,能够提高系统资源利用率,降低作业周转时间,从软件角度提升系统性能。
为实现上述目的,本发明采用以下技术方案,包括:
一种不平衡作业调度算法,包括以下步骤:
S1,生成作业队列,作业队列中包括J个作业;
S3,按照作业队列中的各个作业的排列顺序,依次对作业队列中的各个作业分别进行调度;
其中,对作业队列中的第j个作业mj进行调度后,判断第j个作业mj是否执行完成;若是,将该第j个作业mj移处作业队列;若否,第j个作业mj等待下一次调度;
判断该第j个作业是否为作业队列中的最后一个作业,若否,则对作业队列中的下一个作业即第j+1个作业mj+1进行调度;若是,则跳转步骤S4,进行下一次调度;
S4,等待作业队列中的各个作业均执行完上一次调度后,按照步骤S3的方式,依次对作业队列中的各个作业分别进行下一次调度。
其中,Pi为第i次调度时的作业队列的总作业量。
在步骤S1~S4中,若有新的作业达到,则将该新的作业放入作业队列的队尾,且为该新的作业分配进程。
本发明的优点在于:
(1)本发明使得作业队列中的各个作业能够及时得到响应,使得短作业具有较短作业周转时间,长作业也能在较少的轮转次数内完成,从而获得满意的周转时间。
(2)本发明的不平衡作业调度算法时,根据作业的总调度次数与总作业量动态改变系统分配执行时间片,从而确保大作业也能够在更少的调度次数内完成,并且保持算法高效。
附图说明
图1为本发明的一种不平衡作业调度算法的流程图。
图2为平衡作业调度算法与本发明的不平衡作业调度算法的调度对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由图1所示,本发明的一种不平衡作业调度算法,具体如下所示:
S1,将到达的作业按照FCFS算法排列,生成作业队列,作业队列中包括J个作业。
S3,按照作业队列中的各个作业的排列顺序,依次对作业队列中的各个作业分别进行调度。
其中,对作业队列中的第j个作业mj进行调度后,判断第j个作业mj是否执行完成;若是,将该第j个作业mj移处作业队列;若否,第j个作业mj等待下一次调度;
判断该第j个作业是否为作业队列中的最后一个作业,若否,则对作业队列中的下一个作业即第j+1个作业mj+1进行调度;若是,则跳转步骤S4,进行下一次调度。
S4,等待作业队列中的各个作业均执行完上一次调度后,按照步骤S3的方式,依次对作业队列中的各个作业分别进行下一次调度。
步骤S3和步骤S4中,
其中,T为设定的固定时间片,T的取值由系统静态设定,目前大部分系统中T的取值为24;为第j个作业mj的第i次调度时的分配系数;mj为作业队列中的第j个作业,j=1,2,3…J;/>为第j个作业mj的第i次调度所分配的资源即时间片;
在步骤S1~S4中,若有新的作业达到,则将该新的作业放入作业队列的队尾,CPU为该新的作业分配进程即分配总调度次数,且假如该新的作业假如作业队列后作业队列的总作业量Pi也相应的增加。
若采用一般调度算法,当操作系统需要调度一个工作时间长并且重要的作业时,因为作业不是一次调度完成的,需要进行多次调度,才可以完成,一个没完成的作业会重新进入作业队列参与竞争,但是由于作业调度次数过多,对系统性能负担较大,导致平均周转或者带权周转的时间变大,降低效率,过多占用系统资源。本发明的不平衡作业调度算法将会使任务的调度次数减少,通过对分配系数d的调节使得系统获得较佳的性能,可以适应系统对调度次数的控制,且系统开发者柯根据需要选择分配系数d,实现调度多样性和自由性。
当使用平衡算法调度作业队列中的第j个作业mj时,每轮调度投入资源为T′,第j个作业mj调度执行完成最少需要20轮调度,并且随着小作业的不断加入,作业mj可能出现饥饿现象,即cpu长时间不投入资源调度大作业,持续调度小作业的情况,虽然可以使用优先级调度算法,但仍然无法解决20轮调度的问题,若使用多级反馈队列调度算法,那么意味着必须等到该作业mj的优先级逐渐降低至最低,才能得到系统指定的一个固定值资源数分配给该作业mj,因此该调度算法需要等待优先级逐步降低,并且在作业量很大时仍然需要多次调度。
当使用本发明的不平衡作业调度算法时,系统根据该作业mj的总调度次数与任务量动态改变CPU分配资源数即时间片,从而确保大作业也能够在更少的调度次数内完成,并且保持算法高效。
大作业情况下,现有技术的平衡作业调度算法与本发明的不平衡作业调度算法的调度对比由图2所示。可知,平衡作业调度算法会随着作业调度次数增加导致平均周转时间快速增加,极大的影响了系统的运行效率。本发明的不平衡作业调度算法,随着其它作业加入作业队列,系统会自适应改变第j个作业mj的第i次调度时的分配系数从而改变第j个作业mj的第i次调度时的资源即时间片/>使大作业在不影响其它作业的前提下保持较少的轮转次数即调度次数与运行周期,从而确保了本发明的不平衡作业调度算法的可行性。
以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。
Claims (2)
1.一种不平衡作业调度算法,其特征在于,包括以下步骤:
S1,生成作业队列,作业队列中包括J个作业;
S3,按照作业队列中的各个作业的排列顺序,依次对作业队列中的各个作业分别进行调度;
其中,对作业队列中的第j个作业mj进行调度后,判断第j个作业mj是否执行完成;若是,将该第j个作业mj移出作业队列;若否,第j个作业mj等待下一次调度;
判断该第j个作业是否为作业队列中的最后一个作业,若否,则对作业队列中的下一个作业即第j+1个作业mj+1进行调度;若是,则跳转步骤S4,进行下一次调度;
S4,等待作业队列中的各个作业均执行完上一次调度后,按照步骤S3的方式,依次对作业队列中的各个作业分别进行下一次调度;
其中,Pi为第i次调度时的作业队列的总作业量。
2.根据权利要求1所述的一种不平衡作业调度算法,其特征在于,在步骤S1~S4中,若有新的作业达到,则将该新的作业放入作业队列的队尾,且为该新的作业分配进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110708854.5A CN113448705B (zh) | 2021-06-25 | 2021-06-25 | 一种不平衡作业调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110708854.5A CN113448705B (zh) | 2021-06-25 | 2021-06-25 | 一种不平衡作业调度算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448705A CN113448705A (zh) | 2021-09-28 |
CN113448705B true CN113448705B (zh) | 2023-03-28 |
Family
ID=77812690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110708854.5A Active CN113448705B (zh) | 2021-06-25 | 2021-06-25 | 一种不平衡作业调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448705B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132411A (ja) * | 1998-10-27 | 2000-05-12 | Nec Corp | ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体 |
CN103699448A (zh) * | 2014-01-14 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种云计算环境下基于时间期限和预算的调度方法 |
CN104461722A (zh) * | 2014-12-16 | 2015-03-25 | 广东石油化工学院 | 一种用于云计算系统的作业调度方法 |
CN104731662A (zh) * | 2015-03-26 | 2015-06-24 | 华中科技大学 | 一种可变并行作业的资源分配方法 |
CN109992385A (zh) * | 2019-03-19 | 2019-07-09 | 四川大学 | 一种基于任务均衡调度的gpu内部能耗优化方法 |
CN110737529A (zh) * | 2019-09-05 | 2020-01-31 | 北京理工大学 | 一种面向短时多变大数据作业集群调度自适应性配置方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241860A (ja) * | 1992-02-26 | 1993-09-21 | Kobe Nippon Denki Software Kk | タイムスライス最適化方式 |
JP2003177928A (ja) * | 2001-12-11 | 2003-06-27 | Hitachi Ltd | 可変タイムスライス時間のスケジューリング方法 |
US20060037021A1 (en) * | 2004-08-12 | 2006-02-16 | International Business Machines Corporation | System, apparatus and method of adaptively queueing processes for execution scheduling |
US7548335B2 (en) * | 2005-02-25 | 2009-06-16 | Microsoft Corporation | Print job queuing and scheduling systems and methods |
CN1825288A (zh) * | 2006-03-31 | 2006-08-30 | 浙江大学 | 嵌入式sram操作系统进程多队列调度的实现方法 |
US9588809B2 (en) * | 2006-10-10 | 2017-03-07 | Invistasking LLC | Resource-based scheduler |
US20090025004A1 (en) * | 2007-07-16 | 2009-01-22 | Microsoft Corporation | Scheduling by Growing and Shrinking Resource Allocation |
CN101510164B (zh) * | 2009-03-25 | 2013-05-22 | 北京中星微电子有限公司 | 一种多业务调度方法、装置与系统 |
CN103810037B (zh) * | 2014-01-10 | 2017-02-15 | 清华大学 | 一种作业调度方法和计算装置 |
CN103973594B (zh) * | 2014-05-09 | 2017-07-28 | 清华大学 | 基于多资源的任务调度方法 |
CN106980532A (zh) * | 2016-01-18 | 2017-07-25 | 西安中兴新软件有限责任公司 | 一种作业调度方法和装置 |
CN108197835B (zh) * | 2018-02-05 | 2022-02-15 | 北京航空航天大学 | 任务分配方法、装置、计算机可读存储介质及电子设备 |
US11010195B2 (en) * | 2019-07-19 | 2021-05-18 | International Business Machines Corporation | K-tier architecture scheduling |
CN110362411B (zh) * | 2019-07-25 | 2022-08-02 | 哈尔滨工业大学 | 一种基于Xen系统的CPU资源调度方法 |
CN110908782B (zh) * | 2019-11-01 | 2022-08-19 | 湖北省楚天云有限公司 | 一种基于遗传算法优化的封装类分布式作业任务调度方法及系统 |
CN111045800A (zh) * | 2019-11-14 | 2020-04-21 | 武汉纺织大学 | 一种基于短作业优先的优化gpu性能的方法及系统 |
CN111897637B (zh) * | 2020-07-15 | 2022-08-19 | 重庆紫光华山智安科技有限公司 | 作业调度方法、装置、主机及存储介质 |
CN112198846B (zh) * | 2020-09-24 | 2021-11-05 | 临沂大学 | 一种用于流水线作业的自适应调度系统的调度方法 |
CN112559486A (zh) * | 2020-11-11 | 2021-03-26 | 国网江苏省电力有限公司信息通信分公司 | 一种数据中台统一任务调度管理系统 |
CN112596891B (zh) * | 2021-03-03 | 2021-06-11 | 南京信息工程大学 | 时间片轮转结合扩展中断的多任务管理方法 |
-
2021
- 2021-06-25 CN CN202110708854.5A patent/CN113448705B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132411A (ja) * | 1998-10-27 | 2000-05-12 | Nec Corp | ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体 |
CN103699448A (zh) * | 2014-01-14 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种云计算环境下基于时间期限和预算的调度方法 |
CN104461722A (zh) * | 2014-12-16 | 2015-03-25 | 广东石油化工学院 | 一种用于云计算系统的作业调度方法 |
CN104731662A (zh) * | 2015-03-26 | 2015-06-24 | 华中科技大学 | 一种可变并行作业的资源分配方法 |
CN109992385A (zh) * | 2019-03-19 | 2019-07-09 | 四川大学 | 一种基于任务均衡调度的gpu内部能耗优化方法 |
CN110737529A (zh) * | 2019-09-05 | 2020-01-31 | 北京理工大学 | 一种面向短时多变大数据作业集群调度自适应性配置方法 |
Non-Patent Citations (1)
Title |
---|
邱相存 ; 臧洌 ; 杨丹 ; 董国良 ; .实时系统调度算法综述.计算机与数字工程.2014,(12),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113448705A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hui et al. | Improved strategies for dynamic load balancing | |
CN109408215A (zh) | 一种计算节点的任务调度方法和装置 | |
US20030028581A1 (en) | Method for resource management in a real-time embedded system | |
JPH09167141A (ja) | 負荷分散制御方法 | |
CN111104211A (zh) | 基于任务依赖的计算卸载方法、系统、设备及介质 | |
CN107193655A (zh) | 一种基于效用函数的面向大数据处理的公平资源调度方法 | |
CN116932201A (zh) | 一种面向深度学习训练任务的多资源共享调度方法 | |
CN115878260A (zh) | 一种低碳自适应云主机任务调度系统 | |
US20030028582A1 (en) | Apparatus for resource management in a real-time embedded system | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment | |
CN111930485B (zh) | 一种基于性能表现的作业调度方法 | |
CN113448705B (zh) | 一种不平衡作业调度算法 | |
EP4300305A1 (en) | Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices | |
CN104731662B (zh) | 一种可变并行作业的资源分配方法 | |
Liu et al. | Leveraging dependency in scheduling and preemption for high throughput in data-parallel clusters | |
Singh et al. | Market-inspired dynamic resource allocation in many-core high performance computing systems | |
CN114398166B (zh) | 基于二分法的分布式计算任务调度方法及设备 | |
CN112506640B (zh) | 一种用于加密运算芯片的多处理器架构及调配方法 | |
Papazachos et al. | Gang scheduling in a two-cluster system implementing migrations and periodic feedback | |
CN114860417A (zh) | 多核神经网络处理器及用于该处理器多任务分配调度方法 | |
Ghazy et al. | A New Round Robin Algorithm for Task Scheduling in Real-time System. | |
Rajguru et al. | A performance analysis of task scheduling algorithms using qualitative parameters | |
CN114816720B (zh) | 多任务共享物理处理器的调度方法、装置及终端设备 | |
Hassan et al. | A survey about efficient job scheduling strategies in cloud and large scale environments | |
EP2595057B1 (en) | Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements |
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 |