CN106371914A - 一种基于负载强度的多核任务调度方法及系统 - Google Patents
一种基于负载强度的多核任务调度方法及系统 Download PDFInfo
- Publication number
- CN106371914A CN106371914A CN201510439041.5A CN201510439041A CN106371914A CN 106371914 A CN106371914 A CN 106371914A CN 201510439041 A CN201510439041 A CN 201510439041A CN 106371914 A CN106371914 A CN 106371914A
- Authority
- CN
- China
- Prior art keywords
- load
- processing core
- intensity
- task
- value
- 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
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Multi Processors (AREA)
- Power Sources (AREA)
Abstract
本发明提供了一种基于负载强度的多核任务调度方法,所述方法包括:对多核处理器的负载参数进行初始化;在每个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;当任务队列中有新任务到达时,根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心。本发明的方法基于负载强度实现了多核处理器的任务调度,改善了多核处理器的资源利用率和能效。
Description
技术领域
本发明涉及多核处理网络技术,具体涉及一种基于负载强度的多核任务调度方法及系统。
背景技术
随着芯片制造工艺的发展,传统的单核处理器体系结构的晶体管集成度已面临瓶颈,很难简单地通过提高主频来提升性能,主频的提高也会相应带来功耗的提高,因此,多核处理器应运而生。多核处理器通过将多个主频较低的处理核心封装在同一颗处理器中来提高计算能力。每个处理核心实质上都是一个相对简单的单线程微处理器或者比较简单的多线程微处理器,这样多个处理核心就可以并行地执行程序代码,因而具有了较高的线程级并行性。由于多核处理器采用简单的微处理器作为处理核心,使得多核处理器具有高主频、控制逻辑简单、扩展性好等优点。
但是,多核处理器在实际应用中会面临负载强度变化下资源动态管理的问题,如果没有基于负载强度的任务调度方法,可能出现负载较重的处理核心产生处理延迟导致性能下降、以及负载较轻的处理核心占用资源导致能效降低等情况。
发明内容
本发明的目的在于克服目前在多核处理器应用中由于缺乏有效的任务调度方法导致的处理延迟和资源浪费的缺陷,提出了一种基于负载强度的多核任务调度方法,该方法在负载统计周期内对每个核心的负载状态进行标记,根据负载状态值选择处理任务的核心,从而提高了任务的处理效率。
为了实现上述目的,本发明提供了一种基于负载强度的多核任务调度方法,所述方法包括:对多核处理器的负载参数进行初始化;在每个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;当任务队列中有新任务到达时,根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心。
上述技术方案中,所述方法具体包括:
步骤1)对多核处理器的负载参数进行初始化;令k=1;
所述负载参数包括:负载统计周期、满负载阈值和休眠时间阈值;
步骤2)在第k个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;
步骤3)判断任务队列中是否有新任务达到,如果判断结果是肯定的,转入步骤4),否则令k=k+1,转入步骤2);
步骤4)根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心;
步骤5)令k=k+1,转入步骤2)。
上述技术方案中,所述步骤2)的具体过程为:
在每个负载统计周期,将负载强度超过满负载阈值的满负载处理核心状态值标记成A,将负载强度不为满负载且不为零的处理核心的状态值标记成B,将负载强度为零的处理核心的状态值标记成C,如果状态值为C的处理核心的负载强度为0的时间大于休眠时间阈值,则将该处理核心置为休眠状态。
上述技术方案中,所述步骤4)具体包括:
步骤401)统计负载状态值为B的处理核心的个数,如果该个数大于零,则由状态值为B的负载强度最高的处理核心来处理新任务,转入步骤5);否则,转到步骤402);
步骤402)统计负载状态值为C的处理核心个数,如果该个数大于零,则唤醒任意一个状态值为C的处理核心来处理新任务,转入步骤5);否则,转到步骤403);
步骤403)不对该新任务进行处理,继续在任务队列等待。
基于上述基于负载强度的多核任务调度方法,本发明还提供了一种基于负载强度的多核任务调度系统,所述系统包括:
系统初始化模块:用于对多核处理器的负载参数进行初始化;
负载监控模块:用于在每个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;
任务调度模块:当任务队列中有新任务到达时,根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心。
本发明的优点在于:本发明的方法基于负载强度实现了多核处理器的任务调度,改善了多核处理器的资源利用率和能效。
附图说明
图1为本发明的基于负载强度的多核任务调度方法的流程图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
如图1所示,一种基于负载强度的多核任务调度方法,所述方法包括:
步骤1)对多核处理器的负载参数进行初始化;令k=1;
所述负载参数包括:负载统计周期、满负载阈值和休眠时间阈值。
步骤2)在第k个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;
在每个负载统计周期,将负载强度超过满负载阈值的满负载处理核心状态值标记成A,将负载强度不为满负载且不为零的处理核心的状态值标记成B,将负载强度为零的处理核心的状态值标记成C,如果状态值为C的处理核心的负载强度为0的时间大于休眠时间阈值,则将该处理核心置为休眠状态。
步骤3)判断任务队列中是否有新任务达到,如果判断结果是肯定的,转入步骤4),否则令k=k+1,转入步骤2);
步骤4)为新任务调度分配相应的处理核心;具体包括:
步骤401)统计负载状态值为B的处理核心的个数,如果该个数大于零,则由状态值为B的负载强度最高的处理核心来处理新任务,转入步骤5);否则,转到步骤402);
步骤402)统计负载状态值为C的处理核心个数,如果该个数大于零,则唤醒任意一个状态值为C的处理核心来处理新任务,转入步骤5);否则,转到步骤403);
步骤403)不对该新任务进行处理,继续在任务队列等待;
步骤5)令k=k+1,转入步骤2)。
基于上述方法,本发明还提供了一种基于负载强度的多核任务调度系统,所述系统包括:
系统初始化模块:用于对多核处理器的负载参数进行初始化;所述负载参数包括:负载统计周期、满负载阈值和休眠时间阈值;
负载监控模块:用于在每个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值:将负载强度超过满负载阈值的满负载处理核心状态值标记成A,将负载强度不为满负载且不为零的处理核心的状态值标记成B,将负载强度为零的处理核心的状态值标记成C,如果状态值为C的处理核心的负载强度为0的时间大于休眠时间阈值,则将该处理核心置为休眠状态。
任务调度模块:用于为新任务调度分配相应的处理核心:统计负载状态值为B的处理核心的个数,如果该个数大于零,则由状态值为B的负载强度最高的处理核心来处理新任务,否则,统计负载状态值为C的处理核心个数,如果该个数大于零,则唤醒任意一个状态值为C的处理核心来处理新任务,否则,不对该新任务进行处理,继续在任务队列等待;转入下一个负载统计周期。
Claims (5)
1.一种基于负载强度的多核任务调度方法,所述方法包括:对多核处理器的负载参数进行初始化;在每个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;当任务队列中有新任务到达时,根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心。
2.根据权利要求1所述的负载强度的多核任务调度方法,其特征在于,所述方法具体包括:
步骤1)对多核处理器的负载参数进行初始化;令k=1;
所述负载参数包括:负载统计周期、满负载阈值和休眠时间阈值;
步骤2)在第k个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;
步骤3)判断任务队列中是否有新任务达到,如果判断结果是肯定的,转入步骤4),否则令k=k+1,转入步骤2);
步骤4)根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心;
步骤5)令k=k+1,转入步骤2)。
3.根据权利要求2所述的负载强度的多核任务调度方法,其特征在于,所述步骤2)的具体过程为:
在每个负载统计周期,将负载强度超过满负载阈值的满负载处理核心状态值标记成A,将负载强度不为满负载且不为零的处理核心的状态值标记成B,将负载强度为零的处理核心的状态值标记成C,如果状态值为C的处理核心的负载强度为0的时间大于休眠时间阈值,则将该处理核心置为休眠状态。
4.根据权利要求3所述的负载强度的多核任务调度方法,其特征在于,所述步骤4)具体包括:
步骤401)统计负载状态值为B的处理核心的个数,如果该个数大于零,则由状态值为B的负载强度最高的处理核心来处理新任务,转入步骤5);否则,转到步骤402);
步骤402)统计负载状态值为C的处理核心个数,如果该个数大于零,则唤醒任意一个状态值为C的处理核心来处理新任务,转入步骤5);否则,转到步骤403);
步骤403)不对该新任务进行处理,继续在任务队列等待。
5.一种基于负载强度的多核任务调度系统,所述系统包括:
系统初始化模块:用于对多核处理器的负载参数进行初始化;
负载监控模块:用于在每个负载统计周期内,监测多核处理器中每个处理核心的负载强度,根据每个处理核心的负载强度为其标记负载状态值;
任务调度模块:当任务队列中有新任务到达时,根据每个处理核心的负载状态值,为新任务调度分配相应的处理核心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510439041.5A CN106371914A (zh) | 2015-07-23 | 2015-07-23 | 一种基于负载强度的多核任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510439041.5A CN106371914A (zh) | 2015-07-23 | 2015-07-23 | 一种基于负载强度的多核任务调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106371914A true CN106371914A (zh) | 2017-02-01 |
Family
ID=57880637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510439041.5A Pending CN106371914A (zh) | 2015-07-23 | 2015-07-23 | 一种基于负载强度的多核任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371914A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN109144691A (zh) * | 2018-07-13 | 2019-01-04 | 哈尔滨工程大学 | 一种面向多核处理器的任务调度分配方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
US20080168466A1 (en) * | 2005-09-29 | 2008-07-10 | Fujitsu Limited | Multi-core processor |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN102681902A (zh) * | 2012-05-15 | 2012-09-19 | 浙江大学 | 一种基于多核系统任务分配的负载均衡方法 |
CN103365718A (zh) * | 2013-06-28 | 2013-10-23 | 贵阳朗玛信息技术股份有限公司 | 一种线程调度方法、线程调度装置及多核处理器系统 |
-
2015
- 2015-07-23 CN CN201510439041.5A patent/CN106371914A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168466A1 (en) * | 2005-09-29 | 2008-07-10 | Fujitsu Limited | Multi-core processor |
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN102681902A (zh) * | 2012-05-15 | 2012-09-19 | 浙江大学 | 一种基于多核系统任务分配的负载均衡方法 |
CN103365718A (zh) * | 2013-06-28 | 2013-10-23 | 贵阳朗玛信息技术股份有限公司 | 一种线程调度方法、线程调度装置及多核处理器系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN109144691A (zh) * | 2018-07-13 | 2019-01-04 | 哈尔滨工程大学 | 一种面向多核处理器的任务调度分配方法 |
CN109144691B (zh) * | 2018-07-13 | 2021-08-20 | 哈尔滨工程大学 | 一种面向多核处理器的任务调度分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rizvandi et al. | Linear combinations of dvfs-enabled processor frequencies to modify the energy-aware scheduling algorithms | |
CN105893148B (zh) | 一种基于rm策略的偶发任务低能耗调度方法 | |
US20140013098A1 (en) | Thermal Profile Optimization Techniques | |
Changtian et al. | Energy-aware genetic algorithms for task scheduling in cloud computing | |
CN103914345B (zh) | 一种面向能量收集系统的嵌入式操作系统任务调度方法 | |
EP2887182A8 (en) | Rescheduling workloads to enforce and maintain a duty cycle | |
CN106445070B (zh) | 一种硬实时系统资源受限偶发任务能耗优化调度方法 | |
CN101894047A (zh) | 一种基于内核虚拟机调度策略的实现方法 | |
Zidenberg et al. | Multiamdahl: How should i divide my heterogenous chip? | |
TW200707170A (en) | Power management of multiple processors | |
CN108984292A (zh) | 混合关键系统固定优先级周期任务能耗优化方法 | |
CN105608049A (zh) | 智能终端的cpu控制方法及控制装置 | |
EP3376381A1 (en) | Resource management method and system, and computer storage medium | |
CN106371914A (zh) | 一种基于负载强度的多核任务调度方法及系统 | |
CN103810043A (zh) | 一种适用于数控系统周期任务的节能调度方法 | |
CN103336684A (zh) | 一种并发处理ap消息的ac及其处理方法 | |
CN109597378A (zh) | 一种资源受限混合任务能耗感知方法 | |
CN114661460A (zh) | 面向异构众核处理器的ai框架两级并行加速方法 | |
CN104102532B (zh) | 一种异构集群中基于低能耗的科学工作流调度方法 | |
CN101685335A (zh) | 基于seda的应用服务器及其节能装置和方法 | |
CN104978006B (zh) | 一种多线程模式下的低功耗空闲等待方法 | |
CN105260239B (zh) | 一种用于故障指示器功能性能均衡调度方法 | |
CN105677449B (zh) | 一种适用于数控系统的低功耗调度方法 | |
CN109656697A (zh) | 一种双模式资源受限周期任务能耗优化方法 | |
Ramírez et al. | Differences of energetic consumption between Java and JNI Android apps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170201 |
|
RJ01 | Rejection of invention patent application after publication |