CN102707996A - 一种异构多核处理器上的任务调度方法 - Google Patents
一种异构多核处理器上的任务调度方法 Download PDFInfo
- Publication number
- CN102707996A CN102707996A CN201210149055XA CN201210149055A CN102707996A CN 102707996 A CN102707996 A CN 102707996A CN 201210149055X A CN201210149055X A CN 201210149055XA CN 201210149055 A CN201210149055 A CN 201210149055A CN 102707996 A CN102707996 A CN 102707996A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- core
- task
- low
- low power
- 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
- Power Sources (AREA)
Abstract
本发明公开了一种异构多核处理器上的任务调度方法,包括以下步骤:设置应用任务的多核亲和度,将新应用任务总是在低功耗核上启动;进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;进行非法指令的异常处理,在非法指令的异常处理例程里,添加逻辑:如果当前发出非法指令异常的是低功耗核心,则将任务重新指派到高性能核心上;所述非法指令的异常是指低功耗核上运行高级计算指令。本发明所提供的一种异构多核处理器上的任务调度方法,能够将更多的任务调度到低功耗核上,从而更加省电。
Description
技术领域
本发明涉及一种异构多核处理器上的任务调度方法,属于计算机系统任务调用方法技术领域。
背景技术
异构的多核处理器是指处理器中各个核不完全一样。在手持设备上,异构的多核设计正在逐步兴起。
目前手持设备上的异构多核处理器由若干个正常处理器核搭配一个特别的低功耗处理器核构成。手持设备的一些后台任务被固定地指定到低功耗处理器核上,从而达到省电的目的。然而运行于低功耗核的任务是固定的,不能动态按需将更多任务分配到低功耗核上,从而削弱了省电效果。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种异构多核处理器上的任务调度方法,能够动态按需将更多任务调度到低功耗核上,从而具备更好的省电效果。
在本发明中,设定的异构多核处理器由两类核心组成:
低功耗核心:功耗较低,但性能相对较差的处理器核心;
高性能核心:功耗相对较高,但性能较高的处理器核心。
上述两种核心共同支持一个公有指令集。其中高性能核心将额外支持更多的高级计算指令。
将用户的应用尽可能地分配到低功耗核心上,来获得更好的省电效果。同时对不适合运行于低功耗核心的应用(或低功耗核心负荷较大时)调度到高性能核心,从而确保应用本身的流畅度。
由于低功耗核心的计算资源有限,因此不适合运行含有复杂计算工作的应用,例如视频编解码,图像编解码等。而含有复杂计算工作的应用通常会大量运用一些高级计算指令。
因此本发明依据是否使用高级计算指令,判断一个应用是否适合在低功耗核上运行。
对于具体的一个应用来讲,应用对应的程序在编译时刻指定参数来规定使用的指令集——不适合运行在低功耗核心的程序则使用包含高级计算指令的指令集。
技术方案:一种异构多核处理器上的任务调度方法,包括以下步骤:
第一步,设置应用任务的多核亲和度,将新应用任务总是在低功耗核上启动;
第二步,进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;
第三步,进行非法指令的异常处理,在非法指令的异常处理例程里,添加逻辑:如果当前发出非法指令异常的是低功耗核心,则将任务重新指派到高性能核心上;所述非法指令的异常是指低功耗核上运行高级计算指令。
有益效果:与现有技术相比,本发明所提供的一种异构多核处理器上的任务调度方法,能够将更多的任务调度到低功耗核上,从而更加省电。同时依据任务类型和处理器核负载来决定是否调度到高性能核,从而保证任务执行的效率。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本实施例基于Linux内核,借助标准处理器和Linux内核的已有机制,实现异构多核处理器上的任务调度方法:
第一步,在应用任务启动入口——exec系统调用中设置应用任务的多核亲和度,即通过函数sched_setaffinity()将新应用任务总是在低功耗核上启动;其中,exec系统调用是所有应用任务的启动入口。对应到Linux内核为do_execve()函数。
第二步,进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;该功能为Linux内核调度器已有实现。
第三步,进行非法指令的异常处理,本发明关注对非法指令异常的处理。非法指令异常为处理器的标准异常之一,即当处理器遇到无法识别的指令时,会中断正常的执行,跳转到一段指定的异常处理例程上。当低功耗核取到不支持的高级指令时,会抛出非法指令异常,在非法指令的异常处理例程里,添加逻辑:如果当前发出非法指令异常的是低功耗核心,则调用函数sched_setaffinity()将任务重新指派到高性能核心上。
Claims (2)
1.一种异构多核处理器上的任务调度方法,其特征在于,包括以下步骤:
第一步,设置应用任务的多核亲和度,将新应用任务总是在低功耗核上启动;
第二步,进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;
第三步,进行非法指令的异常处理,在非法指令的异常处理例程里,添加逻辑:如果当前发出非法指令异常的是低功耗核心,则将任务重新指派到高性能核心上。
2.如权利要求1所述的异构多核处理器上的任务调度方法,其特征在于:所述非法指令的异常是指低功耗核上运行高级计算指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210149055XA CN102707996A (zh) | 2012-05-15 | 2012-05-15 | 一种异构多核处理器上的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210149055XA CN102707996A (zh) | 2012-05-15 | 2012-05-15 | 一种异构多核处理器上的任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102707996A true CN102707996A (zh) | 2012-10-03 |
Family
ID=46900812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210149055XA Pending CN102707996A (zh) | 2012-05-15 | 2012-05-15 | 一种异构多核处理器上的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102707996A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646006A (zh) * | 2013-11-26 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种处理器的调度方法、装置和系统 |
CN103942103A (zh) * | 2014-04-16 | 2014-07-23 | 乐视致新电子科技(天津)有限公司 | 多核体系中处理器调度策略的生成方法及装置、调度系统 |
WO2015051685A1 (zh) * | 2013-10-12 | 2015-04-16 | 华为技术有限公司 | 一种任务调度方法、装置及系统 |
CN104679586A (zh) * | 2013-10-31 | 2015-06-03 | 三星电子株式会社 | 包括异构多核处理器的电子系统及其操作方法 |
WO2018018427A1 (zh) * | 2016-07-26 | 2018-02-01 | 张升泽 | 基于多内核芯片的多任务调度方法及系统 |
CN107797853A (zh) * | 2016-09-07 | 2018-03-13 | 深圳市中兴微电子技术有限公司 | 一种任务调度方法、装置及多核处理器 |
CN108170525A (zh) * | 2016-12-07 | 2018-06-15 | 晨星半导体股份有限公司 | 动态调整多核心处理器的任务负载配置的装置以及方法 |
CN109947569A (zh) * | 2019-03-15 | 2019-06-28 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
WO2020063041A1 (zh) * | 2018-09-29 | 2020-04-02 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置、终端及存储介质 |
CN112559176A (zh) * | 2020-12-11 | 2021-03-26 | 广州橙行智动汽车科技有限公司 | 一种指令处理方法和装置 |
CN112667373A (zh) * | 2020-12-17 | 2021-04-16 | 北京紫光展锐通信技术有限公司 | 基于异构cpu架构的任务调度方法、装置、系统及存储介质 |
CN115079804A (zh) * | 2021-12-09 | 2022-09-20 | 荣耀终端有限公司 | 一种电子设备的控制处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及系统 |
CN101901167A (zh) * | 2010-07-22 | 2010-12-01 | 网御神州科技(北京)有限公司 | 一种多cpu架构下的多网络安全审计方法和系统 |
CN101981529A (zh) * | 2008-03-28 | 2011-02-23 | 微软公司 | 功率知晓线程调度和处理器的动态使用 |
CN102117224A (zh) * | 2011-03-15 | 2011-07-06 | 北京航空航天大学 | 一种面向多核处理器的操作系统噪声控制方法 |
-
2012
- 2012-05-15 CN CN201210149055XA patent/CN102707996A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101981529A (zh) * | 2008-03-28 | 2011-02-23 | 微软公司 | 功率知晓线程调度和处理器的动态使用 |
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及系统 |
CN101901167A (zh) * | 2010-07-22 | 2010-12-01 | 网御神州科技(北京)有限公司 | 一种多cpu架构下的多网络安全审计方法和系统 |
CN102117224A (zh) * | 2011-03-15 | 2011-07-06 | 北京航空航天大学 | 一种面向多核处理器的操作系统噪声控制方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572272B (zh) * | 2013-10-12 | 2018-02-09 | 杭州华为数字技术有限公司 | 一种任务调度方法、装置及系统 |
WO2015051685A1 (zh) * | 2013-10-12 | 2015-04-16 | 华为技术有限公司 | 一种任务调度方法、装置及系统 |
CN104572272A (zh) * | 2013-10-12 | 2015-04-29 | 杭州华为数字技术有限公司 | 一种任务调度方法、装置及系统 |
CN104679586A (zh) * | 2013-10-31 | 2015-06-03 | 三星电子株式会社 | 包括异构多核处理器的电子系统及其操作方法 |
CN103646006B (zh) * | 2013-11-26 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 一种处理器的调度方法、装置和系统 |
CN103646006A (zh) * | 2013-11-26 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种处理器的调度方法、装置和系统 |
CN103942103A (zh) * | 2014-04-16 | 2014-07-23 | 乐视致新电子科技(天津)有限公司 | 多核体系中处理器调度策略的生成方法及装置、调度系统 |
WO2018018427A1 (zh) * | 2016-07-26 | 2018-02-01 | 张升泽 | 基于多内核芯片的多任务调度方法及系统 |
CN107797853A (zh) * | 2016-09-07 | 2018-03-13 | 深圳市中兴微电子技术有限公司 | 一种任务调度方法、装置及多核处理器 |
CN107797853B (zh) * | 2016-09-07 | 2020-09-08 | 深圳市中兴微电子技术有限公司 | 一种任务调度方法、装置及多核处理器 |
CN108170525A (zh) * | 2016-12-07 | 2018-06-15 | 晨星半导体股份有限公司 | 动态调整多核心处理器的任务负载配置的装置以及方法 |
CN110968415B (zh) * | 2018-09-29 | 2022-08-05 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
WO2020063041A1 (zh) * | 2018-09-29 | 2020-04-02 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置、终端及存储介质 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
CN109947569A (zh) * | 2019-03-15 | 2019-06-28 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN109947569B (zh) * | 2019-03-15 | 2021-04-06 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN112559176A (zh) * | 2020-12-11 | 2021-03-26 | 广州橙行智动汽车科技有限公司 | 一种指令处理方法和装置 |
CN112667373A (zh) * | 2020-12-17 | 2021-04-16 | 北京紫光展锐通信技术有限公司 | 基于异构cpu架构的任务调度方法、装置、系统及存储介质 |
CN115079804A (zh) * | 2021-12-09 | 2022-09-20 | 荣耀终端有限公司 | 一种电子设备的控制处理方法 |
CN115079804B (zh) * | 2021-12-09 | 2023-11-07 | 荣耀终端有限公司 | 一种电子设备的控制处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102707996A (zh) | 一种异构多核处理器上的任务调度方法 | |
KR101503579B1 (ko) | 가상화 시스템에서 중앙 프로세싱 유닛 전력을 제어하는 시스템 및 방법 | |
US10664318B2 (en) | Method and apparatus for allocating computing resources of processor | |
US9858115B2 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium | |
CN101499041B (zh) | 一种避免主机在访问共享设备造成异常死锁的方法 | |
US20090077564A1 (en) | Fast context switching using virtual cpus | |
KR20080098416A (ko) | 다중 프로세서 애플리케이션 지원을 위한 시스템 및 방법 | |
JP5673672B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
US20150121387A1 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium | |
CN104536827A (zh) | 一种数据调度方法和装置 | |
US11113216B2 (en) | Dispatching interrupts in a multi-processor system based on power and performance factors | |
WO2015032311A1 (zh) | 一种代码生成方法、编译器、调度方法、装置及调度系统 | |
CA2831240C (en) | Dynamic allocation of processor cores running an operating system | |
CN102708006A (zh) | 处理优化负载调整 | |
WO2007076190A3 (en) | Efficient task scheduling by assigning fixed registers to scheduler | |
JP2008108075A (ja) | タスク切替え制御方法及びコンピュータシステム | |
KR20120019330A (ko) | 멀티코어 시스템의 스케쥴링 장치 및 방법 | |
Quang-Hung et al. | Heuristics for energy-aware VM allocation in HPC clouds | |
Takada et al. | " Linux on ITRON": a hybrid operating system architecture for embedded systems | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
GB2506169A (en) | Limiting task context restore if a flag indicates task processing is disabled | |
KR20220105678A (ko) | 이기종 프로세서 간의 태스크 전이 방법 | |
KR20170016712A (ko) | 시스템의 유휴 상태 감지를 통한 대기 전력 절감 방법 및 이를 이용한 장치 | |
Du et al. | Taskfolder: Dynamic and fine-grained workload consolidation for mobile devices | |
Wang et al. | An Optimized Scheduling Strategy Based on Task Type In Xen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121003 |