CN108845659B - 一种功耗优先的嵌入式处理器实时任务分配方法 - Google Patents
一种功耗优先的嵌入式处理器实时任务分配方法 Download PDFInfo
- Publication number
- CN108845659B CN108845659B CN201810091744.7A CN201810091744A CN108845659B CN 108845659 B CN108845659 B CN 108845659B CN 201810091744 A CN201810091744 A CN 201810091744A CN 108845659 B CN108845659 B CN 108845659B
- Authority
- CN
- China
- Prior art keywords
- frequency
- task
- power consumption
- cpu
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明提出了一种功耗优先的嵌入式处理器实时任务分配方法,通过确定嵌入式处理器各工作频率段与功耗之间对应的关系,进而提出一种既满足功耗优先又满足实时性要求的任务分配方法。该方法先通过一个测试任务计算其在处理器某个频率段的工作时间,然后通过嵌入式处理各频率段的频率比值换算出上述工作任务在所有频率段的工作时间,进而计算出测试任务在每一个频率段上工作的功耗开销,确定工作频率与功耗的对应关系。最后找出执行任务的最佳功耗频率段,对应用的计算任务进行分配。该方法操作简单,实用性强。可广泛适用于各种嵌入式系统软件的开发。
Description
技术领域
本发明属于嵌入式处理器功耗管理领域,特别是涉及到可以工作在多个频率段的嵌入式处理器的功耗管理课题。
背景技术
嵌入式设备的各种硬件中,中央处理器(CPU,Central Processing Unit)是耗电的主要部件之一,例如,在拥有四核CPU的三星Galaxy S3智能手机中,CPU的功率高达2845mW,是屏幕最大功率2.43倍,也是3G接口的最大功率的2.5倍。CPU功耗管理是嵌入式设备功耗优化的主要任务。
当前众多关于嵌入式设备CPU功耗优化的方法大多在内核级别做任务调度策略的优化:如Sangwook Kim等科研人员提出了一种事件处理为导向的实时高响应度CPU调度方法,Jong-Moon Chung等科研人员提出了一种响应时间步长控制策略(RSC)用于改善传统动态电压调频(DVFS)响应缓慢的问题;公开专利CN105740075A,公开了一种内核层级的CPU调度策略,设置了多个升频降频阈值,分多个梯度来调节CPU频率。公开专利CN107506244A提出了一种结合网络服务器给移动端软件做任务调度的方法。以上内核级别的优化调度算法可以很精确的控制处理器的频率变化,优化处理器的性能与功耗。但是当处理周期性的高计算复杂度的任务时,上述的内核调度算法会频繁唤醒CPU,在高频率段完成该任务,功耗开销也相应增大。针对该问题,根据嵌入式处理器的芯片特性,计算单位工作量的工作频率与功耗的对应关系表,提出一种多任务分配方法,把大任务分配为子任务执行,减少任务连续占用CPU的时间,从而使CPU在任务周期内既实现了低功耗又满足了任务的实时性要求。
发明内容
本发明的目的在于,通过计算实时周期性任务复杂度、工作频率与功耗之间的对应关系,提出了一种优化嵌入式处理器计算任务分配方法,在任务周期内实现频率和功耗的最佳平衡。
本发明的技术方法如下:
一种功耗优先的嵌入式处理器实时任务分配方法,其特征在于,包含以下步骤:
步骤1、获取频率段、电流和电压参数:获取CPU在不同频率段fj(j=1,2…N,N为CPU支持的频率段。本说明书所有的j均表示相同含义。)的工作电流Ij与电源的额定电压U。
步骤2、计算单一任务在CPU最高频率段的运行时间:通过给定合适的单线程计算任务,测量该任务在CPU最高频率fH的运行时间tH。
步骤3、计算单一任务在CPU所有频率段的运行时间:通过频率之间的比例换算出该任务在所有频率段的运行时间tj;
步骤4、计算工作频率与功耗关系表:根据功耗公式:
Q=UIjtj (一)
计算出处理器在不同频率段完成同一工作任务的功耗。不同工作频率完成单一任务的功耗特征在于:随着工作频率越大,功耗越大的趋势,局部可能会出现若干功耗极小值点。
上述计算工作频率与功耗关系的方法,步骤2中,一定时间理论上可以是任意能够被采集到的CPU工作时间,可以任意选择计算任务,CPU不同工作频率的比例换算是一致的,频率与功耗的变化趋势与计算任务无关。
上述计算工作频率与功耗关系的方法,确定了嵌入式处理器各工作频率段与功耗之间的对应关系,针对该特性,我们提出了一种任务分配方法:
步骤a、选择执行任务的最佳频率段:设目标任务的限定时间为Tlim,任务运行在CPU最高频率fH的执行时间为TH。设将计算任务置于低频段运行时的CPU使用率(纯计算时间在任务周期的占比)为u,则根据公式(二)计算理论最佳功耗频率fW:
由于CPU工作频率段有限,实际最佳功耗频率应该从CPU频率段中选择大于fW的频率点fWR,作为理想功耗点。
步骤b,分割并执行计算任务:根据实际最佳功耗频率fWR,将需要在限定周期Tlim内完成的长任务分配为短任务,设短任务的周期时间为Tsam,短任务的CPU持续计算时间为TSW,其中TSW=Tsam·u。每个短周期Tsam内,CPU持续计算时间为TSW,然后释放CPU,等一个Tsam周期结束进入下一Tsam周期。任务分配方法流程图如附图一,任务分配示意图附图二所示。
本发明的优势在于,根据嵌入式处理器的工作频率与功耗之间对应的关系表,提出了一种任务分配的方法。可以保证在限定时间内完成计算任务的前提下,单一任务的功耗开销最小。整个分配方法,简单明了,可实施性强。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的任务分配流程图。
图3是本发明实施例的频率与功耗关系表。
具体实施方式
本发明主要通过计算CPU频率与功耗的关系表,对计算任务进行分配,保证在任务期限时间内,用最佳功耗频率点完成计算任务。
在本实施例中,以MJPEG格式视频压缩应用为例对本发明的流程进行具体的阐述。摄像头实时获取的图像为位图格式,将其压缩为JPEG格式。设置MJPEG每一帧的频率为25Hz,每一帧的限制时间Tlim要求为40ms。根据实际的监测结果,分配任务前完成MJPEG图像压缩每一帧的总时间为10ms,功耗为15.4*10-3j,分配任务后,Bitmap图像的压缩总时间为19ms,功耗为19.5*10-3j,节能18.46.%。
实施例使用的设备为NEXUS 5手机,具体参数与实施例中要采集的参数信息如下:
CPU型号高通骁龙800,同架构四核心
操作系统:Android 5.1
额定电压U:4.2V
实施例需要采集的数据与对应的接口:
A:NEXUS 5的CPU调度算法ondemandgovernor[6](按需模式)的参数文件路,读取sampling_rate_min与sampling_rate文件可以获得采样CPU使用率的周期Tsam=10ms,读取up_threshold文件可以获得CPU上调频率的使用率阈值u=80%。
B:NEXUS 5的CPU频率段文件路径:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
步骤1、提取各频率段工作电流及工作电压:通过Linux系统接口可以读取预置与安卓手机的power_profile.xml文件,也可按照安卓官方指导文档[8]使用功耗测量仪测试CPU在不同频段fj对应的电流值ij。
步骤2、计算处理器在最高频率段的功耗:我们选取大质数检测算法进行CPU功耗测算。通过选取大质数2402203,使CPU处于最高频率2265MHz持续运算,计算时间Th=200ms。
步骤3、计算处理器在所有频率段的功耗:通过各频率段与最高频率段的频率比值换算,可以计算质数2402203在各频率段的执行时间tj。
步骤4、计算工作频率与功耗关系表由能量公式(一):Q=UIjtj可以计算出各频率段对应的能量消耗。由步骤2的各频率段的功耗绘制以CPU频率为横坐标,计算任务的功耗为纵坐标的表图,如附图三。NEXUS 5手机的功耗大致随频率的增大而增加,其中有两个“极小值点”,883MHz与1190MHz,其中883MHz的功耗值优于比它更低的频率,即把任务分配给883MHz不仅可以更快的完成,而且完成整个任务的总功耗更低。1190MHz的功耗值优于小于它的1036MHz与960MHz,即把任务分配到1190MHz与分配到1036MHz与960MHz上运行相比可以完成的更快,而且完成任务的功耗更低。
步骤5、选择执行任务的最佳频率段:实施例选取MJPEG格式视频压缩作为计算任务,每一帧位图压缩为JPEG的限制时间Tlim=40ms,NEXUS 5手机的的fH=2265MHz,图像压缩在fH上运行的平均时间TH=10ms,则根据公式(二):
计算理论最佳频率fW=1014.72MHz。由于CPU是按照频率段进行运行的,实际最佳功耗频率应该从CPU频率段序列中选择大于fW的最小频率fWR。根据NEXUS 5的频率表(如上述实施例接口B所示),可以得知预判的实际最近频率为fWR=1190MHz。该公式中的Tsam和u可由上述实施例接口A的方式获得。1190MHz正好也是频率功耗表图的最佳功耗点,属于功耗比较理想的频率段。既满足了功耗优先又满足了实时性要求。
步骤6、根据步骤5的实际最佳功耗频率fWR,将需要在限定周期Tlim内完成的长任务分配为短任务,短任务的CPU持续计算时间为TSW,以周期Tsam为间隔顺序执行到任务完成。其中TSW=Tsam·u。实施例中TSW=8ms。每个短周期Tsam内,CPU持续计算时间为TSW,然后释放CPU,等一个Tsam周期结束进入下一Tsam周期。
本发明的优势在于,通过应用开发者对于应用计算任务的优化分配,保证CPU在限定的时间内用实际最佳功耗频率完成任务,可以有效减少CPU频率频繁跳变或者长时间保持高频率,操作简单,应用层的程序员也可以做到CPU的功耗节能优化,可以很好地满足实时要求,可广泛应用于Android,Linux应用开发。
本文中所阐述的具体实施例仅仅是对本发明的方法作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种符合自己需求的修改或补充或采用类似的方式替代,但并不会偏离本发明的思想或者超越所附权利要求书所定义的范围。
Claims (1)
1.一种能耗优先的嵌入式处理器实时任务分配方法,其特征在于,包含以下步骤:
步骤1、获取频率段、电流和电压参数:获取CPU在不同频率段fj的工作电流Ij与电源的额定电压U,其中,j=1,2…N,N为CPU支持的频率段;
步骤2、计算单一任务在CPU最高频率段的运行时间:通过给定合适的单线程计算任务,使得在最高频率的运行时间足够长又不至于影响操作系统的正常运行,测量该任务在CPU最高频率fH的运行时间tH;
步骤3、计算单一任务在CPU所有频率段的运行时间:根据公式(一)通过频率之间的比例换算出该任务在所有频率段的运行时间tj:
步骤4、计算工作频率与功耗关系表:根据功耗公式:
Q=UIjtj 式二
计算出处理器在不同频率段完成同一工作任务的功耗,随着工作频率越大,功耗越大的趋势,局部会出现若干功耗极小值点,本步骤通过计算工作频率与功耗关系确定了嵌入式处理器各工作频率段与功耗之间的对应关系,具体是基于任务分配方法得到,包括:
步骤a、选择执行任务的最佳频率段:设目标任务的限定时间为Tlim,任务运行在CPU最高频率fH的执行时间为TH;设将计算任务置于低频段运行时的CPU使用率为u,则根据公式(三)计算理论最佳功耗频率fW:
由于CPU工作频率段有限,实际最佳功耗频率应该从CPU频率段中选择大于fW的频率点fWR,作为理想功耗点;
步骤b,分割并执行计算任务:根据实际最佳功耗频率fWR,将需要在限定周期Tlim内完成的长任务分配为短任务,设短任务的周期时间为Tsam,短任务的CPU持续计算时间为TSW,其中TSW=Tsam·u;每个短周期Tsam内,CPU持续计算时间为TSW,然后释放CPU,等一个Tsam周期结束进入下一Tsam周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091744.7A CN108845659B (zh) | 2018-01-30 | 2018-01-30 | 一种功耗优先的嵌入式处理器实时任务分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091744.7A CN108845659B (zh) | 2018-01-30 | 2018-01-30 | 一种功耗优先的嵌入式处理器实时任务分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108845659A CN108845659A (zh) | 2018-11-20 |
CN108845659B true CN108845659B (zh) | 2021-06-04 |
Family
ID=64211778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810091744.7A Active CN108845659B (zh) | 2018-01-30 | 2018-01-30 | 一种功耗优先的嵌入式处理器实时任务分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108845659B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468533B (zh) * | 2020-10-20 | 2023-01-10 | 安徽网萌科技发展股份有限公司 | 一种面向农产品种植的边缘学习模型在线分割方法和系统 |
CN112486683B (zh) * | 2020-11-27 | 2023-05-19 | 中国科学技术大学先进技术研究院 | 处理器控制方法、控制设备以及计算机可读存储介质 |
CN115390610A (zh) * | 2022-08-22 | 2022-11-25 | 哲库科技(北京)有限公司 | 一种用电系统、频率控制方法、芯片及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945498A (zh) * | 2006-10-12 | 2007-04-11 | 浙江大学 | 面向嵌入式系统低功耗实时任务参数模型调度方法 |
CN101135927A (zh) * | 2006-10-12 | 2008-03-05 | 浙江大学 | 一种面向嵌入式系统低功耗实时任务调度的简化方法 |
CN104808770A (zh) * | 2015-04-23 | 2015-07-29 | 南京大学 | 基于动态调频的数据中心能耗管理方法及系统 |
CN105893148A (zh) * | 2016-03-30 | 2016-08-24 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
CN106095058A (zh) * | 2016-06-08 | 2016-11-09 | 华东师范大学 | 一种应对软错误的温度感知的实时任务调度方法 |
CN106293909A (zh) * | 2016-07-29 | 2017-01-04 | 华东师范大学 | 一种对异构多核处理器温度‑调度长度感知的实时任务调度方法 |
CN106569574A (zh) * | 2015-10-10 | 2017-04-19 | 中兴通讯股份有限公司 | 多核处理器cpu的频率管理方法及装置 |
CN106598203A (zh) * | 2016-12-21 | 2017-04-26 | 上海海事大学 | 一种数据密集环境下的单芯片多处理器系统的电源管理方法 |
CN107071833A (zh) * | 2017-05-27 | 2017-08-18 | 努比亚技术有限公司 | 数据包传输系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811389B2 (en) * | 2015-09-23 | 2017-11-07 | Intel Corporation | Task assignment for processor cores based on a statistical power and frequency model |
-
2018
- 2018-01-30 CN CN201810091744.7A patent/CN108845659B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945498A (zh) * | 2006-10-12 | 2007-04-11 | 浙江大学 | 面向嵌入式系统低功耗实时任务参数模型调度方法 |
CN101135927A (zh) * | 2006-10-12 | 2008-03-05 | 浙江大学 | 一种面向嵌入式系统低功耗实时任务调度的简化方法 |
CN104808770A (zh) * | 2015-04-23 | 2015-07-29 | 南京大学 | 基于动态调频的数据中心能耗管理方法及系统 |
CN106569574A (zh) * | 2015-10-10 | 2017-04-19 | 中兴通讯股份有限公司 | 多核处理器cpu的频率管理方法及装置 |
CN105893148A (zh) * | 2016-03-30 | 2016-08-24 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
CN106095058A (zh) * | 2016-06-08 | 2016-11-09 | 华东师范大学 | 一种应对软错误的温度感知的实时任务调度方法 |
CN106293909A (zh) * | 2016-07-29 | 2017-01-04 | 华东师范大学 | 一种对异构多核处理器温度‑调度长度感知的实时任务调度方法 |
CN106598203A (zh) * | 2016-12-21 | 2017-04-26 | 上海海事大学 | 一种数据密集环境下的单芯片多处理器系统的电源管理方法 |
CN107071833A (zh) * | 2017-05-27 | 2017-08-18 | 努比亚技术有限公司 | 数据包传输系统及方法 |
Non-Patent Citations (2)
Title |
---|
云视频监控系统的能耗优化研究;熊永华等;《软件学报》;20141212;第681-685页 * |
音频内容分割与聚类的研究;张春林等;《计算机工程》;20020730;第28卷(第7期);第173-176页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108845659A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845659B (zh) | 一种功耗优先的嵌入式处理器实时任务分配方法 | |
CN111045814B (zh) | 资源调度方法和终端设备 | |
CN107515663B (zh) | 调整中央处理器内核运行频率的方法和装置 | |
US9086876B2 (en) | Technique for selecting a frequency of operation in a processor system | |
CN104991830A (zh) | 基于服务等级协议的yarn资源分配和节能调度方法及系统 | |
CN104239153A (zh) | 多核cpu负载均衡的方法和装置 | |
US10176014B2 (en) | System and method for multithreaded processing | |
US9760154B2 (en) | Method of dynamically controlling power in multicore environment | |
Yao et al. | Energy efficient task scheduling in mobile cloud computing | |
CN100465857C (zh) | 一种面向嵌入式系统低功耗实时任务调度的简化方法 | |
CN104657219A (zh) | 一种用于异构众核系统下的应用程序线程数动态调整方法 | |
US20130198758A1 (en) | Task distribution method and apparatus for multi-core system | |
CN105045369A (zh) | 一种基于用户交互历史信息的cpu动态调频方法 | |
CN112954707B (zh) | 基站的节能方法、装置、基站和计算机可读存储介质 | |
US20170212581A1 (en) | Systems and methods for providing power efficiency via memory latency control | |
Xiang et al. | Run-time management for multicore embedded systems with energy harvesting | |
KR101655030B1 (ko) | 태스크 특성 기반의 여유시간 분배를 통한 동적 전압 주파수 스케일링 방법, 그 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램 및 그 매체 | |
Sundriyal et al. | Initial investigation of a scheme to use instantaneous CPU power consumption for energy savings format | |
CN109144693B (zh) | 一种功率自适应任务调度方法及系统 | |
Cheng et al. | Behavior-aware integrated CPU-GPU power management for mobile games | |
US20220011843A1 (en) | Software entity power consumption estimation and monitoring | |
WO2016058149A1 (zh) | 一种预测处理器利用率的方法、处理装置和终端设备 | |
CN105589544A (zh) | 降低中央处理器能耗的方法、装置及终端 | |
CN104978006B (zh) | 一种多线程模式下的低功耗空闲等待方法 | |
CN114003367B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |