CN113434280A - 基于时间动态调整调度间隔的方法 - Google Patents

基于时间动态调整调度间隔的方法 Download PDF

Info

Publication number
CN113434280A
CN113434280A CN202110802174.XA CN202110802174A CN113434280A CN 113434280 A CN113434280 A CN 113434280A CN 202110802174 A CN202110802174 A CN 202110802174A CN 113434280 A CN113434280 A CN 113434280A
Authority
CN
China
Prior art keywords
scheduling
task
tasks
scheduler
time
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.)
Pending
Application number
CN202110802174.XA
Other languages
English (en)
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.)
Hubei Yangzhong Jushi Information Technology Co ltd
Original Assignee
Hubei Yangzhong Jushi Information Technology Co ltd
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 Hubei Yangzhong Jushi Information Technology Co ltd filed Critical Hubei Yangzhong Jushi Information Technology Co ltd
Priority to CN202110802174.XA priority Critical patent/CN113434280A/zh
Publication of CN113434280A publication Critical patent/CN113434280A/zh
Pending legal-status Critical Current

Links

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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

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

本发明涉及调度***技术领域,公开了基于时间动态调整调度间隔的方法,包括以下步骤:S1、启动调度***,设置时间间隔;S2、运行调度***;S3、处理调度任务;S4、重复S2~S3步骤,确定调度间隔。本发明通过设置调度***调度任务的最大和最小时间间隔,且每个调度任务均以最小时间间隔作为调度时间,当任务被成功处理后,向***返回一个处理成功的标识,将一些需要外部条件依赖的任务逐渐拉长调度间隔,反之向***返回一个处理失败的标识,从而可以将一些满足外部条件依赖的任务逐渐缩短调度间隔,来提升调度***整体资源的最大化利用,同时避免任务的过长调度时间等待,且具有高度稳定性。

Description

基于时间动态调整调度间隔的方法
技术领域
本发明涉及调度***技术领域,具体是基于时间动态调整调度间隔的方法。
背景技术
在任务调度***中,任务的调度策略基本遵循一个固定的规律,比如一定的时间间隔,cpu抢占式分配等,在每个任务的调度策略被满足后被调度***分配到调度资源如cpu、内存等时,任务会开始执行。
但对于部分任务,它的任务除了依赖调度***分配的调度资源,还依赖一些外部条件;比如一个任务主要是监听是否有数据,如果有就继续执行,没有就终止执行;传统调度策略若采用固定规律进行调度会出现一定的资源空耗;即调度***给任务分配了调度资源,但由于外部条件不满足,导致任务又被终止运行;对于现有技术存在的这个资源空耗的问题,当此类因为外部条件不满足而导致任务空转的任务数非常多时,会造成调度***大量调度资源被白白浪费。
现如今,信息时代各类硬件资源虽然一定程度上是足够的,但我们也应该避免这类资源的无用消耗,导致应用程序在出现突发情况时没有足够的资源去利用从而造成***卡顿,超时甚至宕机等严重问题。
发明内容
本发明的目的在于提供基于时间动态调整调度间隔的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
基于时间动态调整调度间隔的方法,包括以下步骤:
S1、启动调度***,设置调度***调度任务的最大和最小时间间隔,并初始化***对所有任务的调度时间为最小时间间隔;
S2、在步骤S1的基础上,运行***;
S3、每个任务均以最小时间间隔作为调度时间,若任务被成功处理,向***返回一个处理成功的标识,来告诉调度***,减半当前任务的下次调度时间,但不能小于最小调度时间,若任务在最小时间间隔内,减半又不能少于最低时间间隔,即以最小时间间隔调度;若任务未被成功处理,向***返回一个处理失败的标识,***加倍当前任务的下次调度时间间隔,但不能大于最大调度时间间隔;
S4、重复S2~S3步骤,每个任务会逐渐根据外部条件的依赖稳定在一个固定范围波动的调度间隔中。
作为本发明再进一步的方案:所述S1步骤中的调度***中设置有调度器和反调度器,所述调度器负责根据当前的状态做出正确的调度决策,所述反调度器根据当前的状态移除错误的调度决策,降低***中的熵,让调度器根据当前的状态重新决策。
作为本发明再进一步的方案:所述调度***采用多个调度器调度任务,多个所述调度器的调度范式包括工作分享和工作窃取。
作为本发明再进一步的方案:在所述调度工作分享中,当某个调度器创建了新任务时,其会将一部分任务分给其他调度器;在所述工作窃取中,当某个调度器的资源没有被充分利用时,其会从其他调度器中窃取一些待分配的任务。
作为本发明再进一步的方案:所述调度器由用于收集状态的状态模块和用于做出决策的决策模块组成;所述状态模块用于从不同途径收集尽可能多的信息为调度提供丰富的上下文;所述决策模块用于根据状态模块收集的上下文和调度任务的规格做出调度决策。
作为本发明再进一步的方案:述调度器在调度任务时通过以下步骤为任务调度合适的资源:
S11、通过优先级、任务创建时间等信息确定不同任务的调度顺序;
S12、通过过滤和打分两个阶段为任务选择合适的资源;
S13、当资源不满足条件时,选择牺牲的抢占对象。
作为本发明再进一步的方案:所述S1步骤中的调度***中的调度任务由时钟中断和定时器驱动。
作为本发明再进一步的方案:所述时钟中断的初始化包括硬件中断和软件中断的初始化,所述硬件中断的初始化包括外部中断和内部中断的初始化。
作为本发明再进一步的方案:所述调度***采用start_kernel函数调用sched_init进入调度任务的初始化,所述start_kernel函数用于更进一步地初始化***相关的内容,以便调度***进入服务状态,提供各种API调用的服务。
与现有技术相比,本发明的有益效果:
本发明通过设置调度***调度任务的最大和最小时间间隔,且每个调度任务均以最小时间间隔作为调度时间,当任务被成功处理后,向***返回一个处理成功的标识,将一些需要外部条件依赖的任务逐渐拉长调度间隔,反之向***返回一个处理失败的标识,从而可以将一些满足外部条件依赖的任务逐渐缩短调度间隔,来提升调度***整体资源的最大化利用,同时避免任务的过长调度时间等待,且具有高度稳定性。
具体实施方式
本发明实施例中,基于时间动态调整调度间隔的方法,包括以下步骤:
S1、启动调度***,设置调度***调度任务的最大和最小时间间隔,并初始化***对所有任务的调度时间为最小时间间隔;
S2、在步骤S1的基础上,运行***;
S3、每个任务均以最小时间间隔作为调度时间,若任务被成功处理,向***返回一个处理成功的标识,来告诉调度***,减半当前任务的下次调度时间,但不能小于最小调度时间,若任务在最小时间间隔内,减半又不能少于最低时间间隔,即以最小时间间隔调度;若任务未被成功处理,向***返回一个处理失败的标识,***加倍当前任务的下次调度时间间隔,但不能大于最大调度时间间隔;
S4、重复S2~S3步骤,每个任务会逐渐根据外部条件的依赖稳定在一个固定范围波动的调度间隔中。
优选的,S1步骤中的调度***中设置有调度器和反调度器,调度器负责根据当前的状态做出正确的调度决策,反调度器根据当前的状态移除错误的调度决策,降低***中的熵,让调度器根据当前的状态重新决策。
优选的,调度***采用多个调度器调度任务,多个调度器的调度范式包括工作分享和工作窃取。
优选的,在调度工作分享中,当某个调度器创建了新任务时,其会将一部分任务分给其他调度器;在工作窃取中,当某个调度器的资源没有被充分利用时,其会从其他调度器中窃取一些待分配的任务,工作窃取只会在当前调度器的资源没有被充分利用时才会触发,因此,工作窃取引入的额外开销更小。
优选的,调度器由用于收集状态的状态模块和用于做出决策的决策模块组成;状态模块用于从不同途径收集尽可能多的信息为调度提供丰富的上下文,其中可能包括资源的属性、利用率和可用性等信息,根据场景的不同,上下文可能需要存储在 MySQL 等持久存储中,一般也会在内存中缓存一份以减少调度器访问上下文的开销;决策模块用于根据状态模块收集的上下文和调度任务的规格做出调度决策,需要注意的是做出的调度决策只是在当下有效,在未来某个时间点,状态的改变可能会导致之前做的决策不符合任务的需求,例如:当我们使用 Kubernetes 调度器将工作负载调度到某些节点上,这些节点可能由于网络问题突然不可用,该节点上的工作负载也就不能正常工作,即调度决策失效。
优选的,调度器在调度任务时通过以下步骤为任务调度合适的资源:
S11、通过优先级、任务创建时间等信息确定不同任务的调度顺序;
S12、通过过滤和打分两个阶段为任务选择合适的资源;
S13、当资源不满足条件时,选择牺牲的抢占对象。
优选的,S1步骤中的调度***中的调度任务由时钟中断和定时器驱动。
优选的,时钟中断的初始化包括硬件中断和软件中断的初始化,硬件中断的初始化包括外部中断和内部中断的初始化。
优选的,调度***采用start_kernel函数调用sched_init进入调度任务的初始化,start_kernel函数用于更进一步地初始化***相关的内容,以便调度***进入服务状态,提供各种API调用的服务。
以上的,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (9)

1.基于时间动态调整调度间隔的方法,其特征在于,包括以下步骤:
S1、启动调度***,设置调度***调度任务的最大和最小时间间隔,并初始化***对所有任务的调度时间为最小时间间隔;
S2、在步骤S1的基础上,运行***;
S3、每个任务均以最小时间间隔作为调度时间,若任务被成功处理,向***返回一个处理成功的标识,来告诉调度***,减半当前任务的下次调度时间,但不能小于最小调度时间,若任务在最小时间间隔内,减半又不能少于最低时间间隔,即以最小时间间隔调度;若任务未被成功处理,向***返回一个处理失败的标识,***加倍当前任务的下次调度时间间隔,但不能大于最大调度时间间隔;
S4、重复S2~S3步骤,每个任务会逐渐根据外部条件的依赖稳定在一个固定范围波动的调度间隔中。
2.根据权利要求1所述的基于时间动态调整调度间隔的方法,其特征在于,所述S1步骤中的调度***中设置有调度器和反调度器,所述调度器负责根据当前的状态做出正确的调度决策,所述反调度器根据当前的状态移除错误的调度决策,降低***中的熵,让调度器根据当前的状态重新决策。
3.根据权利要求2所述的基于时间动态调整调度间隔的方法,其特征在于,所述调度***采用多个调度器调度任务,多个所述调度器的调度范式包括工作分享和工作窃取。
4.根据权利要求3所述的基于时间动态调整调度间隔的方法,其特征在于,在所述调度工作分享中,当某个调度器创建了新任务时,其会将一部分任务分给其他调度器;在所述工作窃取中,当某个调度器的资源没有被充分利用时,其会从其他调度器中窃取一些待分配的任务。
5.根据权利要求2所述的基于时间动态调整调度间隔的方法,其特征在于,所述调度器由用于收集状态的状态模块和用于做出决策的决策模块组成;所述状态模块用于从不同途径收集尽可能多的信息为调度提供丰富的上下文;所述决策模块用于根据状态模块收集的上下文和调度任务的规格做出调度决策。
6.根据权利要求2所述的基于时间动态调整调度间隔的方法,其特征在于,所述调度器在调度任务时通过以下步骤为任务调度合适的资源:
S11、通过优先级、任务创建时间等信息确定不同任务的调度顺序;
S12、通过过滤和打分两个阶段为任务选择合适的资源;
S13、当资源不满足条件时,选择牺牲的抢占对象。
7.根据权利要求1所述的基于时间动态调整调度间隔的方法,其特征在于,所述S1步骤中的调度***中的调度任务由时钟中断和定时器驱动。
8.根据权利要求7所述的基于时间动态调整调度间隔的方法,其特征在于,所述时钟中断的初始化包括硬件中断和软件中断的初始化,所述硬件中断的初始化包括外部中断和内部中断的初始化。
9.根据权利要求1所述的基于时间动态调整调度间隔的方法,其特征在于,所述调度***采用start_kernel函数调用sched_init进入调度任务的初始化,所述start_kernel函数用于更进一步地初始化***相关的内容,以便调度***进入服务状态,提供各种API调用的服务。
CN202110802174.XA 2021-07-15 2021-07-15 基于时间动态调整调度间隔的方法 Pending CN113434280A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110802174.XA CN113434280A (zh) 2021-07-15 2021-07-15 基于时间动态调整调度间隔的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110802174.XA CN113434280A (zh) 2021-07-15 2021-07-15 基于时间动态调整调度间隔的方法

Publications (1)

Publication Number Publication Date
CN113434280A true CN113434280A (zh) 2021-09-24

Family

ID=77760645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110802174.XA Pending CN113434280A (zh) 2021-07-15 2021-07-15 基于时间动态调整调度间隔的方法

Country Status (1)

Country Link
CN (1) CN113434280A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024072932A1 (en) * 2022-09-30 2024-04-04 Advanced Micro Devices, Inc. Hierarchical work scheduling

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766347B1 (en) * 1997-05-28 2004-07-20 Advanced Micro Devices, Inc. System and method for providing a remote user with a virtual presence to an office
WO2005125124A1 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics, N.V. Scheduling by a fraction of remaining time to be allocated over remaining service interval
CN102833034A (zh) * 2011-06-16 2012-12-19 中兴通讯股份有限公司 确定调制编码方式的方法及装置
EP2664989A1 (en) * 2012-05-14 2013-11-20 Alcatel-Lucent Task scheduling
CN104396335A (zh) * 2013-06-17 2015-03-04 英特尔公司 用于无线通信***的改进的冲突避免技术
US20150143381A1 (en) * 2013-11-20 2015-05-21 International Business Machines Corporation Computing session workload scheduling and management of parent-child tasks
US20170078049A1 (en) * 2015-09-14 2017-03-16 Amazon Technologies, Inc. Freshness-sensitive message delivery
CN106777009A (zh) * 2016-12-07 2017-05-31 北京奇虎科技有限公司 智能设备及任务计划执行控制方法和装置
CN106851839A (zh) * 2017-03-14 2017-06-13 北京佰才邦技术有限公司 帧结构确定方法和基站
CN106980533A (zh) * 2016-01-18 2017-07-25 杭州海康威视数字技术股份有限公司 基于异构处理器的任务调度方法、装置及电子设备
CN110915154A (zh) * 2017-07-26 2020-03-24 高通股份有限公司 针对控制信道的专用信道状态信息报告
US20210132996A1 (en) * 2019-10-30 2021-05-06 International Business Machines Corporation Dynamic determination of memory requirements for function as a service multi-invocation flows

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766347B1 (en) * 1997-05-28 2004-07-20 Advanced Micro Devices, Inc. System and method for providing a remote user with a virtual presence to an office
WO2005125124A1 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics, N.V. Scheduling by a fraction of remaining time to be allocated over remaining service interval
CN102833034A (zh) * 2011-06-16 2012-12-19 中兴通讯股份有限公司 确定调制编码方式的方法及装置
EP2664989A1 (en) * 2012-05-14 2013-11-20 Alcatel-Lucent Task scheduling
CN104396335A (zh) * 2013-06-17 2015-03-04 英特尔公司 用于无线通信***的改进的冲突避免技术
US20150143381A1 (en) * 2013-11-20 2015-05-21 International Business Machines Corporation Computing session workload scheduling and management of parent-child tasks
US20170078049A1 (en) * 2015-09-14 2017-03-16 Amazon Technologies, Inc. Freshness-sensitive message delivery
CN106980533A (zh) * 2016-01-18 2017-07-25 杭州海康威视数字技术股份有限公司 基于异构处理器的任务调度方法、装置及电子设备
CN106777009A (zh) * 2016-12-07 2017-05-31 北京奇虎科技有限公司 智能设备及任务计划执行控制方法和装置
CN106851839A (zh) * 2017-03-14 2017-06-13 北京佰才邦技术有限公司 帧结构确定方法和基站
CN110915154A (zh) * 2017-07-26 2020-03-24 高通股份有限公司 针对控制信道的专用信道状态信息报告
US20210132996A1 (en) * 2019-10-30 2021-05-06 International Business Machines Corporation Dynamic determination of memory requirements for function as a service multi-invocation flows

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
(澳)阿申登著: "《VHDL嵌入式数字***设计教程[M]》", 31 December 2011, 北京:北京航空航天大学出版社, pages: 341 *
DRAVENESS: "调度***设计精要", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/106397774》, 12 February 2020 (2020-02-12), pages 2 - 3 *
何宏著: "《微型计算机原理与接口技术[M]》", 31 December 2009, 西安:西安电子科技大学出版社, pages: 154 *
杨铸 等: "《构建嵌入式Linux核心软件***实战 工程师经验手记[M]》", 31 December 2013, 北京:北京航空航天大学出版社, pages: 161 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024072932A1 (en) * 2022-09-30 2024-04-04 Advanced Micro Devices, Inc. Hierarchical work scheduling

Similar Documents

Publication Publication Date Title
CN108762896B (zh) 一种基于Hadoop集群任务调度方法及计算机设备
CN109582455B (zh) 多线程任务处理方法、装置及存储介质
JP4261543B2 (ja) 動作不能なマスタ作業負荷管理プロセスを代替するシステムおよび方法
US8695004B2 (en) Method for distributing computing time in a computer system
US6366945B1 (en) Flexible dynamic partitioning of resources in a cluster computing environment
CN109582447B (zh) 计算资源分配方法、任务处理方法及装置
Zhu et al. QoS-aware fault-tolerant scheduling for real-time tasks on heterogeneous clusters
WO2022007594A1 (zh) 分布式任务调度的方法及***
CN109564528B (zh) 分布式计算中计算资源分配的***和方法
US20110302587A1 (en) Information processing device and information processing method
CN104102548A (zh) 任务资源调度处理方法和***
JP2008186136A (ja) 計算機システム
US6721948B1 (en) Method for managing shared tasks in a multi-tasking data processing system
US10733024B2 (en) Task packing scheduling process for long running applications
WO2023115931A1 (zh) 大数据组件参数调整方法、装置、电子设备及存储介质
CN111459681B (zh) 一种基于微服务负载的动态弹性伸缩方法
CN113434280A (zh) 基于时间动态调整调度间隔的方法
EP3084603B1 (en) System and method for supporting adaptive busy wait in a computing environment
Nicodemus et al. Managing vertical memory elasticity in containers
CN111104218B (zh) 存储***数据同步方法、装置、设备及可读存储介质
CN114461353A (zh) 调整线程优先级的方法、终端及计算机可读存储介质
Horowitz A run-time execution model for referential integrity maintenance
CN109189581B (zh) 一种作业调度方法和装置
CN113515356B (zh) 一种轻量级分布式资源管理与任务调度器及方法
CN110647393A (zh) 一种弹性进程管理***及方法

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