CN109445918A - 任务调度方法、装置、终端及存储介质 - Google Patents
任务调度方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN109445918A CN109445918A CN201811211271.6A CN201811211271A CN109445918A CN 109445918 A CN109445918 A CN 109445918A CN 201811211271 A CN201811211271 A CN 201811211271A CN 109445918 A CN109445918 A CN 109445918A
- Authority
- CN
- China
- Prior art keywords
- scene
- performance
- threshold
- scheduling
- core
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- 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)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种任务调度方法、装置、终端及存储介质,属于终端技术领域。所述方法用于具有多核处理器的终端,所述方法包括:获取***场景,***场景用于指示操作***当前执行的任务;若***场景属于第一性能场景,则将调度阈值设置为第一阈值,调度阈值是进行任务调度时第二性能核心的负载阈值;若***场景属于第二性能场景,则将调度阈值设置为第二阈值,第一阈值小于第二阈值,第一性能场景对性能的需求高于第二性能场景对性能的需求;根据调度阈值进行任务调度,其中,当第二性能核心的负载大于调度阈值时,第二性能核心上执行的任务切换至第一性能核心执行。本申请实施例实现了终端性能与功耗的动态调节。
Description
技术领域
本申请实施例涉及终端技术领域,特别涉及一种任务调度方法、装置、终端及存储介质。
背景技术
多核处理器(Multi-core processor)是指集成有至少两个处理核心(Core)的中央处理器(Central Processing Unit,CPU)。
通常情况下,多核处理器通常包含若干个大核和若干个小核,其中,大核的性能和功耗高于小核的性能和功耗。相关技术中,程序任务运行在小核时,若小核的负载高于负载阈值(比如95%),终端则会将该程序任务调度至大核运行。
发明内容
本申请实施例提供了一种任务调度方法、装置、终端及存储介质。所述技术方案如下:
一方面,提供了一种任务调度方法,所述方法用于具有多核处理器的终端,所述多核处理器包括至少一个第一性能核心和至少一个第二性能核心,所述第一性能核心的性能高于所述第二性能核心的性能,所述方法包括:
获取***场景,所述***场景用于指示操作***当前执行的任务;
若所述***场景属于第一性能场景,则将调度阈值设置为第一阈值,所述调度阈值是进行任务调度时所述第二性能核心的负载阈值;
若所述***场景属于第二性能场景,则将所述调度阈值设置为第二阈值,所述第一阈值小于所述第二阈值,所述第一性能场景对性能的需求高于所述第二性能场景对性能的需求;
根据所述调度阈值进行任务调度,其中,当所述第二性能核心的负载大于所述调度阈值时,所述第二性能核心上执行的任务切换至所述第一性能核心执行。
另一方面,提供了一种任务调度装置,所述装置用于具有多核处理器的终端,所述多核处理器包括至少一个第一性能核心和至少一个第二性能核心,所述第一性能核心的性能高于所述第二性能核心的性能,所述装置包括:
场景获取模块,用于获取***场景,所述***场景用于指示操作***当前执行的任务;
第一设置模块,用于当所述***场景属于第一性能场景时,将调度阈值设置为第一阈值,所述调度阈值是进行任务调度时所述第二性能核心的负载阈值;
第二设置模块,用于当所述***场景属于第二性能场景时,将所述调度阈值设置为第二阈值,所述第一阈值小于所述第二阈值,所述第一性能场景对性能的需求高于所述第二性能场景对性能的需求;
调度模块,用于根据所述调度阈值进行任务调度,其中,当所述第二性能核心的负载大于所述调度阈值时,所述第二性能核心上执行的任务切换至所述第一性能核心执行。
另一方面,提供了一种终端,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的任务调度方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的任务调度方法。
本申请实施例提供的任务调度方法中,通过获取指示当前执行任务的***场景,并根据***场景所属的性能场景,在高性能需求的第一性能场景时,将调度参数设置为第一阈值,在低性能需求的第二性能场景时,将调度参数设置为第二阈值,以便后续根据调度阈值进行任务调度;由于第一性能场景下设置的调度阈值低于第二性能场景下设置的调度阈值,因此,在高性能场景下,任务倾向于调度至第一性能核心执行,从而提高终端的性能;而在低性能场景下,任务倾向于被调度至第二性能核心执行,从而降低终端的功耗,实现了终端性能与功耗的动态调节。
附图说明
图1示出了本申请一个示例性实施例所提供的终端的结构示意图;
图2示出了本申请一个示例性实施例示出的任务调度方法的流程图;
图3示出了本申请另一个示例性实施例示出的任务调度方法的流程图;
图4示出了本申请另一个示例性实施例示出的任务调度方法的流程图;
图5示出了本申请另一个示例性实施例示出的任务调度方法的流程图;
图6示出了本申请一个实施例提供的任务调度装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参考图1,其示出了本申请一个示例性实施例所提供的终端的结构示意图。
可选的,该终端120中包括:处理器122和存储器124。
处理器122利用各种接口和线路连接整个终端120内的各个部分,通过运行或执行存储在存储器124内的指令、程序、代码集或指令集,以及调用存储在存储器124内的数据,执行终端100的各种功能和处理数据。可选的,处理器122可以采用数字信号处理(DigitalSignal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器122可集成中央处理器(Central Processing Unit,CPU)、图像处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器122中,单独通过一块芯片进行实现。
本申请实施例中,处理器122为多核处理器,其中包含至少一个第一性能核心(也可以被称为高性能核心或者大核)和至少一个第二性能核心(也可以被称为低性能核心或者小核),其中,第一性能核心的性能高于第二性能核心的性能,而第二性能核心的功耗高于第一性能核心的功耗。
比如,如图1所示,处理器122中包含2个第一性能核心122A以及4个第二性能核心122B。
存储器124可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器124可用于存储指令、程序、代码、代码集或指令集。存储器124可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
除了包含处理器122和存储器124之外,终端120还可以包含显示屏。显示屏是用于显示图像的组件。显示屏可以仅具有图像显示功能,也可以同时具有图像显示以及接收触摸操作的功能,即该显示屏可以为触摸显示屏。并且,显示屏可以是全面屏、异形屏、折叠屏、曲面屏或其他形式的屏幕,本申请实施例并不对此进行限定。
当然,终端120还可以包含拍照组件(比如摄像头)、距离传感器、加速度传感器、角速度传感器、定位组件、红外组件、蓝牙组件等其他组件,本申请实施例并不对终端120的具体结构构成限定。
终端中的程序任务在执行过程中,操作***会根据程序任务的复杂程度,动态将任务调度到不同性能的核心上执行。比如,对于复杂程度较高的任务,操作***将其调度至高性能核心上执行,而对于复杂程度较低的任务,操作***则将其调度至低性能核心上执行。
相关技术中,操作***根据核心的负载来判断任务的复杂程度,并根据预先设置的调度阈值(基于负载确定)来进行任务调度。比如,当该调度阈值为95%时,表示当任务在低性能核心上执行时,若低性能核心的负载达到95%,则将任务调度至高性能核心执行;若低性能核心的负载未达到95%,则继续在低性能核心上执行该任务。并且,该调度阈值为预先固设,且调度阈值被设置为较高值,从而实现在低性能核心上执行大部分任务,以降低终端的功耗。
然而,基于预先固设的调度阈值进行任务调度时,在某些对性能需求较高的场景下,在小核心上执行任务将影响终端性能。
本申请实施例提供的任务调度方法中,操作***具有动态设置调度配置的功能。通过获取指示当前执行任务的***场景,从而根据该***场景对性能的需求,动态设置调度参数,使得在高性能场景下,倾向于将任务调度至高性能核心执行,从而提高终端的性能;而在低性能场景下,倾向于将任务调度至低性能核心执行,从而降低终端的功耗,同时兼顾终端的功耗以及任务对性能的需求。下面采用示意性的实施例进行说明。
请参考图2,其示出了本申请一个示例性实施例示出的任务调度方法的流程图。本实施例以该方法应用于图1所示的终端120来举例说明。该方法包括:
步骤201,获取***场景,***场景用于指示操作***当前执行的任务。
在一种可能的实施方式中,终端操作***中设置有场景识别模块,通过该场景识别模块,操作***获取当前的***场景。
针对获取***场景的时机,在一种可能的实施方式中,当检测到***场景发生变化时,场景识别模块获取当前的***场景,或者,场景识别模块每隔预定时间间隔(比如5s)获取当前的***场景。本申请实施例并不对获取***场景的获取时机进行限定。
可选的,本申请实施例中涉及的***场景属于操作***级别的场景,与操作***当前执行的任务相关。
比如,该***场景可以包括如下至少一种:***启动场景、应用启动场景、应用安装场景、应用切换场景、文件传输场景、文件压缩/解压缩场景、视频编解码场景、界面旋转场景、拍摄场景、待机场景、解锁场景、音频通话场景、视频通话场景、音频播放场景和视频播放场景。
步骤202,若***场景属于第一性能场景,则将调度阈值设置为第一阈值,调度阈值是进行任务调度时第二性能核心的负载阈值。
本申请实施例中,操作***出了具备识别当前***场景的功能外,还具有动态修改调度阈值的功能。该调度阈值是进行任务调度时第二性能核心的负载阈值,即当第二性能核心执行任务,且负载达到该调度阈值(负载阈值)时,操作***将任务由第二性能核心调度至第一性能核心执行。
其中,第一性能场景可以被称为高性能场景,在该场景下,***所执行任务对性能的需求较高,且对性能的需求表现为对处理器处理性能的需求。
若当前的***场景属于高性能场景时,为了保证执行任务时的性能,操作***将调度阈值设置为第一阈值,以便第二性能核心的负载达到该调度阈值时,将任务由第二性能核心调度至第一性能核心执行。
可选的,为了使高性能场景下的复杂任务更加倾向于在第一性能核心上执行,第一阈值的取值较小。比如,该第一阈值为50%。
可选的,第一性能场景包括***启动场景、应用启动场景、应用安装场景、应用切换场景、文件传输场景、文件压缩/解压缩场景、视频编解码场景、界面旋转场景和拍摄场景中的至少一种。本申请实施例并不对第一性能场景的具体类型进行限定。
步骤203,若***场景属于第二性能场景,则将调度阈值设置为第二阈值,第一阈值小于第二阈值,第一性能场景对性能的需求高于第二性能场景对性能的需求。
其中,第二性能场景可以被称为低性能场景,在该场景下,***所执行任务对性能的需求较低,且对性能的需求表现为对处理器处理性能的需求。
若当前的***场景属于低性能场景时,为了降低执行任务时终端的功耗,操作***将调度阈值设置为第二阈值,以便第二性能核心的负载达到该调度阈值时,将任务由第二性能核心调度至第一性能核心执行。
可选的,为了使低性能场景下的复杂任务更加倾向于在第二性能核心上执行,第二阈值的取值较大(大于高性能场景下设置的第一阈值)。比如,该第二阈值为90%。
可选的,第二性能场景包括待机场景、解锁场景、音频通话场景、视频通话场景、音频播放场景和视频播放场景中的至少一种。本申请实施例并不对第二性能场景的具体类型进行限定。
上述实施例中,仅以基于性能需求划分出两种***场景为例进行说明,在其他可能的实施方式中,还可以基于性能需求划分出三种或三种以上类型的***场景,并未不同类型的***场景分别设置不同的调度阈值,本申请实施例并不对此进行限定。
比如,操作***预先划分出第一性能场景、第二性能场景和第三性能场景,这三种***场景各自对应的调度阈值分别为第一阈值、第二阈值和第三阈值,其中,第一阈值<第二阈值<第三阈值。
步骤204,根据调度阈值进行任务调度,其中,当第二性能核心的负载大于调度阈值时,第二性能核心上执行的任务切换至第一性能核心执行。
动态设置完调度阈值后,操作***根据第二性能核心的实时负载与调度阈值的大小关系进行任务调度。
其中,当第二性能核心的负载大于调度阈值时,操作***将第二性能核心上执行的任务调度至第一性能核心执行;当第二性能核心的负载小于调度阈值时,操作***继续在第二性能核心上执行任务。
综上所述,本申请实施例提供的任务调度方法中,通过获取指示当前执行任务的***场景,并根据***场景所属的性能场景,在高性能需求的第一性能场景时,将调度参数设置为第一阈值,在低性能需求的第二性能场景时,将调度参数设置为第二阈值,以便后续根据调度阈值进行任务调度;由于第一性能场景下设置的调度阈值低于第二性能场景下设置的调度阈值,因此,在高性能场景下,任务倾向于调度至第一性能核心执行,从而提高终端的性能;而在低性能场景下,任务倾向于被调度至第二性能核心执行,从而降低终端的功耗,实现了终端性能与功耗的动态调节。
由于执行任务的复杂程度还与当前应用程序相关,因此,在一种可能的实施方式中,获取***场景之后,若***场景属于第二性能场景,操作***则获取***场景下运行的应用程序。若应用程序对应的应用类型与第一性能场景的关联度大于关联度阈值,则在应用程序运行过程中,将调度阈值设置为第一阈值。否则,将调度阈值设置为第二阈值。
可选的,操作***预先存储有应用类型与第一性能场景之间关联度的对应关系,基于该对应关系,操作***获取当前***场景与第一性能场景的关联度,并在关联度大于关联度阈值时,将调度阈值设置为第一阈值,使得在应用程序倾向于运行在第一性能核心上,提高应用程序的运行质量。
示意性,操作***获取当前***场景下运行的应用程序为“XX美颜相机”,并获取到相机类应用程序与拍摄场景的关联度为90%。由于关联度大于关联度阈值(80%),因此,操作***在“XX美颜相机”运行过程中,将调度阈值设置为第一阈值。
高性能场景(第一性能场景)下,将调度阈值设置为较小值时,任务容易被调度至第一性能核心执行,从而保证任务的执行质量。但是,由于第一性能核心的功耗高于第二性能核心的功耗,因此,相较于在第二性能核心上执行任务,在第一性能核心上执行任务时的功耗将有所增加。
为了避免在电池电量不足,或需要长时间待机的情况下,频繁将任务调度至第一性能核心执行,影响终端使用时长的问题,请参考图3,其示出了本申请另一个示例性实施例示出的任务调度方法的流程图。
步骤301,获取***场景,***场景用于指示操作***当前执行的任务。
本步骤的实施方式可以参考上述步骤201,本实施例在此不再赘述。
步骤302,获取当前剩余电量,或,省电模式的开闭状态。
为了避免在电量较低,或需要长时间待机的情况下,将调度阈值设置为较小值,终端获取当前剩余电量,或,获取省电模式的开闭状态。
比如,终端获取到当前剩余电量为50%,或,省电模式为开启状态。
需要说明的是,步骤301和步骤302之间不存在严格的先后关系,本实施例仅以步骤301在步骤302之前执行为例进行说明,但并不对此构成限定。
步骤303,若***场景属于第一性能场景,且当前剩余电量高于电量阈值,或,***场景属于第一性能场景,且省电模式处于关闭状态,则将调度阈值设置为第一阈值。
在一种可能的实施方式中,操作***进一步检测当前剩余电量是否低于电量阈值,或,检测省电模式是否处于开启状态。若当前的***场景为第一性能场景,且当前剩余电量高于电量阈值,或者,当前的***场景为第一性能场景,且当前省电模式未开启(处于关闭状态),操作***将调度阈值设置为第一阈值。
在一个示意性的例子中,当前剩余电量为50%,且电量阈值为20%时,由于当前剩余电量高于电量阈值,因此操作***在当前***场景属于第一性能场景时,将调度阈值设置为第一阈值。
不同于在第一性能场景下直接将调度阈值设置为第一阈值,本实施例中,综合终端性能和功耗,当处于第一性能场景,且电量充足,或者,处于第一性能场景,且没有长时间待机需求时,操作***将调度阈值设置为第一阈值,保证执行任务的质量。
步骤304,若***场景属于第一性能场景,且当前剩余电量低于电量阈值,或,***场景属于第一性能场景,且省电模式处于开启状态,则将调度阈值设置为第二阈值。
当当前剩余电量低于电量阈值时,表明电池电量不足,调度第一性能核心执行任务将造成电量快速下降;当省电模式处于开启状态时,表明终端需要长时间待机,调度第一性能核心执行任务将影响终端待机时长。因此,当***场景属于第一性能场景,且当前剩余电量低于电量阈值,或,***场景属于第一性能场景,且省电模式处于开启状态时,操作***将调度阈值设置为第二阈值,使得终端倾向于使用第二性能核心执行任务,从而降低终端功耗,延长终端使用时长。
在一个示意性的例子中,当剩余电量为15%,且电量阈值为20%时,由于当前剩余电量低于电量阈值,因此操作***在当前***场景属于第一性能场景时,将调度阈值设置为第二阈值。
在另一个示意性的例子中,当用户开启终端的省电模式时,不论当前剩余电量是否高于电量阈值,在第一性能场景时,操作***均将调度阈值设置为第二阈值。
步骤305,若***场景属于第二性能场景,则将调度阈值设置为第二阈值,第一阈值小于第二阈值,第一性能场景对性能的需求高于第二性能场景对性能的需求。
可选的,不论当前剩余电量是否低于电量阈值,或,省电模式是否处于开启状态,在第二性能场景下,操作***均将调度阈值设置为第二阈值。
步骤306,根据调度阈值进行任务调度。
本步骤的实施方式可以参考上述步骤204,本实施例在此不再赘述。
本实施例中,终端通过获取当前剩余电量或省电模式的开闭状态,在当前剩余电量充足,或,未开启省电模式的情况下,将第一性能场景下的调度阈值设置为第一阈值,避免电量不足或开启省电模式时,频繁调度至第一性能核心执行任务是对终端续航时间造成的影响。
在一种场景下,终端操作***的***场景会随着用户操作发生变化,比如,用户解锁终端时,终端操作***处于低性能场景;当终端完成解锁后,用户点击应用图标开启游戏应用程序时,操作***将处于高性能场景。为了在切换至高性能场景前提前完成调度参数设置,从而提高任务调度的时效性,在图2的基础上,如图4所示,步骤201之后还可以包括如下步骤。
步骤205,获取***场景对应的关联***场景,其中,该***场景下,切换至关联***场景的概率大于概率阈值。
针对获取关联***场景的时机,可选的,若***场景属于第二性能场景,操作***进一步获取***场景对应的关联***场景。
在一种可能的实施方式中,终端中存储有***场景与关联***场景之间的对应关系,终端根据获取到的***场景,从该对应关系中查找对应的关联***场景。比如,终端根据***场景“解锁场景”,从对应关系中查找到关联***场景“应用启动场景”。
在另一种可能的实施方式中,操作***获取***场景之间的历史切换记录(比如,一条历史切换记录可以表示为:[A***场景,B***场景]),并将历史切换记录作为训练样本,通过深度学习网络训练构建场景切换预测模型,该场景切换预测模型用于根据当前***场景预测出切换至候选***场景的概率。当获取到当前的***场景后,操作***将该***场景输入场景切换预测模型,得到模型输出的候选***场景的概率,从而将概率最高的候选***场确定为关联***场景。本申请实施例并不对获取当前***场景对应关联***场景的方式进行限定。
步骤206,若关联***场景属于第一性能场景,则将调度阈值设置为第一阈值。
进一步的,终端检测关联***场景是否属于第一性能场景,若属于,则将调度阈值设置为第一阈值,后续由第二性能场景切换至第一性能场景时,由于调度阈值已完成设置,因此可以提高任务调度的效率。
可选的,若关联***场景不属于第一性能场景,则将调度阈值设置为第二阈值。
由于终端可能并不会由当前***场景切换为关联***场景,若长时间将调度阈值设置为第一阈值,可能会导致长时间在第一性能核心上执行低复杂程度的任务,造成终端功耗增加。
因此,在一种可能的实施方式中,如图5所示,本步骤包括如下步骤:
步骤206A,若关联***场景属于第一性能场景,则获取***场景与关联***场景之间的场景切换间隔。
可选的,不同***场景之间的场景切换间隔可以相同也可以不同。比如,该场景切换间隔为预设值(例如10s),或者,该场景切换间隔根据***场景和关联***场景确定(基于历史切换记录中包含的切换时间间隔学习得到)。
步骤206B,在场景切换间隔内将调度阈值设置为第一阈值。
示意性的,操作***获取到“解锁场景”与“应用启动场景”之间的场景切换间隔为5s,从而在“解锁场景下”,将调度阈值设置为第一阈值,并保持5s。
可选的,若在场景切换间隔内未由***场景切换为关联***场景,操作***则将调度阈值设置为第二阈值,从而避免长时间在第一性能核心上执行低复杂程度的任务。
本实施例中,终端通过获取当前***场景对应的关联***场景,并在关联***场景属于第一性能场景时,将调度阈值设置为第一阈值,实现了在进入高性能场景前调度阈值的提前设置,进而提高了任务调度的效率。
此外,通过获取当前***场景与关联***场景之间的场景切换间隔,并在该场景切换间隔内将调度阈值设置为第一阈值,避免长时间未进行场景切换时,在第一性能核心上执行低复杂程度任务造成的功耗增加。
需要说明的是,图4和图5所示的实施例可以单独执行,也可以进行组合得到一个新的实施例,本申请实施例在此不再赘述。
请参考图6,其示出了本申请一个实施例提供的任务调度装置的结构框图。该任务调度装置可以通过软件、硬件或者两者的结合实现成为终端120的全部或一部分。该装置包括:
场景获取模块601,用于获取***场景,所述***场景用于指示操作***当前执行的任务;
第一设置模块602,用于当所述***场景属于第一性能场景时,将调度阈值设置为第一阈值,所述调度阈值是进行任务调度时第二性能核心的负载阈值;
第二设置模块603,用于当所述***场景属于第二性能场景时,将所述调度阈值设置为第二阈值,所述第一阈值小于所述第二阈值,所述第一性能场景对性能的需求高于所述第二性能场景对性能的需求;
调度模块604,用于根据所述调度阈值进行任务调度,其中,当所述第二性能核心的负载大于所述调度阈值时,所述第二性能核心上执行的任务切换至第一性能核心执行。
可选的,所述装置还包括:
电量获取模块,用于获取当前剩余电量,或,省电模式的开闭状态;
所述第一设置模块602,用于:
若所述***场景属于所述第一性能场景,且所述当前剩余电量高于电量阈值,或,所述***场景属于所述第一性能场景,且所述省电模式处于关闭状态,则将所述调度阈值设置为所述第一阈值。
可选的,所述装置还包括:
第三这只模块,用于若所述***场景属于所述第一性能场景,且所述当前剩余电量低于电量阈值,或,所述***场景属于所述第一性能场景,且所述省电模式处于开启状态,则将所述调度阈值设置为所述第二阈值。
可选的,所述装置还包括:
关联场景获取模块,用于获取所述***场景对应的关联***场景,其中,所述***场景下,切换至所述关联***场景的概率大于概率阈值;
第四设置模块,用于若所述关联***场景属于所述第一性能场景,则将所述调度阈值设置为所述第一阈值。
可选的,所述第四设置模块,用于:
若所述关联***场景属于所述第一性能场景,则获取所述***场景与所述关联***场景之间的场景切换间隔;
在所述场景切换间隔内将所述调度阈值设置为所述第一阈值。
可选的,装置还包括:
第五设置模块,用于若在所述场景切换间隔内未由所述***场景切换为所述关联***场景,则将所述调度阈值设置为所述第二阈值。
可选的,所述装置还包括:
应用获取模块,用于若所述***场景属于第二性能场景,则获取所述***场景下运行的应用程序;
第六设置模块,用于若所述应用程序对应的应用类型与所述第一性能场景的关联度大于关联度阈值,则在所述应用程序运行过程中,将所述调度阈值设置为所述第一阈值。
可选的,所述第一性能场景包括***启动场景、应用启动场景、应用安装场景、应用切换场景、文件传输场景、文件压缩/解压缩场景、视频编解码场景、界面旋转场景和拍摄场景中的至少一种;
所述第二性能场景包括待机场景、解锁场景、音频通话场景、视频通话场景、音频播放场景和视频播放场景中的至少一种。
综上所述,本申请实施例中,通过获取指示当前执行任务的***场景,并根据***场景所属的性能场景,在高性能需求的第一性能场景时,将调度参数设置为第一阈值,在低性能需求的第二性能场景时,将调度参数设置为第二阈值,以便后续根据调度阈值进行任务调度;由于第一性能场景下设置的调度阈值低于第二性能场景下设置的调度阈值,因此,在高性能场景下,任务倾向于调度至第一性能核心执行,从而提高终端的性能;而在低性能场景下,任务倾向于被调度至第二性能核心执行,从而降低终端的功耗,实现了终端性能与功耗的动态调节。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的任务调度方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的任务调度方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种任务调度方法,其特征在于,所述方法用于具有多核处理器的终端,所述多核处理器包括至少一个第一性能核心和至少一个第二性能核心,所述第一性能核心的性能高于所述第二性能核心的性能,所述方法包括:
获取***场景,所述***场景用于指示操作***当前执行的任务;
若所述***场景属于第一性能场景,则将调度阈值设置为第一阈值,所述调度阈值是进行任务调度时所述第二性能核心的负载阈值;
若所述***场景属于第二性能场景,则将所述调度阈值设置为第二阈值,所述第一阈值小于所述第二阈值,所述第一性能场景对性能的需求高于所述第二性能场景对性能的需求;
根据所述调度阈值进行任务调度,其中,当所述第二性能核心的负载大于所述调度阈值时,所述第二性能核心上执行的任务切换至所述第一性能核心执行。
2.根据权利要求1所述的方法,其特征在于,所述获取***场景之后,所述方法还包括:
获取当前剩余电量,或,省电模式的开闭状态;
所述若所述***场景属于第一性能场景,则将调度阈值设置为第一阈值,包括:
若所述***场景属于所述第一性能场景,且所述当前剩余电量高于电量阈值,或,所述***场景属于所述第一性能场景,且所述省电模式处于关闭状态,则将所述调度阈值设置为所述第一阈值。
3.根据权利要求2所述的方法,其特征在于,所述获取当前剩余电量,或,省电模式的开闭状态之后,所述方法还包括:
若所述***场景属于所述第一性能场景,且所述当前剩余电量低于电量阈值,或,所述***场景属于所述第一性能场景,且所述省电模式处于开启状态,则将所述调度阈值设置为所述第二阈值。
4.根据权利要求1至3任一所述的方法,其特征在于,所述获取***场景之后,所述方法还包括:
获取所述***场景对应的关联***场景,其中,所述***场景下,切换至所述关联***场景的概率大于概率阈值;
若所述关联***场景属于所述第一性能场景,则将所述调度阈值设置为所述第一阈值。
5.根据权利要求4所述的方法,其特征在于,所述若所述关联***场景属于所述第一性能场景,则将所述调度阈值设置为所述第一阈值,包括:
若所述关联***场景属于所述第一性能场景,则获取所述***场景与所述关联***场景之间的场景切换间隔;
在所述场景切换间隔内将所述调度阈值设置为所述第一阈值。
6.根据权利要求5所述的方法,其特征在于,所述在所述场景切换间隔内将所述调度阈值设置为所述第一阈值之后,所述方法还包括:
若在所述场景切换间隔内未由所述***场景切换为所述关联***场景,则将所述调度阈值设置为所述第二阈值。
7.根据权利要求1所述的方法,其特征在于,所述获取***场景之后,所述方法还包括:
若所述***场景属于第二性能场景,则获取所述***场景下运行的应用程序;
若所述应用程序对应的应用类型与所述第一性能场景的关联度大于关联度阈值,则在所述应用程序运行过程中,将所述调度阈值设置为所述第一阈值。
8.根据权利要求1至3任一所述的方法,其特征在于,
所述第一性能场景包括***启动场景、应用启动场景、应用安装场景、应用切换场景、文件传输场景、文件压缩/解压缩场景、视频编解码场景、界面旋转场景和拍摄场景中的至少一种;
所述第二性能场景包括待机场景、解锁场景、音频通话场景、视频通话场景、音频播放场景和视频播放场景中的至少一种。
9.一种任务调度装置,其特征在于,所述装置用于具有多核处理器的终端,所述多核处理器包括至少一个第一性能核心和至少一个第二性能核心,所述第一性能核心的性能高于所述第二性能核心的性能,所述装置包括:
场景获取模块,用于获取***场景,所述***场景用于指示操作***当前执行的任务;
第一设置模块,用于当所述***场景属于第一性能场景时,将调度阈值设置为第一阈值,所述调度阈值是进行任务调度时所述第二性能核心的负载阈值;
第二设置模块,用于当所述***场景属于第二性能场景时,将所述调度阈值设置为第二阈值,所述第一阈值小于所述第二阈值,所述第一性能场景对性能的需求高于所述第二性能场景对性能的需求;
调度模块,用于根据所述调度阈值进行任务调度,其中,当所述第二性能核心的负载大于所述调度阈值时,所述第二性能核心上执行的任务切换至所述第一性能核心执行。
10.一种终端,其特征在于,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至8任一所述的任务调度方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如权利要求1至8任一所述的任务调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811211271.6A CN109445918B (zh) | 2018-10-17 | 2018-10-17 | 任务调度方法、装置、终端及存储介质 |
PCT/CN2019/109142 WO2020078206A1 (zh) | 2018-10-17 | 2019-09-29 | 任务调度方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811211271.6A CN109445918B (zh) | 2018-10-17 | 2018-10-17 | 任务调度方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109445918A true CN109445918A (zh) | 2019-03-08 |
CN109445918B CN109445918B (zh) | 2021-06-18 |
Family
ID=65547322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811211271.6A Active CN109445918B (zh) | 2018-10-17 | 2018-10-17 | 任务调度方法、装置、终端及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109445918B (zh) |
WO (1) | WO2020078206A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947569A (zh) * | 2019-03-15 | 2019-06-28 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN110096416A (zh) * | 2019-03-13 | 2019-08-06 | 中国平安人寿保险股份有限公司 | 异常报警方法、装置、计算机装置及可读存储介质 |
WO2020078206A1 (zh) * | 2018-10-17 | 2020-04-23 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
WO2020206688A1 (zh) * | 2019-04-12 | 2020-10-15 | 深圳市欢太科技有限公司 | 视频播放方法、装置、存储介质及电子设备 |
CN112631415A (zh) * | 2020-12-31 | 2021-04-09 | Oppo(重庆)智能科技有限公司 | Cpu频率调整方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495756A (zh) * | 2011-11-07 | 2012-06-13 | 北京中星微电子有限公司 | 操作***在不同的中央处理器之间切换的方法及*** |
CN102708011A (zh) * | 2012-05-11 | 2012-10-03 | 南京邮电大学 | 一种面向云计算平台任务调度的多级负载评估方法 |
CN103246559A (zh) * | 2012-02-10 | 2013-08-14 | 联想(北京)有限公司 | 应用处理方法和电子设备 |
CN103324270A (zh) * | 2013-06-25 | 2013-09-25 | 东莞宇龙通信科技有限公司 | 一种移动终端及调节其cpu频率的方法 |
CN103559092A (zh) * | 2013-11-12 | 2014-02-05 | 中国人民解放军国防科学技术大学 | 异构并行计算结点的峰值功耗控制方法 |
CN103902010A (zh) * | 2012-12-26 | 2014-07-02 | 联想(北京)有限公司 | 一种降低功耗的方法及电子设备 |
CN104679586A (zh) * | 2013-10-31 | 2015-06-03 | 三星电子株式会社 | 包括异构多核处理器的电子***及其操作方法 |
CN105260236A (zh) * | 2015-09-22 | 2016-01-20 | 惠州Tcl移动通信有限公司 | 一种移动终端及其处理器性能调整方法 |
US20160026227A1 (en) * | 2014-07-22 | 2016-01-28 | Empire Technology Development Llc | Dynamic router power control in multi-core processors |
US20170024001A1 (en) * | 2008-02-29 | 2017-01-26 | Herbert Hum | Distribution of Tasks Among Asymmetric Processing Elements |
US20170031425A1 (en) * | 2015-07-31 | 2017-02-02 | Hon Hai Precision Industry Co., Ltd. | Power consumption management device, system and method thereof |
US20170177388A1 (en) * | 2015-12-18 | 2017-06-22 | Htc Corporation | Processor management |
CN107506244A (zh) * | 2017-09-13 | 2017-12-22 | 厦门美图移动科技有限公司 | 一种cpu调度方法、移动终端及cpu调度*** |
CN108536538A (zh) * | 2018-03-13 | 2018-09-14 | Oppo广东移动通信有限公司 | 处理器核心调度方法、装置、终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372524B2 (en) * | 2011-12-15 | 2016-06-21 | Intel Corporation | Dynamically modifying a power/performance tradeoff based on processor utilization |
KR20150136345A (ko) * | 2014-05-27 | 2015-12-07 | 삼성전자주식회사 | 태스크 그룹 전달 방법 및 이를 제공하는 전자 장치 |
CN109445918B (zh) * | 2018-10-17 | 2021-06-18 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
-
2018
- 2018-10-17 CN CN201811211271.6A patent/CN109445918B/zh active Active
-
2019
- 2019-09-29 WO PCT/CN2019/109142 patent/WO2020078206A1/zh active Application Filing
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170024001A1 (en) * | 2008-02-29 | 2017-01-26 | Herbert Hum | Distribution of Tasks Among Asymmetric Processing Elements |
CN102495756A (zh) * | 2011-11-07 | 2012-06-13 | 北京中星微电子有限公司 | 操作***在不同的中央处理器之间切换的方法及*** |
CN103246559A (zh) * | 2012-02-10 | 2013-08-14 | 联想(北京)有限公司 | 应用处理方法和电子设备 |
CN102708011A (zh) * | 2012-05-11 | 2012-10-03 | 南京邮电大学 | 一种面向云计算平台任务调度的多级负载评估方法 |
CN103902010A (zh) * | 2012-12-26 | 2014-07-02 | 联想(北京)有限公司 | 一种降低功耗的方法及电子设备 |
CN103324270A (zh) * | 2013-06-25 | 2013-09-25 | 东莞宇龙通信科技有限公司 | 一种移动终端及调节其cpu频率的方法 |
CN104679586A (zh) * | 2013-10-31 | 2015-06-03 | 三星电子株式会社 | 包括异构多核处理器的电子***及其操作方法 |
CN103559092A (zh) * | 2013-11-12 | 2014-02-05 | 中国人民解放军国防科学技术大学 | 异构并行计算结点的峰值功耗控制方法 |
US20160026227A1 (en) * | 2014-07-22 | 2016-01-28 | Empire Technology Development Llc | Dynamic router power control in multi-core processors |
US20170031425A1 (en) * | 2015-07-31 | 2017-02-02 | Hon Hai Precision Industry Co., Ltd. | Power consumption management device, system and method thereof |
CN105260236A (zh) * | 2015-09-22 | 2016-01-20 | 惠州Tcl移动通信有限公司 | 一种移动终端及其处理器性能调整方法 |
US20170177388A1 (en) * | 2015-12-18 | 2017-06-22 | Htc Corporation | Processor management |
CN107506244A (zh) * | 2017-09-13 | 2017-12-22 | 厦门美图移动科技有限公司 | 一种cpu调度方法、移动终端及cpu调度*** |
CN108536538A (zh) * | 2018-03-13 | 2018-09-14 | Oppo广东移动通信有限公司 | 处理器核心调度方法、装置、终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
F. AL-HAIDARI 等: "Impact of CPU Utilization Thresholds and Scaling Size on Autoscaling Cloud Resources", 《2013 IEEE 5TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE》 * |
吴瑶瑶 等: "云环境下分布式文件***负载均衡研究", 《计算机工程与应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020078206A1 (zh) * | 2018-10-17 | 2020-04-23 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN110096416A (zh) * | 2019-03-13 | 2019-08-06 | 中国平安人寿保险股份有限公司 | 异常报警方法、装置、计算机装置及可读存储介质 |
CN109947569A (zh) * | 2019-03-15 | 2019-06-28 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN109947569B (zh) * | 2019-03-15 | 2021-04-06 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
WO2020206688A1 (zh) * | 2019-04-12 | 2020-10-15 | 深圳市欢太科技有限公司 | 视频播放方法、装置、存储介质及电子设备 |
CN112631415A (zh) * | 2020-12-31 | 2021-04-09 | Oppo(重庆)智能科技有限公司 | Cpu频率调整方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020078206A1 (zh) | 2020-04-23 |
CN109445918B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445918A (zh) | 任务调度方法、装置、终端及存储介质 | |
CN109409513B (zh) | 一种基于神经网络的任务处理方法及相关设备 | |
US20100180202A1 (en) | User Interfaces for Electronic Devices | |
CN109637548A (zh) | 基于声纹识别的语音交互方法及装置 | |
CN109343902A (zh) | 音频处理组件的运行方法、装置、终端及存储介质 | |
CN102306095A (zh) | 应用程序管理方法和终端 | |
CN109062715B (zh) | 内存时钟频率的确定方法、装置及终端 | |
CN107402791B (zh) | 应用程序处理方法、装置、存储介质及终端 | |
WO2017107737A1 (zh) | 终端灭屏时间的调整方法、装置、设备及计算机存储介质 | |
CN109271253A (zh) | 一种资源调配方法、装置及*** | |
CN103220392A (zh) | 一种自动录音的方法、装置及移动终端 | |
CN106406494B (zh) | 一种处理器调度的方法及终端 | |
CN111881862B (zh) | 手势识别方法及相关装置 | |
CN115460469B (zh) | 多视频播放的处理方法、装置、计算机设备及存储介质 | |
CN109903359A (zh) | 一种粒子的显示方法、装置、移动终端和存储介质 | |
CN103150503A (zh) | 一种木马扫描方法及木马扫描装置 | |
CN116578422A (zh) | 资源分配方法和电子设备 | |
WO2022110939A1 (zh) | 一种设备推荐方法及电子设备 | |
CN115118820A (zh) | 一种通话处理方法、装置、计算机设备及存储介质 | |
CN112925457A (zh) | 应用程序的控制方法、装置、存储介质及终端 | |
AU2021367389B2 (en) | A digital telephony session instantiation and control system | |
CN107562527A (zh) | 一种rtos上的smp的实时任务调度算法 | |
CN109688262A (zh) | 一种终端的控制方法、装置、存储介质及终端 | |
CN113660375B (zh) | 通话方法、装置及电子设备 | |
WO2023024894A1 (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 |