CN113961347B - 提升移动计算平台可靠性的方法 - Google Patents

提升移动计算平台可靠性的方法 Download PDF

Info

Publication number
CN113961347B
CN113961347B CN202111254525.4A CN202111254525A CN113961347B CN 113961347 B CN113961347 B CN 113961347B CN 202111254525 A CN202111254525 A CN 202111254525A CN 113961347 B CN113961347 B CN 113961347B
Authority
CN
China
Prior art keywords
frequency
processing unit
regulation
instruction
working
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
CN202111254525.4A
Other languages
English (en)
Other versions
CN113961347A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202111254525.4A priority Critical patent/CN113961347B/zh
Publication of CN113961347A publication Critical patent/CN113961347A/zh
Application granted granted Critical
Publication of CN113961347B publication Critical patent/CN113961347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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
    • 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

本发明公开了一种提升移动计算平台可靠性的方法,包括:通过操作系统内核模块获取处理单元processing unit的工作频率;基于计算机指令执行所带来效益不同,确立不同的优先级进行任务调度,并计算指令优先级分布;根据所述处理单元processing unit的工作频率生成频率调控方法,再根据所述频率调控方法及指令优先级分布调整处理单元processing unit的工作频率。本发明能够降低处理单元processing unit功耗,提高响应速度和运行效率,提升移动计算平台的可靠性和设备稳定性。

Description

提升移动计算平台可靠性的方法
技术领域
本发明涉及电子通信领域,尤其是涉及一种基于任务调度与处理单元频率调控提升安可工程移动计算平台可靠性和设备稳定性的方法。
背景技术
随着通信技术的发展与安可工程通信计算终端替代项目的推进,以及安可工程移动处理计算平台的发展,安可工程计算处理平台操作系统中指令队列调度与整机功耗控制模块的缺陷进一步显露。该缺陷造成移动计算平台无法有效保障程序流畅运行与持久的续航能力,造成用户界面体验较差、程序运行卡顿、多任务处理能力差、运算能力跟不上需求等问题。传统上,非安可工程的移动计算处理平台通常依赖软件开发者的针对性优化与生态链协作来解决上述问题。具体来说,以安卓平台为例,基于场景匹配的频率调整方法(如OPPO广东移动通信公司申请的专利:调度作业控制方法、装置、终端设备及储存介质,专利申请号201711168283.0)、基于CPU工作参数和预设省电规则的频率调整方法(如北京小米松果电子有限公司申请的专利:省电模式控制方法、装置、设备及存储介质,专利申请号202110217924.7)主要是手机厂商针对手机主流软件和软件厂商做针对性优化。但是安可工程移动计算平台的生态不完善,不具备生态链协作的条件,难以照搬安卓平台的协作方式。同时,安可工程移动计算平台通常预先设置了多个虚拟化操作系统与模拟器以实现对其他平台软件兼容,虚拟化操作层与模拟器的部分指令与代码兼容性不佳,按照传统队列调度方法会造成无意义指令循环执行,浪费计算资源与能源,限制了移动计算平台的整体资源调度能力,也限制了应用程序、软件开发等环节的资源使用。传统上,Linux内核使用实时或非实时的方式调度程序,其依据是先入先出(sched fifo)、公平调度(sched fair)等队列规则。但是对于模拟器、虚拟化等占用多、实时性需求不强的背景程序,传统先入先出或公平调度队列因上述程序以及队列特性,其较多的进程数和较长的执行时间,会占用较多计算资源,导致空余计算资源受限,移动计算平台执行效率不高,设备运行卡顿等,从而降低了移动计算平台的整体可靠性。
上述传统的频率调控与任务调度方法存在如下不足:
首先,传统的频率调控与任务调度方法难以适应安可工程移动便携式计算处理平台的发展。
以龙芯、arm等架构下的3A5000、鲲鹏920s、FT2000为核心器件的移动便携式计算处理平台,其性能落后于主流计算应用平台,也跟不上应用程序的发展,难以支撑计算及相关日常处理任务。在硬件条件受限的情况下,Linux内核中传统的动态电压频率调节(dynamic voltage and frequency scaling)和SCHED_FIFO等任务处理调度更加限制了其性能的发挥和交互使用体验。
以麒麟、统信为代表的安可工程操作系统,其系统级调度兼容能力较弱,尤其是在新的生态系统建立过程中,出于对旧有应用兼容的考虑,需要运行消耗较大、稳定性较差的兼容虚拟层,传统动态电压频率调节(dynamic voltage and frequency scaling)算法未对兼容虚拟层作优化,导致功耗大、效率低。例如wine、Androidruntime emulation等兼容层应用与传统Linux应用不同,占据大量系统资源,且有可能出现兼容层代码bug等导致死循环和兼容层运行非主流软件的不可预见性错误,消耗大量资源且做了无用计算。面对这种情况,移动端盛行的基于场景预测的在线或离线人工智能算法(离线人工智能算法通常用嵌入式神经网络处理器NPU进行运算),由于无法通过训练枚举所有复杂应用场景,导致该方法移植到移动计算处理平台效果欠佳,难以支撑CPU频率控制以及任务调度管理。
由于移动端后台应用的墓碑机制将大部分资源用于保障主线任务,非主线任务被休眠,因此,以华为和OPPO为代表的基于云端下发用户习惯或场景预测的CPU频率调整方法,应用到多任务并行、缺少任务主线、背景任务计算量较大、网络流量占用计算处理资源的安可工程移动计算平台,容易限制背景任务,引起运行时间延长,导致多任务并行造成其他任务卡顿,网络流量保障不及时,计算平台整体响应速度受网络延迟影响而变慢。
此外,在安可工程移动计算处理平台上,各类用户交互界面UI以及显示兼容层使用了不同的框架和标准。具体而言,系统中GTK+、QT5/6同时运行,多个程序往往调用多个显示库文件,加重处理负担;缺少Direct3D系列api,而Vulka、OpenGL等兼容显示api性能参差不齐,单一度量算法无法获得精确计算资源需求。总而言之,传统移动端应用广泛的单一界面优先算法效率不高。
其次,传统的频率调控与任务调度方法难以支撑业务运行服务平台。
为了减少业务运行服务支撑系统国产化迁移的困难,在业务运行和服务支撑平台上,从Windows sever迁移到带图形界面的安可工程的server系统上。比如在OpenEular上自行安装了xserver以及Gnome界面,这虽然降低非专业运维人员使用难度,但增加了系统的复杂度和不可靠性。运行在超出设计预期的状态下,其CPU频率获取及任务调度系统频繁失效,导致操作卡顿、误杀业务进程,导致业务系统不稳定。这些系统大部分仅采用了Linux内核自带的频率-电压动态调整子系统。为进一步挖掘安可工程计算平台在台式计算机、服务器上的性能潜力,传统方法根据硬件接口获取频率表,对非主流国产硬件平台可能产生频率表缺失、频率项较少、动态调频支持性能差、over clock支持缺失等问题,因此迫切需要新方法予以实现。
最后,传统的频率调控与任务调度方法跟不上存储型服务平台的发展步伐。
安可工程的计算处理平台上系统对长期型背景任务未做相应优化,比如文件多节点同步、阵列数据校验、运行summary生成和web interface交互根据不同的使用环境与工况应有不同的调度类型,在同样运行这些背景程序的相同场景下,需要根据用户操作、流量分布、任务占用动态调度不同核心和线程提高响应速度、执行效率。传统移动端基于场景学习的调度方式,由于场景之间差异与特征较小,不利于场景识别与学习。同时由于场景纷繁复杂,选取合适场景的算法相应变得更复杂,出现执行效率差、自身占据宝贵计算资源等不适应的问题。
综上所述,为了提升移动处理计算平台设备的续航时间,避免相关设备在现场运维、联合调试、现场测试等目标环境与工业生产等情形下设备电量不足,设备无法运转,以及适应移动便携式计算处理平台、业务运行服务平台、存储型服务平台的发展,亟需在技术领域创新提出一种新的任务调度与调频方法,实现降低处理单元processing unit功耗,提高响应速度和运行效率,提升安可工程计算处理平台的可靠性和设备稳定性。
发明内容
针对现有技术的不足,本发明提供了一种提升移动计算平台可靠性的方法,能够降低处理单元processing unit功耗,提高响应速度和运行效率,提升安可工程计算处理平台的可靠性和设备稳定性。
为实现上述目的,本发明提供了一种提升移动计算平台可靠性的方法,包括:
通过操作系统内核模块获取处理单元processing unit的工作频率;
基于计算机指令执行所带来效益不同,确立不同的优先级进行任务调度,并计算指令优先级分布;
根据所述处理单元processing unit的工作频率生成频率调控方法,再根据所述频率调控方法及指令优先级分布调整处理单元processing unit的工作频率。
进一步地,所述“通过操作系统内核模块获取处理单元processing unit的工作频率”具体包括:
操作系统内核模块加载预设的频率表frequency table测试模型进行测试;
根据测试得出至少包括处理单元processing unit工作频率的测试结果。
进一步地,所述“根据所述处理单元processing unit的工作频率生成频率调控方法,再根据所述频率调控方法及指令优先级分布调整处理单元processing unit的工作频率”,包括:
根据所述处理单元processing unit的工作频率构建频率表frequencytable,所述工作频率至少包括升压频率boost frequency、最小频率min frequency和功耗比最佳频率max frequency;
所述频率表frequency table中相邻两项的工作频率,作为频率调控模型的参数;
根据所述参数生成频率调控模型;
根据所述频率调控模型生成频率调控方法;
构建基于指令优先级的判定方法;
根据所述频率调控方法和基于指令优先级的判定方法,调控处理单元processingunit的工作频率以及进行任务调度,使工作频率产生的计算资源与负载相匹配。
进一步地,所述“操作系统内核模块加载预设的频率表frequency table测试模型进行测试”,包括:
构建离散系统,作为频率表frequency table测试模型;
截取处理单元processing unit的多个运行频率或预设频率作为所述离散系统的输入;
得到所述离散系统的输出,并将所述离散系统的输出设置为处理单元processingunit的工作频率;
将所述离散系统的输出循环作为离散系统的输入,得到一系列离散系统的输出;
将一系列离散系统的输出的最大值和最小值,即高负载下的频率极限值和正常工况下的频率极低值,分别设置为升压频率boost frequency和最小频率min frequency;
在一系列离散系统的输出中,计算得出功耗比最佳时的频率max frequency。
进一步地,所述“构建离散系统,作为频率表frequencytable测试模型”包括:
构建多个单输入n阶离散系统,n为自然数,单输入n阶离散系统的输出收敛于常数c;
将多个单输入n阶离散系统叠加成为多输入离散系统,多输入离散系统的输出收敛于常数d;
将多输入离散系统,作为频率表frequency table测试模型。
进一步地,所述“根据所述处理单元processing unit的工作频率构建频率表frequency table”包括:
在所述升压频率boost frequency和最小频率min frequency之间,离散系统的所有输出与相应时刻的电压,构成频率-电压二维坐标点;所述离散系统是由多个单输入n阶离散系统叠加构成,n为自然数,其中所述单输入n阶离散系统的输出收敛于常数c;
运用回归分析曲线拟合由所述坐标点组成的散点图;
根据拟合曲线,选取相差较大的频率项,作为所述离散系统的新输入,产生新的输出,并设置为新的频率,构建新的频率-电压二维坐标点;
对叠加上新离散点后的所有离散点,再次利用回归分析拟合曲线,直至使升压频率boost frequency和功耗比最佳频率max frequency之间n对相邻频率项都有相近的差值,功耗比最佳频率max frequency和最小频率min frequency之间m对相邻频率项都有相近的差值,且前者的差值小于后者,完成频率表frequency table构建,其中m、n是自然数;
所述频率表frequency table中相邻两项工作频率作为频率调控模型的参数。
进一步地,所述“根据所述参数生成频率调控模型”以及“根据所述频率调控模型生成频率调控方法”包括:
将所述频率表frequency table中相邻两项的工作频率作为所述频率调控模型的参数,生成处理单元processing unit的工作频率调控曲线;所述频率调控模型至少包括由矩形脉冲响应波形构成的调控模型;
根据频率调控曲线生成频率调控方法。
进一步地,所述“将所述频率表frequency table中相邻两项的工作频率作为所述频率调控模型的参数,生成处理单元processing unit的工作频率调控曲线”包括:
将所述频率表frequency table中相邻项作为矩形脉冲响应函数解析式的系数;
根据所述矩形脉冲响应函数解析式,生成频率调控曲线,所述频率调控曲线为矩形脉冲响应波形。
进一步地,所述“根据所述频率调控曲线生成频率调控方法”包括:
根据所述矩形脉冲响应波形,判断频率调控方法的类型是跃变调整还是非跃变调整;
若非跃变调整,则在低位或高位小幅振荡的区间,按每个时钟周期调节频率,使时间-频率二维坐标点拟合成的曲线与波形一致;
若跃变调整,则在由低位向高位跃变或由高位向低位跃变的区间,以每时钟周期逐步调整频率的方式,使时间-频率二维坐标点拟合矩形脉冲响应波形的跃变部分曲线,在若干个周期内,将频率从初始状态调整到下一状态,当初始状态处于低位小幅振荡区间时,则所述下一状态为高位小幅振荡区间;当初始状态处于高位小幅振荡区间时,则所述下一状态为低位小幅振荡区间;
在跃变调整频率后,若处理单元processing unit负载的繁忙或空闲程度没有改变,则使用所述频率表frequency table中的更高或更低的频率项,生成新的频率调控曲线,按照所述频率调控方法,使处理单元processing unit频率与负载相匹配。
进一步地,所述“基于计算机指令执行所带来效益不同,确立不同的优先级进行任务调度,并计算指令的优先级分布”,包括:
将所有计算机指令的类型分成n个基准类和m个非基准类,m、n为自然数;
对所述基准类和非基准类的指令按照指令执行所带来的效益从高到低进行优先级排序;
按照所述指令优先级顺序,执行缓存队列的指令;
根据指令序列中高优先级指令分布情况判断处理单元processing unit的繁忙程度;
根据所述处理单元processing unit的繁忙程度调整其工作频率。
进一步地,所述“将所有计算机指令的类型分成n个基准类和m个非基准类,m、n为自然数”,包括:
确定计算机指令的类型基准,其包括且不限于:重复循环类、跨运行库转译寻址类和二进制转换类;
用余弦相似度算法作为分类算法,将正在执行的指令与基准类别相似度大于预设的γ值的,设置为同一聚合类指令,γ为常数;
将所述同一聚合类指令划分到相应的基准类,将不属于聚合类的指令视为非基准类。
进一步地,所述“根据所述指令序列中高优先级指令分布情况判断处理单元processing unit的繁忙程度”包括:
确定判断处理单元processing unit的繁忙程度的标准,即若队列中高优先指令占比低于预设的β值,即使此时指令复杂度较高,也视为空闲状态;若队列中高优先指令占比高于预设的α值,则视为繁忙状态;其中α、β为常数,且α>β;
根据所述判断处理单元processing unit的繁忙程度的标准,确定处理单元processing unit处于空闲或繁忙状态。
进一步地,所述“根据所述处理单元processing unit的繁忙程度调整其频率”,包括:
若处理单元processing unit处于繁忙状态,则使用小幅多次跃变调整设置频率的方法,跳转为频率表frequency table中相邻两项的较大项;所述频率表frequencytable是由所述处理单元processing unit的工作频率构建;
若处理单元processing unit处于空闲状态,则使用小幅多次跃变调整设置频率的方法,跳转为频率表frequency table中相邻两项的较小项;
其余状态,则认为处理单元processing unit的工作频率适应当时计算任务量,无需跳转,处于非跃变调整。
本发明的有益效果是:本发明基于指令优先级调度与拟合曲线调频,能够提升移动便携式计算平台可靠性,本发明也适用于业务运行服务平台、存储型服务平台等,能降低功耗,提高响应速度和运行效率,提升安可工程平台的可靠性和设备稳定性。
附图说明
图1本实施例提供的离散系统示意图;
图2本实施例提供的离散系统输出拟合成曲线示意图;
图3本实施例提供的矩形脉冲响应波形示意图。
具体实施方式
以下结合附图对本发明提升移动计算平台可靠性的方法的实施例作进一步详细说明:
现有操作系统内核技术通常使用调用硬件接口的方式获取硬件设备频率,根据任务进程队列与系统资源占用,生成调用数据,再重新调用硬件提供的接口,以实现硬件设备频率匹配任务进程队列与资源占用。同时操作系统中使用先入先出队列(fifo sched)或公平队列(fair sched)等算法,为系统进程之间的资源占用提供管理。
但是这种方式在安可工程平台,尤其是移动处理计算平台上有诸多局限。比如,硬件厂商开发人员不足、发展滞后,导致硬件接口不完善;平台标准不统一,硬件设备种类多样,缺少固定或相同的硬件接口,如果一一适配,难度较大;平台上软件生态不丰富,需要较多借助兼容层或虚拟化等技术,而这些模拟技术不完善,容易产生不必要的循环执行或低效翻译执行,导致以进程为核心的传统调度管理方式无法适应安可工程平台发展的新生态与新环境。
本发明总体思路是通过操作系统内核模块加载预设的频率表测试模型,即多输入n阶离散系统,进行测试,获取处理单元processing unit的工作频率;根据所述处理单元processing unit的工作频率构建频率表frequencytable;将所述频率表frequency table中相邻两项的工作频率作为所述频率调控模型的参数,生成处理单元processing unit的工作频率调控曲线;根据所述频率调控曲线生成频率调控方法。同时基于计算机指令执行所带来效益(效益是指中央处理器执行一条计算机指令,对计算机程序运行进程的推进程度)不同,确立不同的优先级进行任务调度,并计算指令优先级分布。最后根据所述频率调控方法及指令优先级分布,判断是以跃变调整方式还是以非跃变调整方式,调整处理单元processing unit的工作频率,最终实现处理单元processing unit频率与负载相匹配,降低处理单元processing unit功耗,提高响应速度和运行效率,提升移动计算平台的可靠性和设备稳定性。
传统操作系统内核通过调用硬件接口的方式,获取频率表frequency table,依赖于硬件厂商的技术支持。针对原频率表frequency table由于社区维护不及时等原因,造成频率表缺失、表单项目过少、频率跨度较大等问题,本发明首先通过内核加载预设的频率表测试模型进行测试。所述预设的频率表测试模型主要包括:
构建离散系统,用于频率表测试。所述离散系统是先构建多个单输入n阶离散系统,n为自然数,所述单输入n阶离散系统的输出收敛于常数c,且围绕着直线f(n)=c上下振荡。再将所述多个单输入n阶离散系统叠加成为一个多输入离散系统,所述多输入的离散系统的输出收敛于常数d,且围绕着直线f(n)=d上下振荡。本实施例以一阶离散系统为例,构建用于频率表测试的离散系统。
设激励函数分别为f1(n)=b1u(n),f2(n)=b2u(n),f3(n)=b3u(n),其中b1、b2、b3为常数,u(n)为单位阶跃序列。构造如图1所示的离散系统,图中D表示单位延迟器,Σ表示加法器,y(n)、y1(n)、y2(n)、y3(n)表示系统输出,其中n为自然数;a1、a2、a3、c1、c2表示常数乘法器。该系统对应的差分方程如下:
y(n+1)=c1[f1(n)-a1y1(n)]+c2[f2(n)-a2y2(n)]+[f3(n)-a3y3(n)]
其中a1、a2、a3为[0,1]区间的实数,c1、c2为[-1,1]区间的实数,且有
y1(n)=f1(n-1)-a1y1(n-1);
y2(n)=f2(n-1)-a2y2(n-1);
y3(n)=f3(n-1)-a3y3(n-1)。
对y1(n)、y2(n)、y3(n)取z变换后,得到系统函数分别为:
Figure BDA0003323624890000111
由于激励函数分别为f1(n)=b1u(n),f2(n)=b2u(n),f3(n)=b3u(n)
对上式两边取z变换,分别得到
Figure BDA0003323624890000112
综上可得
Figure BDA0003323624890000113
对上式求z反变换得到
Figure BDA0003323624890000114
同理可得
Figure BDA0003323624890000115
Figure BDA0003323624890000116
因此,
Figure BDA0003323624890000117
根据上述差分方程计算得到y(n),将离散点(n,y(n))拟合成曲线如图2所示,y(n)随着迭代次数不断增加而收敛于中心频率
Figure BDA0003323624890000121
bcenter是由三个输入共同影响得到的固定值。令b3=bmax,其中bmax=max{b1,b2,b3},只要a1、a2、a3、c1、c2取合适的值,如a1、a2、a3、c1、c2的值分别为0.6,0.8,0.01、0.2、0.2时,则y(n)在略高于最大输入频率bmax,围绕着中心频率bcenter上下小幅振荡。
截取CPU多个运行频率或使用默认值为频率值,作为所述离散系统的输入。以传统Linux内核与超微公司生产的AMD CPU的3级变频为例,主频分别为:1.40GHz,1.70GHz,2.90GHz,则令b1=1.4,b2=1.7,b3=2.9,此时b3=bmax;激励函数分别为f1(n)=1.4u(n),f2(n)=1.7u(n),f3(n)=2.9u(n)。
根据所述离散系统和输入,得出离散系统的输出,并将输出设置为CPU频率。
将所述离散系统输出,作为新的输入进入离散系统,得到新的输出。
通过输出作为输入循环进入离散系统,得到一系列的离散系统输出。
将所述一系列离散系统输出的最大值和最小值,即高负载下的频率极限值和正常工况下的频率极低值,分别设置为升压频率boost frequency和最小频率min frequency。
在所述一系列离散系统输出中,计算得出功耗比最佳频率值max frequency。
根据所述测试结果计算频率调控模型的参数,包括:
在所述升压频率boost frequency和最小频率min frequency之间,根据所述离散系统的所有输出与相应时刻的电压,构成频率-电压二维坐标点。
利用最小二乘法建立线性回归方程,曲线拟合所述坐标点组成的散点图。
根据所述拟合曲线,选取相差较大的频率项,作为所述离散系统的新输入,产生新的输出,并设置为新的频率,构建新的频率-电压二维坐标点。
对叠加上新离散点后的所有离散点,再次利用回归分析拟合曲线,直至使升压频率boost frequency和功耗比最佳频率max frequency之间n对相邻频率项都有相近的差值,功耗比最佳频率max frequency和最小频率min frequency之间m对相邻频率项都有相近的差值,且前者的差值小于后者,其中m、n是自然数,至此完成频率表frequency table构建。频率表frequency table中相邻频率项作为频率调控模型的参数。
本发明通过所述离散系统设置动态高频值,弥补了Linux内核缺少动态升压频率boost frequency的缺点,提升了CPU的效能,使其能以更少的时间处理相同的工作任务,减少任务执行出错的机率,提高了安可工程平台的可靠性。同时与传统人工基本输入输出系统BIOS设置方法不同,本发明在系统层调节频率,不会破坏性修改基本输入输出系统BIOS的功率限制,同时避免设置过大的值,造成频率过高,所需电压太高,造成CPU元器件烧毁或产生其他破坏性后果。本发明通过自动动态调整CPU频率,避免传统手工调试BIOS参数的繁琐设置。本发明是内核模块,可随内核启动,具有较高的自动化水平,不容易出现人为调控带来的失误。
本发明将传统调整频率并肉眼观测相关参数的方法,简化为从频率与电压的线性关系出发,判断频率调整,提高了检测效率,减少检测次数,为CPU处理其他计算任务预留更多资源,提高安可工程平台的可靠性。
同时,相比于Windows操作系统逐个从CPU中读取工作频率范围的方法,本发明不依赖于CPU提供的接口,可以绕过与硬件厂商的接口对接和相关硬件接口限制,为Linux和国产操作系统提供不依赖于硬件厂商的方案。本发明也避免了逐个读取接口录入过程中需要针对不同厂商提供的接口编写不同代码的繁杂,避免了上述操作可能产生的失误。
根据所述频率调控模型的参数生成频率调控方法,包括:
将所述频率表中相邻项作为所述频率调控模型的参数,生成频率调控曲线。所述频率调控曲线为矩形脉冲响应波形,如图3所示,该波形主要分三部分,左边是低位小幅振荡波形,跃变到中间部分,高位小幅振荡波形,之后再次跃变到右边部分,低位小幅振荡波形。
本发明通过所述矩形脉冲响应波形曲线以及优选过程,将震荡频率稳定值和震荡周期中最高值控制在原本最高频略高的位置,避免频率设定过高导致过热和其他元器件不可逆受损。同时震荡最低频率受限于所述离散系统,其与稳定值的差不会大于最高频与稳定值的差值,能够实现CPU运行数据采集也不影响计算任务进行。
如图3所示,本实施例以矩形脉冲响应波形作为调整CPU的频率的曲线。矩形脉冲响应波形的函数表达式为:
Figure BDA0003323624890000141
其中函数
Figure BDA0003323624890000142
ω优选为64π,a、b、t0、m为正实数。
正实数a、b、m的值由以下方法获得:
使用所述负载计算和CPU频率跳转方法,动态小幅多次跃变调整CPU的工作频率,优选的具体拟合所述曲线的调节方法如下:
(1)在低位或高位小幅振荡的区间,按每个时钟周期调节频率,使时间-频率二维坐标点拟合成的曲线与波形一致。
本实施例中,当频率由低向高跳转时,将较高频率即frequency table的前一个值设置为b+a,将frequency table的当前值设置为b。检测的时间设置为
Figure BDA0003323624890000143
之前的Ω个时钟周期的值,即
Figure BDA0003323624890000144
Ω优选为3,Ω可以视性能需求而修改。检测到需要调整频率后,在Ω个时钟周期内,通过每个时钟周期小幅度调节频率拟合如图3所示初始状态的时间-频率曲线波动,从而将频率调整到所述曲线上,便于下一步进行状态间转换。状态间转换是由初始状态的点A按图3所示的时间-频率曲线,在α个时钟周期内,α优选为3,每时钟周期逐步调整频率拟合所述优选的曲线,直至将频率从初始状态调整到下一状态,即逐步跃变到点B。此阶段的初始状态是以f(t)=b为频率波动的中心值,下一状态是以f(t)=b+a为频率波动的中心值。
(2)在由低位向高位跃变或由高位到低位跃变的区间,以每时钟周期逐步调整频率的方式,使时间-频率二维坐标点拟合矩形脉冲响应波形的跃变部分曲线,在若干个周期内,将频率从初始状态调整到下一状态。
本实施例中,当频率由高向低跳转时,将较低频率即frequency table的后一个值设置为b,将frequency table的当前值设置为b+a。检测的时间设置为
Figure BDA0003323624890000151
之前的Ω个时钟周期的值,即
Figure BDA0003323624890000152
Ω优选为3,Ω可以视节能需求而修改。检测到需要调整频率后,在Ω个时钟周期内,通过每个时钟周期小幅度调节频率拟合如图3所示的初始状态的时间-频率曲线波动,从而将频率调整到所述曲线上,便于下一步进行状态间转换。状态间转换是由初始状态的点C按图3所示的时间-频率曲线,在α个时钟周期内,α优选为3,每时钟周期逐步调整频率拟合所述优选的曲线,直至将频率从初始状态调整到下一状态,即逐步跃变到点D。此阶段的初始状态是以f(t)=b+a为频率波动的中心值,下一状态是以f(t)=b为频率波动的中心值。当连续在频率表frequency table前项与后项两个状态间跳转时,若m不满足
Figure BDA0003323624890000161
条件,则继续保持原状态不变。
所述方法既增加了频率调节的设定值数量,使频率更加适应计算需求,减少算力和电力浪费;又增加小幅曲线拟合的波动调节,适应用户界面UI交互产生的突发算力需求,从而实现频率变化更加动态高效,优化操作系统响应效率,以达到较高的能耗比,提升移动平台的续航时间。
若CPU的频率表连续向前或后跳转,即连续出现多个由A点到B点或由C点到D点跃变,则不断将现在的频率波动曲线设置为初始状态,该方向CPU频率表的下一项对应的频率设置为下一状态,并不断以此方式更新。
在所述由低位向高位跃变或由高位到低位跃变的区间调整频率后,若CPU负载的繁忙或空闲程度没有改变,则使用所述频率表中的更高或更低的频率项,生成新的频率调控曲线,使CPU频率与负载相匹配。
根据所述频率调控方法,结合基于指令优先级判定方法调控CPU的频率和进行任务调度,使频率与负载相匹配。
本发明基于指令优先级的计算资源调度方法,具体如下:针对计算类型而非应用程序或设备使用场景进行分类。将所有计算机指令的类型分成n个基准类和m个非基准类,m、n为自然数。确定计算机指令的类型基准,其包括且不限于:重复循环类、跨运行库转译寻址类和二进制转换类。用余弦相似度算法作为分类算法,将正在执行的指令与基准类别相似度大于预设的γ值的,设置为同一聚合类指令,γ为常数,优选为0.8。将所述同一聚合类指令划分到相应的基准类,将不属于聚合类的指令视为非基准类。对所述基准类和非基准类的指令,按照指令执行所带来的效益从高到低进行优先级排序。所述效益是指中央处理器执行一条计算机指令,对计算机程序运行进程的推进程度。方法上,利用神经网络与距离向量模型对在一个聚类内的指令先排序,再将非聚合类的指令与聚类指令共同排序,以辅助加速所有指令的排序速度。按照所述指令优先级顺序,执行缓存队列的指令。根据指令序列中高优先级指令分布情况判断处理单元processing unit的繁忙程度。根据所述处理单元processing unit的繁忙程度调整其工作频率。
若队列中高优先指令占比低于β,β优选为20%,即使此时指令复杂度较高,也将CPU视为空闲状态;反之,若队列中高优先指令占比高于α,α优选为80%,则将此时CPU视为繁忙状态。根据CPU的繁忙程度,依据所述矩形脉冲响应波形调频方法调节CPU频率。
若CPU处于繁忙状态,则CPU频率使用小幅多次跃变调整设置CPU频率的方法,跳转为频率表frequency table中相邻两项的较大项;
若CPU处于空闲状态,则CPU频率使用小幅多次跃变设置CPU频率的方法,跳转为频率表frequency table中相邻两项的较小项;
其余状态,则认为CPU频率适应当时计算任务量,无需跳转,处于非跃变调整。
本发明不同于传统基于应用或场景的分类方法,通过指令类型分类,提供更高的精细度,提高任务调控的可靠性。同时在相似度和人工智能分类算法的基础上,通过离散点聚合方式进行分类,提高了算法效率。本发明将传统方法无法区分的由跨运行库和跨指令集翻译中无意义的循环错误指令区分开来且将其设置为低优先级,避免计算处理平台在运行兼容性程序的场景下,CPU被转译时的无效计算占用,提高响应效率与执行速度,降低兼容层的执行功耗,提升安可工程平台的可靠性和设备稳定性。
以上实施例,只是本发明优选地具体实施例的一种,本领域技术人员在本发明技术方案范围内进行的通常变化和替换都包含在本发明的保护范围内。

Claims (8)

1.一种提升移动计算平台可靠性的方法,其特征在于,包括:
通过操作系统内核模块获取处理单元processing unit的工作频率;
基于计算机指令执行所带来效益不同,确立不同的优先级进行任务调度,并计算指令优先级分布;
根据所述处理单元processing unit的工作频率生成频率调控方法,再根据所述频率调控方法及指令优先级分布调整处理单元processing unit的工作频率;
所述“根据所述处理单元processing unit的工作频率生成频率调控方法,再根据所述频率调控方法及指令优先级分布调整处理单元processing unit的工作频率”,包括:
根据所述处理单元processing unit的工作频率构建频率表frequency table,所述工作频率至少包括升压频率boost frequency、最小频率min frequency和功耗比最佳频率max frequency;
所述频率表frequency table中相邻两项的工作频率,作为频率调控模型的参数;
根据所述参数生成频率调控模型;
根据所述频率调控模型生成频率调控方法;
构建基于指令优先级的判定方法;
根据所述频率调控方法和基于指令优先级的判定方法,调控处理单元processingunit的工作频率以及进行任务调度,使工作频率产生的计算资源与负载相匹配;
所述“根据所述参数生成频率调控模型”以及“根据所述频率调控模型生成频率调控方法”包括:
将所述频率表frequency table中相邻两项的工作频率作为所述频率调控模型的参数,生成处理单元processing unit的工作频率调控曲线;所述频率调控模型至少包括由矩形脉冲响应波形构成的调控模型;
根据频率调控曲线生成频率调控方法;
“根据所述频率调控曲线生成频率调控方法”包括:
根据所述矩形脉冲响应波形,判断频率调控方法的类型是跃变调整还是非跃变调整;
若非跃变调整,则在低位或高位小幅振荡的区间,按每个时钟周期调节频率,使时间-频率二维坐标点拟合成的曲线与波形一致;
若跃变调整,则在由低位向高位跃变或由高位向低位跃变的区间,以每时钟周期逐步调整频率的方式,使时间-频率二维坐标点拟合矩形脉冲响应波形的跃变部分曲线,在若干个周期内,将频率从初始状态调整到下一状态,当初始状态处于低位小幅振荡区间时,则所述下一状态为高位小幅振荡区间;当初始状态处于高位小幅振荡区间时,则所述下一状态为低位小幅振荡区间;
在跃变调整频率后,若处理单元processing unit负载的繁忙或空闲程度没有改变,则使用所述频率表frequency table中的更高或更低的频率项,生成新的频率调控曲线,按照所述频率调控方法,使处理单元processing unit频率与负载相匹配;
所述“基于计算机指令执行所带来效益不同,确立不同的优先级进行任务调度,并计算指令的优先级分布”,包括:
将所有计算机指令的类型分成n个基准类和m个非基准类,m、n为自然数;
对所述基准类和非基准类的指令按照指令执行所带来的效益从高到低进行优先级排序;
按照所述指令优先级顺序,执行缓存队列的指令;
根据指令序列中高优先级指令分布情况判断处理单元processing unit的繁忙程度;
根据所述处理单元processing unit的繁忙程度调整其工作频率;
所述“根据所述处理单元processing unit的繁忙程度调整其频率”,包括:
若处理单元processing unit处于繁忙状态,则使用小幅多次跃变调整设置频率的方法,跳转为频率表frequency table中相邻两项的较大项;所述频率表frequency table是由所述处理单元processing unit的工作频率构建;
若处理单元processing unit处于空闲状态,则使用小幅多次跃变调整设置频率的方法,跳转为频率表frequency table中相邻两项的较小项;
其余状态,则认为处理单元processing unit的工作频率适应当时计算任务量,无需跳转,处于非跃变调整。
2.根据权利要求1所述的提升移动计算平台可靠性的方法,其特征在于,所述“通过操作系统内核模块获取处理单元processing unit的工作频率”具体包括:
操作系统内核模块加载预设的频率表frequency table测试模型进行测试;
根据测试得出至少包括处理单元processing unit工作频率的测试结果。
3.根据权利要求2所述的提升移动计算平台可靠性的方法,其特征在于,所述“操作系统内核模块加载预设的频率表frequency table测试模型进行测试”,包括:
构建离散系统,作为频率表frequency table测试模型;
截取处理单元processing unit的多个运行频率或预设频率作为所述离散系统的输入;
得到所述离散系统的输出,并将所述离散系统的输出设置为处理单元processingunit的工作频率;
将所述离散系统的输出循环作为离散系统的输入,得到一系列离散系统的输出;
将一系列离散系统的输出的最大值和最小值,即高负载下的频率极限值和正常工况下的频率极低值,分别设置为升压频率boost frequency和最小频率min frequency;
在一系列离散系统的输出中,计算得出功耗比最佳时的频率max frequency。
4.根据权利要求3所述的提升移动计算平台可靠性的方法,其特征在于,所述“构建离散系统,作为频率表frequency table测试模型”包括:
构建多个单输入n阶离散系统,n为自然数,单输入n阶离散系统的输出收敛于常数c;
将多个单输入n阶离散系统叠加成为多输入离散系统,多输入离散系统的输出收敛于常数d;
将多输入离散系统,作为频率表frequency table测试模型。
5.根据权利要求1所述的提升移动计算平台可靠性的方法,其特征在于,所述“根据所述处理单元processing unit的工作频率构建频率表frequency table”包括:
在所述升压频率boost frequency和最小频率min frequency之间,离散系统的所有输出与相应时刻的电压,构成频率-电压二维坐标点;所述离散系统是由多个单输入n阶离散系统叠加构成,n为自然数,其中所述单输入n阶离散系统的输出收敛于常数c;
运用回归分析曲线拟合由所述坐标点组成的散点图;
根据拟合曲线,选取相差较大的频率项,作为所述离散系统的新输入,产生新的输出,并设置为新的频率,构建新的频率-电压二维坐标点;
对叠加上新离散点后的所有离散点,再次利用回归分析拟合曲线,直至使升压频率boost frequency和功耗比最佳频率max frequency之间n对相邻频率项都有相近的差值,功耗比最佳频率max frequency和最小频率min frequency之间m对相邻频率项都有相近的差值,且前者的差值小于后者,完成频率表frequency table构建,其中m、n是自然数;
所述频率表frequency table中相邻两项工作频率作为频率调控模型的参数。
6.根据权利要求1所述的提升移动计算平台可靠性的方法,其特征在于,所述“将所述频率表frequency table中相邻两项的工作频率作为所述频率调控模型的参数,生成处理单元processing unit的工作频率调控曲线”包括:
将所述频率表frequency table中相邻项作为矩形脉冲响应函数解析式的系数;
根据所述矩形脉冲响应函数解析式,生成频率调控曲线,所述频率调控曲线为矩形脉冲响应波形。
7.根据权利要求1所述的提升移动计算平台可靠性的方法,其特征在于,所述“将所有计算机指令的类型分成n个基准类和m个非基准类,m、n为自然数”,包括:
确定计算机指令的类型基准,其包括且不限于:重复循环类、跨运行库转译寻址类和二进制转换类;
用余弦相似度算法作为分类算法,将正在执行的指令与基准类别相似度大于预设的γ值的,设置为同一聚合类指令,γ为常数;
将所述同一聚合类指令划分到相应的基准类,将不属于聚合类的指令视为非基准类。
8.根据权利要求1所述的提升移动计算平台可靠性的方法,其特征在于,所述“根据所述指令序列中高优先级指令分布情况判断处理单元processing unit的繁忙程度”包括:
确定判断处理单元processing unit的繁忙程度的标准,即若队列中高优先指令占比低于预设的β值,即使此时指令复杂度较高,也视为空闲状态;若队列中高优先指令占比高于预设的α值,则视为繁忙状态;其中α、β为常数,且α>β;
根据所述判断处理单元processing unit的繁忙程度的标准,确定处理单元processing unit处于空闲或繁忙状态。
CN202111254525.4A 2021-10-27 2021-10-27 提升移动计算平台可靠性的方法 Active CN113961347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111254525.4A CN113961347B (zh) 2021-10-27 2021-10-27 提升移动计算平台可靠性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111254525.4A CN113961347B (zh) 2021-10-27 2021-10-27 提升移动计算平台可靠性的方法

Publications (2)

Publication Number Publication Date
CN113961347A CN113961347A (zh) 2022-01-21
CN113961347B true CN113961347B (zh) 2022-05-17

Family

ID=79467536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111254525.4A Active CN113961347B (zh) 2021-10-27 2021-10-27 提升移动计算平台可靠性的方法

Country Status (1)

Country Link
CN (1) CN113961347B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825159A (zh) * 2018-08-09 2020-02-21 辉达公司 配置处理器以有效执行指令的技术

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11035940B2 (en) * 2015-07-17 2021-06-15 Origin Wireless, Inc. Method, apparatus, and system for wireless proximity and presence monitoring
KR102270789B1 (ko) * 2014-12-10 2021-06-29 삼성전자주식회사 프로세서 및 프로세서의 명령어 처리 방법
CN105353865B (zh) * 2015-10-28 2019-03-26 上海大学 基于多处理器的动态调频方法
CN105938441B (zh) * 2016-04-15 2019-04-30 惠州Tcl移动通信有限公司 一种移动终端应用程序设置处理方法及系统
CN107515663B (zh) * 2016-06-15 2021-01-26 北京京东尚科信息技术有限公司 调整中央处理器内核运行频率的方法和装置
CN107506275B (zh) * 2017-06-21 2020-10-27 西北大学 一种基于arm指令虚拟化的软件防护能耗评估方法
CN107943269B (zh) * 2017-11-21 2021-01-01 Oppo广东移动通信有限公司 调度作业控制方法、装置、终端设备及存储介质
US11121654B2 (en) * 2019-09-30 2021-09-14 Sf Motors, Inc. Dynamic stability control for electric motor drives using stator flux oriented control
CN111884334B (zh) * 2020-07-01 2021-04-02 南京合纵电力设备有限公司 一种适于无人值守低压柜的监控方法和系统
CN113435120A (zh) * 2021-06-30 2021-09-24 燕山大学 基于温控负荷的负荷运行状态和中继带宽协同优化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825159A (zh) * 2018-08-09 2020-02-21 辉达公司 配置处理器以有效执行指令的技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向优先级用户的移动边缘计算任务调度策略;董思岐等;《计算机应用研究》;20200930;第37卷(第09期);第2701-2705页 *

Also Published As

Publication number Publication date
CN113961347A (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
Boyer et al. Load balancing in a changing world: dealing with heterogeneity and performance variability
JP7214786B2 (ja) 深層学習推論エンジンのスケジューリング方法、装置、機器及び媒体
CN107168770B (zh) 一种低能耗的云数据中心工作流调度与资源供给方法
Dutot et al. Towards energy budget control in HPC
Wu et al. Real-time load balancing scheduling algorithm for periodic simulation models
Chen et al. EONS: minimizing energy consumption for executing real-time workflows in virtualized cloud data centers
Ding et al. Profile-guided three-phase virtual resource management for energy efficiency of data centers
Zhu et al. A self-adapting task scheduling algorithm for container cloud using learning automata
Padoin et al. Saving energy by exploiting residual imbalances on iterative applications
CN105242954A (zh) 一种虚拟cpu与物理cpu之间的映射方法及电子设备
CN110221909A (zh) 一种基于负载预测的Hadoop计算任务推测执行方法
CN109783304A (zh) 一种数据中心的节能调度方法及对应装置
El Ghor et al. Energy efficient scheduler of aperiodic jobs for real-time embedded systems
CN113961439A (zh) 一种基于smt方法的dag任务wcrt计算方法
Huang et al. AoDNN: An auto-offloading approach to optimize deep inference for fostering mobile web
CN111367645B (zh) 一种实时任务调度控制方法、系统、设备及可读存储介质
Guyon et al. How much energy can green HPC cloud users save?
CN113961347B (zh) 提升移动计算平台可靠性的方法
Jun et al. Energy-aware tasks scheduling with deadline-constrained in clouds
Li et al. Rethinking data center networks: Machine learning enables network intelligence
Li et al. Real-time workflows oriented hybrid scheduling approach with balancing host weighted square frequencies in clouds
Cui et al. Cloud workflow task and virtualized resource collaborative adaptive scheduling algorithm based on distributed deep learning
Deng et al. Vmerger: Server consolidation in virtualized environment
Yang et al. Deep reinforcement agent for failure-aware job scheduling in high-performance computing
Kadhim et al. Deadline and Cost Aware Dynamic Task Scheduling in Cloud Computing Based on Stackelberg Game.

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