CN116737347B - 一种任务调度控制方法 - Google Patents

一种任务调度控制方法 Download PDF

Info

Publication number
CN116737347B
CN116737347B CN202311015891.3A CN202311015891A CN116737347B CN 116737347 B CN116737347 B CN 116737347B CN 202311015891 A CN202311015891 A CN 202311015891A CN 116737347 B CN116737347 B CN 116737347B
Authority
CN
China
Prior art keywords
task
processor
processed
current
scheduling
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
CN202311015891.3A
Other languages
English (en)
Other versions
CN116737347A (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.)
Nanjing Yihui Information Technology Co ltd
Original Assignee
Nanjing Yihui 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 Nanjing Yihui Information Technology Co ltd filed Critical Nanjing Yihui Information Technology Co ltd
Priority to CN202311015891.3A priority Critical patent/CN116737347B/zh
Publication of CN116737347A publication Critical patent/CN116737347A/zh
Application granted granted Critical
Publication of CN116737347B publication Critical patent/CN116737347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

本发明提供一种任务调度控制方法,其特征在于:包括以下步骤:1)检测当前待处理任务的需求;2)判断当前处理器是否为超线程处理器;3)根据步骤1)和步骤2)的判断结果对当前待处理任务进行第一调度步骤;4)判断剩余待处理任务与处理器提供的算力之间的供需关系;5)根据供需关系对当前待处理任务进行第二调度步骤;在具有不同算力的大小核的超线程处理器上,实现算力可动态感知的调度算法,并且具有实时调度特性,使得嵌入式领域可以充分发挥具有大小核超线程算力的处理器能力,适于应用在更多大型复杂的实时应用场景,在超线程提升系统运行性能的同时,又可以利用大小核对系统能耗进行优化。

Description

一种任务调度控制方法
技术领域
本发明涉及超线程处理器的技术领域,具体涉及一种任务调度控制方法。
背景技术
超线程处理器,又名同步多线程处理器,其英文简称为SMT,它可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或缓存未命中带来的访问内存延时。它可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间,已得到广泛运用。
但目前超线程处理器更多在通用操作系统中得以适配,尤其是桌面操作系统上实现,并不具有动态算力感知的调度算法。在嵌入式领域,更是缺乏可以适配基于大小核超线程处理器的动态感知算力的实时调度算法,使得此类超线程处理器不能在嵌入式领域充分发挥其算力优化的特性。
因此,亟需提供一种任务调度控制方法以解决上述现有技术中存在的缺陷与不足。
发明内容
为了解决现有技术中存在的缺陷与不足,本发明提供了一种任务调度控制方法。
本发明提供的具体方案为:
一种任务调度控制方法,其特征在于:包括以下步骤:
1)检测当前待处理任务的需求;
2)判断当前处理器是否为超线程处理器;
3)根据步骤1)和步骤2)的判断结果对当前待处理任务进行第一调度步骤;
4)判断剩余待处理任务与处理器提供的算力之间的供需关系;
5)根据供需关系对当前待处理任务进行第二调度步骤。
作为本发明的进一步优选实施方式,所述步骤1)中,检测当前待处理任务的需求包括:判断当前待处理任务是否存在实时性需求。
作为本发明的进一步优选实施方式,所述步骤2)中,根据处理器的拓扑结构判断当前处理器是否为超线程处理器。
作为本发明的进一步优选实施方式,所述步骤3)中,当判断当前待处理任务存在实时性需求,且判断当前处理器为超线程处理器时,对当前待处理任务进行第一调度步骤。
作为本发明的进一步优选实施方式,所述步骤3)中,所述第一调度步骤的过程包括:相比于逻辑核处理器,将待处理任务优先调度到物理核处理器上运行。
作为本发明的进一步优选实施方式,所述步骤4)中,判断剩余待处理任务与逻辑核处理器提供的算力之间的供需关系。
作为本发明的进一步优选实施方式,所述步骤4)中,逻辑核处理器根据算力的不同被分类至不同的算力簇中;根据当前算力簇中的处理器提供的算力与待处理任务的算力需求的供需关系,对当前待处理任务进行第二调度步骤。
作为本发明的进一步优选实施方式,所述步骤5)中,所述第二调度步骤的过程包括:
若当前算力簇中的处理器提供的算力不能满足待处理任务的算力需求时,对当前待处理任务中的最大算力需求任务调度至更高算力簇的处理器中;
若当前算力簇中的处理器提供的算力能够满足待处理任务的算力需求时,对当前待处理任务中的最小算力需求任务调度至更低算力簇的处理器中。
作为本发明的进一步优选实施方式,所述第二调度步骤的过程中,优先将待处理任务调度至与当前算力簇相邻的算力簇内部的处理器中。
作为本发明的进一步优选实施方式,所述第二调度步骤的过程中,优先将待处理任务调度至已运行过任务的处理器中。
相较于现有技术,本发明能够实现的技术效果包括:
1)本发明提供一种任务调度控制方法,在具有不同算力的大小核的超线程处理器上,实现算力可动态感知的调度算法,并且具有实时调度特性,使得嵌入式领域可以充分发挥具有大小核超线程算力的处理器能力,适于应用在更多大型复杂的实时应用场景,在超线程提升系统运行性能的同时,又可以利用大小核对系统能耗进行优化。
2)本发明提供一种任务调度控制方法,对于有实时性需求的待处理任务可以让其独占超线程处理器中的一个物理核,以满足关键任务实时性要求,同时又能充分发挥处理器的算力。
3)本发明提供一种任务调度控制方法,在同时拥有不同算力的大小核的超线程处理器上可以通过算力感知方式,通过待处理任务所需算力与处理可提供算力之间的供需关系的判断结果对待处理任务进行动态迁移,提高不同算力处理器的运用效率。
附图说明
如图1所示为本发明的步骤流程图。
如图2所示为本发明所提供的具体实例中处理器的拓扑结构数据图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[第一实施例]
如图1所示为本发明提供的第一实施例,本实施例中提供一种任务调度控制方法,其特征在于:包括以下步骤:
1)检测当前待处理任务的需求;检测当前待处理任务的需求包括:判断当前待处理任务是否存在实时性需求,由于关键任务对于实时性往往有特殊要求,因此需要对其进行优先满足。
2)判断当前处理器是否为超线程处理器;因为超线程处理器的多个逻辑核部分资源共享,所以如果多个实时任务在同一个物理核中的两个逻辑核上调度时,会导致待处理任务的实时性下降,因而不符合关键任务对于实时性的特殊要求。
在本实施例中,可以根据处理器的拓扑结构判断当前处理器是否为超线程处理器。如图2所示,以 Intel(R) Core(TM) i7-9750H处理器为例,在该图上显示有两个 app线程分别在拥有4物理核即8逻辑核上运行,以及在拥有5个物理核即10个逻辑核上运行,操作系统可自动探测出该处理器共拥有0~5共六个处理器物理核,每个物理核心包含两个逻辑处理器核心。
3)根据步骤1)和步骤2)的判断结果对当前待处理任务进行第一调度步骤;具体为:当判断当前待处理任务存在实时性需求,且判断当前处理器为超线程处理器时,对当前待处理任务进行第一调度步骤,本实施例中的第一调度步骤的过程包括:相比于逻辑核处理器,将待处理任务优先调度到物理核处理器上运行。对于有实时性需求的任务可以让其独占超线程处理器中的一个物理核,以满足关键任务的实时性要求,同时又能充分发挥处理器的算力。
4)判断剩余待处理任务与处理器提供的算力之间的供需关系;由于物理核需要优先为有实时性需求的关键任务预留,因此此处需要判断剩余待处理任务与逻辑核处理器提供的算力之间的供需关系。
在本实施例中,逻辑核处理器根据算力的不同被分类至不同的算力簇中;根据当前算力簇中的处理器提供的算力与待处理任务的算力需求的供需关系,对当前待处理任务进行第二调度步骤。
5)根据供需关系对当前待处理任务进行第二调度步骤。
在本实施例中,第二调度步骤的过程具体包括:
若当前算力簇中的处理器提供的算力不能满足待处理任务的算力需求时,对当前待处理任务中的最大算力需求任务调度至更高算力簇的处理器中;此时说明当前算力簇提供的算力不足,无法满足当前待处理任务的算力需求,因此需要更高算力簇的处理器协助处理任务,以提高运算效率。
若当前算力簇中的处理器提供的算力能够满足待处理任务的算力需求时,对当前待处理任务中的最小算力需求任务调度至更低算力簇的处理器中,此时说明当前算力簇提供的算力过剩,能够满足当前待处理任务的算力需求,因此可以引入相对更低的算力簇的处理器协助处理任务,以节约高算力簇处理器。
作为本实施例的进一步优选实施方式,在第二调度步骤的过程中,优先将待处理任务调度至与当前算力簇相邻的算力簇内部的处理器中,通过采用在不同算力簇之间通过逐级迁移方式,可以避免待处理任务在不同的大小核处理器之间迁移过程中出现的多算力颠簸,尽量保证处理器核心的缓存热度,进而保证处理器整体运算性能稳定。
在此基础上,也可以优先将待处理任务调度至已运行过任务的处理器中,通过将待处理任务迁移至相邻周期内已运行过任务的算力簇内部的处理器中,这样使得之前运行过待处理任务的算力簇中的不同算力的大小核处理器能够抢到待处理任务的几率更高,可以减少缓存缺失的次数,从而进一步保证处理器热度。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (5)

1.一种任务调度控制方法,其特征在于:包括以下步骤:
1)检测当前待处理任务的需求;
2)判断当前处理器是否为超线程处理器;
3)根据步骤1)和步骤2)的判断结果对当前待处理任务进行第一调度步骤;
4)判断剩余待处理任务与处理器提供的算力之间的供需关系;
5)根据供需关系对当前待处理任务进行第二调度步骤;
所述步骤1)中,检测当前待处理任务的需求包括:判断当前待处理任务是否存在实时性需求;
所述步骤3)中,当判断当前待处理任务存在实时性需求,且判断当前处理器为超线程处理器时,对当前待处理任务进行第一调度步骤;
所述第一调度步骤的过程包括:相比于逻辑核处理器,将待处理任务优先调度到物理核处理器上运行;
所述步骤4)中,逻辑核处理器根据算力的不同被分类至不同的算力簇中;根据当前算力簇中的处理器提供的算力与待处理任务的算力需求的供需关系,对当前待处理任务进行第二调度步骤;
所述第二调度步骤的过程包括:
若当前算力簇中的处理器提供的算力不能满足待处理任务的算力需求时,对当前待处理任务中的最大算力需求任务调度至更高算力簇的处理器中;
若当前算力簇中的处理器提供的算力能够满足待处理任务的算力需求时,对当前待处理任务中的最小算力需求任务调度至更低算力簇的处理器中。
2.根据权利要求1所述的一种任务调度控制方法,其特征在于:所述步骤2)中,根据处理器的拓扑结构判断当前处理器是否为超线程处理器。
3.根据权利要求1所述的一种任务调度控制方法,其特征在于:所述步骤4)中,判断剩余待处理任务与逻辑核处理器提供的算力之间的供需关系。
4.根据权利要求1所述的一种任务调度控制方法,其特征在于:所述步骤5)中,所述第二调度步骤的过程中,优先将待处理任务调度至与当前算力簇相邻的算力簇内部的处理器中。
5.根据权利要求4所述的一种任务调度控制方法,其特征在于:所述步骤5)中,所述第二调度步骤的过程中,优先将待处理任务调度至已运行过任务的处理器中。
CN202311015891.3A 2023-08-14 2023-08-14 一种任务调度控制方法 Active CN116737347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311015891.3A CN116737347B (zh) 2023-08-14 2023-08-14 一种任务调度控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311015891.3A CN116737347B (zh) 2023-08-14 2023-08-14 一种任务调度控制方法

Publications (2)

Publication Number Publication Date
CN116737347A CN116737347A (zh) 2023-09-12
CN116737347B true CN116737347B (zh) 2023-10-13

Family

ID=87906445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311015891.3A Active CN116737347B (zh) 2023-08-14 2023-08-14 一种任务调度控制方法

Country Status (1)

Country Link
CN (1) CN116737347B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968751A (zh) * 2004-02-04 2011-02-09 英特尔公司 共享已空闲的处理器执行资源
CN114968500A (zh) * 2021-02-19 2022-08-30 腾讯科技(深圳)有限公司 一种任务调度方法、装置、设备及存储介质
CN115269132A (zh) * 2021-04-30 2022-11-01 慧与发展有限责任合伙企业 处理单元的工作调度

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802831B2 (en) * 2017-06-30 2020-10-13 Sap Se Managing parallel processing
DE102020134681A1 (de) * 2020-01-31 2021-08-05 Intel Corporation Vorrichtungen, verfahren und systeme für anweisungen zum anfordern eines verlaufs-resets eines prozessorkerns

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968751A (zh) * 2004-02-04 2011-02-09 英特尔公司 共享已空闲的处理器执行资源
CN114968500A (zh) * 2021-02-19 2022-08-30 腾讯科技(深圳)有限公司 一种任务调度方法、装置、设备及存储介质
CN115269132A (zh) * 2021-04-30 2022-11-01 慧与发展有限责任合伙企业 处理单元的工作调度

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Emad Albassam等.Experimental Analysis of Real-Time Multitasking on Multicore Systems.《2014 IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing》.2014,第72-75页. *
吴烨等 .面向多核处理器的空间数据库索引性能分析.《计算机科学与探索》.2011,第707-718页. *

Also Published As

Publication number Publication date
CN116737347A (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN108664116B (zh) 网络功能虚拟化的自适应省电方法、装置及cpu控制器
CN113535409B (zh) 一种面向能耗优化的无服务器计算资源分配系统
US20120297216A1 (en) Dynamically selecting active polling or timed waits
CN103037109B (zh) 多核设备能耗管理方法及装置
CN113672383A (zh) 一种云计算资源调度方法、系统、终端以及存储介质
CN109857574B (zh) 一种低能耗集群环境下可超载负载感知的服务质量提升方法
CN103888501A (zh) 虚拟机迁移方法和装置
CN106897133B (zh) 一种基于pbs作业调度管理集群负载的实现方法
US20130080809A1 (en) Server system and power managing method thereof
CN114048006A (zh) 虚拟机动态迁移方法、装置以及存储介质
CN109597378A (zh) 一种资源受限混合任务能耗感知方法
Jin et al. A virtual machine scheduling strategy with a speed switch and a multi-sleep mode in cloud data centers
CN116737347B (zh) 一种任务调度控制方法
JP2007172322A (ja) 分散処理型マルチプロセッサシステム、制御方法、マルチプロセッサ割り込み制御装置及びプログラム
CN107197013B (zh) 一种增强云计算环境节能系统
CN110850957B (zh) 一种边缘计算场景下通过休眠降低系统功耗的调度方法
CN109144664B (zh) 一种基于用户服务质量需求差异的虚拟机动态迁移方法
CN116132369A (zh) 云网关服务器中多网口的流量分发方法及相关设备
CN114860449A (zh) 数据处理方法、装置、设备和存储介质
Enokido et al. An energy-efficient process replication algorithm based on the active time of cores
KR102468286B1 (ko) 대칭형 다중 처리 시스템에서의 전력 제한 장치 및 방법
CN114741200A (zh) 面向数据中台的计算资源分配方法、装置及电子设备
CN107193362B (zh) 一种增强云计算环境节能装置
Enokido et al. An energy-efficient load balancing algorithm to perform computation type application processes for virtual machine environments
Shah et al. Phase level energy aware map reduce scheduling for big data applications

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