CN113064677A - 应用运行方法及装置、存储介质及电子装置 - Google Patents
应用运行方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113064677A CN113064677A CN202110202085.1A CN202110202085A CN113064677A CN 113064677 A CN113064677 A CN 113064677A CN 202110202085 A CN202110202085 A CN 202110202085A CN 113064677 A CN113064677 A CN 113064677A
- Authority
- CN
- China
- Prior art keywords
- load
- load contribution
- cluster
- contribution
- centroid
- 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
Images
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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
- G06F9/505—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 considering the load
-
- 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)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用运行方法及装置、存储介质及电子装置,其中,上述方法包括:获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种应用运行方法及装置、存储介质及电子装置。
背景技术
随着智能家电的发展,现在很多智能家电都开始使用了Linux操作系统,并且自从Linux操作系统引入了实体负载跟踪(Per-entity load tracking,简称为PELT)算法以后,Linux操作就开始提供精细化的负载追踪。
但是在基于Linux的智能家电上,因为PELT算法考虑了一个调度实体的历史负载,所以遇到突发高负载操作的时候,反应会有些慢,比如渲染线程突然要在屏幕上渲染更多的内容,PELT算法在辨别进程负载变化上就有点迟钝,无法快速的将应用移动到计算能力强的处理器上。
针对相关技术,应用在遇到突发的高负载操作时,操作系统无法快速的将应用移动到计算能力强的处理器上等问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用运行方法及装置、存储介质及电子装置,以至少解决应用在遇到突发的高负载操作时,操作系统无法快速的将应用移动到计算能力强的处理器上等问题。
根据本发明实施例的一个实施例,一种应用运行方法,包括:获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
在一个示例性实施例中,获取应用在不同时间段的负载贡献集合,包括:通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合。
在一个示例性实施例中,通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合,包括:根据所述多个负载贡献值确定所述应用在不同时间段对应的不同负载贡献簇的次数;在检测到所述应用在目标时间段对应的负载贡献值位于所述第一负载贡献簇内的次数大于第二阈值的情况下,为所述目标时间段的负载贡献值设置基础值;将所述目标时间段的负载贡献值和所述基础值之和作为所述目标时间段的最终负载贡献值,其中,所述负载贡献集合包括:所述最终负载贡献值。
在一个示例性实施例中,通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,包括:随机从所述负载贡献集合中选取两个负载贡献值作为第一质心和第二质心,其中,所述第一质心大于所述第二质心;判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一质心集合还是第二质心集合,其中,所述第一质心集合为所述第一负载贡献簇,所述第二质心集合为所述第二负载贡献簇。
在一个示例性实施例中,判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一负载贡献簇,或第二负载贡献簇之后,还包括:从所述第一负载贡献簇和第二负载贡献簇中分别计算得出第三质心和第四质心;在所述第三质心与所述第一质心的距离大于预设阈值,或所述第四质心与所述第二质心的距离大于预设阈值的情况下,确定所述负载贡献集合中的负载贡献值属于第三质心集合,或第四质心集合。
在一个示例性实施例中,所述方法还包括:在所述应用对应的负载贡献值处在第一负载贡献簇的时间大于第三阈值的情况下,将所述应用对应的多个负载贡献值从用于计算质心的样本库中删除。
根据本发明实施例的另一个实施例,还提供了一种应用运行装置,包括:获取模块,用于获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;确定模块,用于通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;移动模块,用于在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
在一个示例性实施例中,所述获取模块,还用于通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述应用运行方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述应用运行方法。
通过本发明,引入一种应用运行方法,获取应用在不同时间段的负载贡献集合,通过聚类算法对负载贡献集合中不同时间段对应的多个负载贡献值进行分类,从而确定所述应用在不同时间段的负载贡献簇,在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。采用上述技术方案,解决了应用在遇到突发的高负载操作时,操作系统无法快速的将应用移动到计算能力强的处理器上等问题,进而通过获取应用不同时间段的负载贡献集合,通过聚类算法进行分类,将在第一负载贡献簇的应用在进行高负载操作以前,提前将应用移动到处理器计算能力强的处理器中,提高了应用运用的流畅度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的应用运行方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的应用运行方法的流程图(一);
图3是根据本发明实施例的应用运行方法的流程图(二);
图4是根据本发明实施例的应用运行方法的聚类算法的流程图(一);
图5是根据本发明实施例的应用运行方法的聚类算法的流程图(二);
图6是根据本发明实施例的应用运行装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种应用运行方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的应用运行方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了更好的理解本发明的技术方案,以下对现有的PELT算法做简要的说明:PELT算法在实现过程中,为了做到记录负载追踪,时间被分成了1024微秒的序列,在每个1024微秒周期中,一个entity实体对系统负载的贡献可以根据该entity实体处于runnable(正在被处理器执行,或者等待处理器执行)状态的时间进行计算。如果在该周期内,runnable的时间是x微秒,那么对系统负载的贡献就是x微秒。当然,一个实体在一个计算周期内的负载可能会超过1024微秒,这是因为会累积在过去周期中的负载,同时对于过去的负载在计算的时候需要乘一个衰减因子。一个调度实体对系统负荷的总贡献可以表示为:
L=L0+L1*y+L2*y2+L3*y3+...+Ln*yn。
其中L0为当前时间点的负载,L1、L2…Ln为过去周期的负载,衰减因子为y,其中y^32=0.5,即计算当前时间的负载只需要上个周期负载贡献总和乘以衰减系数y,并加上当前时间点的负载即可。
相关技术中,当负载追踪算法在计算当前负载时,由于考虑了历史负载,且历史负载消减需要一定时间,这和衰减因子有关,所以遇到突发高负载操作时,无法保证处理器(Central Processing Unit,简称为CPU)快速充分利用。PELT算法使用了32毫秒的衰减时间,大约213毫秒才能将之前的负载忘记。
然而理想的情况是,当有高负载操作出现时,该进程可以被快速迁移到计算能力强的CPU内核上,就可以有效提高家电的流畅性。为了解决上述问题,在本实施例中提供了一种应用运行方法,图2是根据本发明实施例的应用运行方法的流程图(一),该流程包括如下步骤:
步骤S202,获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;
步骤S204,通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;
步骤S206,在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
通过上述步骤,引入一种应用运行方法,获取应用在不同时间段的负载贡献集合,通过聚类算法对负载贡献集合中不同时间段对应的多个负载贡献值进行分类,从而确定所述应用在不同时间段的负载贡献簇,在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。采用上述技术方案,解决了应用在遇到突发的高负载操作时,操作系统无法快速的将应用移动到计算能力强的处理器上等问题,进而通过获取应用不同时间段的负载贡献集合,通过聚类算法进行分类,将在第一负载贡献簇的应用在进行高负载操作以前,提前将应用移动到处理器计算能力强的处理器中,提高了应用运用的流畅度。
上述步骤S202有多种执行方式,在一个可选的实施例中,获取应用在不同时间段的负载贡献集合,包括:通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合。在本实施例中,需要获取不同时间段的负载贡献集合,如获取11:00-12:00、12:00-13:00或者其他时间段的负载贡献集合,并且通过PELT算法获取在每个不同的时间段的负载贡献值。例如:通过PELT算法获取过去一个月应用A在12:00到13:00时间段之间的多个负载贡献值,从而确定12:00到13:00时间段之间负载贡献集合,如应用A在过去一个月的12:00到13:00被打开了8次,同时通过PELT算法获取到过去一个月在12:00到13:00时间段之间应用A的多个负载贡献值为88500,80000,88980,86000,82220,10280,15000,78000。从而确定应用A在12:00到13:00时间段的负载贡献集合为(88500,80000,88980,86000,82220,10280,15000,78000)。
在一个可选的实施例中,通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合,包括:根据所述多个负载贡献值确定所述应用在不同时间段对应的不同负载贡献簇的次数;在检测到所述应用在目标时间段对应的负载贡献值位于所述第一负载贡献簇内的次数大于第二阈值的情况下,为所述目标时间段的负载贡献值设置基础值;将所述目标时间段的负载贡献值和所述基础值之和作为所述目标时间段的最终负载贡献值,其中,所述负载贡献集合包括:所述最终负载贡献值。
在本实施例中,通过PELT算法获取到应用在不同时间段多个负载贡献值,将多个负载贡献值进行分类,分成多个负载贡献簇,判断应用在不同时间段内负载贡献值对应的不同负载贡献簇的次数,在检测到所述应用在目标时间段对应的负载贡献值位于第一负载贡献簇内的次数大于第二阈值的情况下,为所述目标时间段的负载贡献值设置基础值,将所述目标时间段的应用的负载贡献值和所述基础值之和作为所述目标时间段的应用的最终负载贡献值,由于在未来时间段也会打开该应用,故该目标时间段的最终负载贡献值会被统计到以后的负载贡献集合中。
例如:统计过去一个月应用A在12:00到13:00点的多个负载贡献值,确定该时间段的不同负载贡献簇,在检测到应用A在目标时间段12:00到13:00的负载贡献值在第一负载贡献簇的次数大于预设的第二阈值的情况下,在下次打开应用A的时候,为应用A的负载贡献值设置一个基础值,将该时间段中应用A的负载贡献值和基础值之和作为所述目标时间段的最终负载贡献值。
上述步骤S204在执行的过程中,通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,可以通过以下技术方案实现:随机从所述负载贡献集合中选取两个负载贡献值作为第一质心和第二质心,其中,所述第一质心大于所述第二质心;判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一质心集合还是第二质心集合,其中,所述第一质心集合为所述第一负载贡献簇,所述第二质心集合为所述第二负载贡献簇。例如,应用A在12:00到13:00的负载贡献集合为(88500,80000,88980,86000,82220,10280,15000,78000),随机从中选取两个负载贡献值作为第一质心和第二质心,如88500作为第一质心,80000作为第二质心,随后判断负载贡献集合中其他负载贡献值是属于第一质心集合还是第二质心集合,可以使用公式一来判断负载贡献集合中的数据与质心的距离,从而根据距离的大小来判断属于哪个质心集合,其中,负载贡献集合中的数据距离哪个质心更近,则属于哪个质心集合。
在公式一中,μ为质心,k为质心个数,j为质心标号,j大于等于1,小于等于k,i为当前数据的标号,分别计算和k个质心的距离,label表示距离,其中,距离选欧式距离。如86000距离第一质心的距离为2500,距离第二质心的距离为6000,由于6000大于2500,故86000属于第二质心集合。需要说明的是,第一质心集合为所述第一负载贡献簇,第二质心集合为所述第二负载贡献簇。
需要说明的是,在上述步骤S204的有多种执行方式,在判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一负载贡献簇,或第二负载贡献簇之后,还包括:从所述第一负载贡献簇和第二负载贡献簇中分别计算得出第三质心和第四质心;在所述第三质心与所述第一质心的距离大于预设阈值,或所述第四质心与所述第二质心的距离大于预设阈值的情况下,确定所述负载贡献集合中的负载贡献值属于第三质心集合,或第四质心集合。
例如:通过相关判断可以得到上述应用A在12:00到13:00时间段第一负载贡献簇为(88500,88980,86000),第二负载贡献簇为(80000,82220,10280,15000,78000),从第一负载贡献簇和第二负载贡献簇中分别计算得出第三质心和第四质心,可以使用公式二来计算新质心。
在公式二中,cj表示元素个数,xi表示第i个元素,μ表示质心。例如第一负载贡献簇为(88500,88980,86000),则新质心运用公式二计算为(88500+88980+86000)/3=87827。即通过相关计算得到第三质心为87827,第四质心为53100,若第三质心和第四质心,与第一质心和第二质心的距离大于预设阈值,则重新确定负载贡献集合中的负载贡献值属于第三质心集合,或第四质心集合。
为了更加快速的计算质心,在一个可选的实施例中,可以通过以下技术方案实现:在所述应用对应的负载贡献值处在第一负载贡献簇的时间大于第三阈值的情况下,将所述应用对应的多个负载贡献值从用于计算质心的样本库中删除。例如:在12:00到13:00时间段内,应用A的某一个负载贡献值长时间处于第一负载贡献簇,即处在第一负载贡献簇的时间大于第三阈值的情况下,将这个负载贡献值视为稳定值,从用于计算质心的样本库中删除,不在参与下一次质心的计算。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述应用运行方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,有如下的应用场景,用户在中午12点到12点30分中间,打开了某应用A。根据聚类算法长期统计分类,得知该应用该时间段,以往的平均负载都达到值X的次数,大于额定次数。这时判定为用户在此时段,使用应用A进行高负载操作的频率较高,在用户开启应用A后,就进行特定SMP负载均衡,目的是将应用A移至处理器大核,同时尽量保证除应用A外其他被移动进程,是在当前时间段高负载使用次数最少的。以最小原则,达到应用A应用迁移到处理器大核,并且负载均衡的效果。
为了更好的理解本发明,图3是根据本发明实施例的应用运行方法的流程图(二),具体步骤如下:
步骤S302:用户运行Linux的设备;
步骤S304:长期统计用户使用各类应用的时间段与负载;
步骤S306:K-means算法按照特征值分类;
步骤S308:用户启动用户A;
步骤S310:判断当前任务A是否在该时间高负载高频率运行,若是,则执行步骤S312,若不是,步骤S314;
步骤S312:以任务A迁移到大核为目标;
步骤S314:不需要提前迁移;
步骤S316:以最小牺牲原则做负载均衡;
步骤S316:结束。
上述步骤S304的执行方式有多种,例如,经过1个月的学习,统计到视频类应用A,在12点到1点期间,被开启的次数为x次,这x次中,每次开启后,通过PELT算法可以知道应用A的runnable状态下的负载贡献load_avg。假设x=8,load_avg分别是88500,80000,88980,86000,82220,10280,15000,78000,即应用A在这一个月的负载贡献集合为(88500,80000,88980,86000,82220,10280,15000,78000)。上述步骤S306中,将不同时间段、平均负载,设置为特征值。
为了更好的理解上述步骤,以下对K-means聚类算法进行具体说明,上述场景存在任务执行时段、任务负载2个维度,其中负载通过PELT算法获得,设置均值K为2,意在分为2个集合,分别代表该时间段应用高负载使用(相当于上述实施例中的第一负载贡献簇)和该时间段应用低负载使用(相当于上述实施例中的第二负载贡献簇);随机从上述负载贡献load_avg中取两个数据作为质心,将较大的数据记做质心A,将较小的数据记做质心B,其中,取的数据个数与均值K大小相等,利用公式一,分别计算与负载贡献集合中其他数据与设置的质心之间的距离。如果离质心A更近,则属于质心A的集合,如果离质心B更新,则属于质心B的集合。经过第一次分配后,利用公式二,重新计算质心,如果重新计算出来的质心和原来的质心之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),可以认为聚类已经达到期望的结果,算法终止。如果新质心和原质心距离变化很大,使用新质心,需要重新计算负载贡献集合中的数据属于哪一个新质心,直至聚类达到期望结果,将任务划分成高使用率和低使用率。
为了更好的理解上述K-means聚类算法的执行过程,图4是根据本发明实施例的应用运行方法的聚类算法的流程图(一),具体步骤如下:
步骤S402:开始;
步骤S404:设置K值为2;
步骤S406:从数据中选择2个(K个)数据作为质心;
步骤S408:取数据中一个点计算到质心的距离;
步骤S410:判断是否距离质心A更近,若是,执行步骤S412,否则执行步骤S414;
步骤S412:该数据属于质心A组;
步骤S414:该数据属于质心B组;
步骤S416:判断是否还有剩余点,若有,则执行步骤S408,若无,则执行步骤S418;
步骤S418:重新计算两个集合的质心;
步骤S420:判断心质心和原质心距离小于预设阈值,若大于,则执行步骤S422,并继续执行步骤S408,若小于或等于,执行步骤S424;
步骤S422:保留新质心;
步骤S424:聚类达到期望算法终止;
步骤S426:结束;
以下就具体应用A进行详细的说明,首先将判断新质心和老质心距离的预设阈值设置为10000。按照上面应用A在过去一个月的负载贡献数据,假如最初选取的质心为88500和80000。从剩余的6个数据中最先选取88980,运用公式一计算与两个质心的距离,88980距离88500更近,归属88500这个质心。然后对剩余5个数据进行归类,最后属于88500质心的数据有(88980,86000),属于80000质心的数据有(82220,10280,15000,78000)。
基于此数据,重新计算两个集合的质心。利用公式二计算当前第一个集合的新质心为(88500+88980+86000)/3=87827。第二个集合的质心为53100。新质心53100和老质心80000的距离大于预设阈值10000,保留新的质心87827和53100,重新计算8个数据的集合。可得属于87827的集合有(88500,80000,88980,86000,82220,78000),属于53100的集合有(10280,15000)。
继续利用公式二重新计算两个集合的质心,可得新质心为83950和12640。与老质心87827和53100相比,12640与53100的距离大于预设阈值10000,保留新的质心,再重新计算一遍集合数据,直到新质心与老质心的距离不在大于预设阈值为止。
最终可以统计到12:00到1:00的时间范围内,处于高负载贡献的次数有6次,低负载有2次。则用户在这个时间段使用应用A进行高负载操作的概率还是比较大,针对PELT算法,可以给它的load_avg负载贡献加一个基础值,使之达到高负载贡献的时间更快,反应在用户那边,就是开启应用时更流畅等。
由于质心的计算会消耗很多时间,为了减少质心的计算时间,可以对k-means聚类算法进行优化,图5是根据本发明实施例的应用运行方法的聚类算法的流程图(二),具体步骤如下:
步骤S502:开始;
步骤S504:系统运行;
步骤S506:判断任务是否稳定处于高使用簇,若是,则执行步骤S508,否则执行步骤S504;
步骤S508:从样本库中脱离,单独保存,不再参与质心计算;
步骤S510:系统运行规定时间,重新加入计算;
步骤S512:判断任务是否仍然属于高使用簇,若是,执行步骤S508,否则执行步骤S514;
步骤S514:结束。
简而言之,在执行上述步骤的过程中,需要首先判断当前任务是否长期处于高使用率簇(相当于本实施例的第一负载贡献簇)。如果是,将样本任务从计算质心的样本库中剥离,不再参与以后的质心计算,系统在之后的规定时间内始终默认该任务为高使用率任务。规定时间后,再次将任务样本重新加入样本库,查看该任务是否仍然属于高使用率簇,如果是,则继续从步骤S508开始执行。
即本发明利用优化后k-means聚类算法,将长期稳定处于某个簇的样本,视为稳定样本,有频繁更换簇记录的样本,视为活跃样本。稳定样本不再参与以后质心的计算,从而减少计算质心的样本量,降低质心计算复杂度,起到优化作用。一段时间后,重新判断稳定的质心是否仍然处于原本的簇,如果发生改变,则重新将稳定样本加入样本库。
此外,本发明实施例的上述技术方案基于PELT算法获取任务负载,结合k-means聚类算法将任务从不同特征值进行分类,分类后的任务,可以在用户进行“重活”前,提前迁移到处理器大核,达到运行流畅的效果。同时通过优化后的k-means算法,可以有效减少质心计算次数,加速质心计算过程,同时降低CPU负载与功耗。
本方案中操作系统通过一套k-means算法,具备长期自主学习、统计任务特征的功能,自动将任务按照不同特征维度分类。结合PELT算法提供的任务负载能力,可以在用户启动某应用后,提前预测用户是否要进行更消耗CPU的操作,提前将该任务移动至CPU运算能力强的核心,达到应用体验流畅的效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种应用运行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种应用运行装置的结构框图,该装置包括:
获取模块62,用于获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;
确定模块64,用于通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;
移动模块66,用于在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
通过本发明,引入一种应用运行装置,获取应用在不同时间段的负载贡献集合,通过聚类算法对负载贡献集合中不同时间段对应的多个负载贡献值进行分类,从而确定所述应用在不同时间段的负载贡献簇,在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。采用上述技术方案,解决了应用在遇到突发的高负载操作时,操作系统无法快速的将应用移动到计算能力强的处理器上等问题,进而通过获取应用不同时间段的负载贡献集合,通过聚类算法进行分类,将在第一负载贡献簇的应用在进行高负载操作以前,提前将应用移动到处理器计算能力强的处理器中,提高了应用运用的流畅度。
在一个可选的实施例中,获取模块62还用于通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合。在本实施例中,需要获取不同时间段的负载贡献集合,如获取11:00-12:00、12:00-13:00或者其他时间段的负载贡献集合,并且通过PELT算法获取在每个不同的时间段的负载贡献值。例如:通过PELT算法获取过去一个月应用A在12:00到13:00时间段之间的多个负载贡献值,从而确定12:00到13:00时间段之间负载贡献集合,如应用A在过去一个月的12:00到13:00被打开了8次,同时通过PELT算法获取到过去一个月在12:00到13:00时间段之间应用A的多个负载贡献值为88500,80000,88980,86000,82220,10280,15000,78000。从而确定应用A在12:00到13:00时间段的负载贡献集合为(88500,80000,88980,86000,82220,10280,15000,78000)。
在一个可选的实施例中,获取模块62还用于根据所述多个负载贡献值确定所述应用在不同时间段对应的不同负载贡献簇的次数;在检测到所述应用在目标时间段对应的负载贡献值位于所述第一负载贡献簇内的次数大于第二阈值的情况下,为所述目标时间段的负载贡献值设置基础值;将所述目标时间段的负载贡献值和所述基础值之和作为所述目标时间段的最终负载贡献值,其中,所述负载贡献集合包括:所述最终负载贡献值。
在本实施例中,通过PELT算法获取到应用在不同时间段多个负载贡献值,将多个负载贡献值进行分类,分成多个负载贡献簇,判断应用在不同时间段内负载贡献值对应的不同负载贡献簇的次数,在检测到所述应用在目标时间段对应的负载贡献值位于第一负载贡献簇内的次数大于第二阈值的情况下,为所述目标时间段的负载贡献值设置基础值,将所述目标时间段的应用的负载贡献值和所述基础值之和作为所述目标时间段的应用的最终负载贡献值,由于在未来时间段也会打开该应用,故该目标时间段的最终负载贡献值会被统计到以后的负载贡献集合中。
例如:统计过去一个月应用A在12:00到13:00点的多个负载贡献值,确定该时间段的不同负载贡献簇,在检测到应用A在目标时间段12:00到13:00的负载贡献值在第一负载贡献簇的次数大于预设的第二阈值的情况下,在下次打开应用A的时候,为应用A的负载贡献值设置一个基础值,将该时间段中应用A的负载贡献值和基础值之和作为所述目标时间段的最终负载贡献值。
在一个可选的实施例中,确定模块64还用于随机从所述负载贡献集合中选取两个负载贡献值作为第一质心和第二质心,其中,所述第一质心大于所述第二质心;判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一质心集合还是第二质心集合,其中,所述第一质心集合为所述第一负载贡献簇,所述第二质心集合为所述第二负载贡献簇。例如,应用A在12:00到13:00的负载贡献集合为(88500,80000,88980,86000,82220,10280,15000,78000),随机从中选取两个负载贡献值作为第一质心和第二质心,如88500作为第一质心,80000作为第二质心,随后判断负载贡献集合中其他负载贡献值是属于第一质心集合还是第二质心集合,可以使用公式一来判断负载贡献集合中的数据与质心的距离,从而根据距离的大小来判断属于哪个质心集合,其中,负载贡献集合中的数据距离哪个质心更近,则属于哪个质心集合。如86000距离第一质心的距离为2500,距离第二质心的距离为6000,由于6000大于2500,故86000属于第二质心集合。需要说明的是,第一质心集合为所述第一负载贡献簇,第二质心集合为所述第二负载贡献簇。
需要说明的是,在一个可选的实施例中,确定模块64还用于从所述第一负载贡献簇和第二负载贡献簇中分别计算得出第三质心和第四质心;在所述第三质心与所述第一质心的距离大于预设阈值,或所述第四质心与所述第二质心的距离大于预设阈值的情况下,确定所述负载贡献集合中的负载贡献值属于第三质心集合,或第四质心集合。
例如:通过相关判断可以得到上述应用A在12:00到13:00时间段第一负载贡献簇为(88500,88980,86000),第二负载贡献簇为(80000,82220,10280,15000,78000),从第一负载贡献簇和第二负载贡献簇中分别计算得出第三质心和第四质心,可以使用公式二来计算新质心。例如第一负载贡献簇为(88500,88980,86000),则新质心运用公式二计算为(88500+88980+86000)/3=87827。即通过相关计算得到第三质心为87827,第四质心为53100,若第三质心和第四质心,与第一质心和第二质心的距离大于预设阈值,则重新确定负载贡献集合中的负载贡献值属于第三质心集合,或第四质心集合。
为了更加快速的计算质心,在一个可选的实施例中,确定模块64还用于在所述应用对应的负载贡献值处在第一负载贡献簇的时间大于第三阈值的情况下,将所述应用对应的多个负载贡献值从用于计算质心的样本库中删除。例如:在12:00到13:00时间段内,应用A的某一个负载贡献值长时间处于第一负载贡献簇,即处在第一负载贡献簇的时间大于第三阈值的情况下,将这个负载贡献值视为稳定值,从用于计算质心的样本库中删除,不在参与下一次质心的计算。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;
S2,通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;
S3,在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;
S2,通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;
S3,在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用运行方法,其特征在于,包括:
获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;
通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;
在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
2.根据权利要求1所述的方法,其特征在于,获取应用在不同时间段的负载贡献集合,包括:
通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合。
3.根据权利要求2所述的方法,其特征在于,通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合,包括:
根据所述多个负载贡献值确定所述应用在不同时间段对应的不同负载贡献簇的次数;
在检测到所述应用在目标时间段对应的负载贡献值位于所述第一负载贡献簇内的次数大于第二阈值的情况下,为所述目标时间段的负载贡献值设置基础值;
将所述目标时间段的负载贡献值和所述基础值之和作为所述目标时间段的最终负载贡献值,其中,所述负载贡献集合包括:所述最终负载贡献值。
4.根据权利要求1所述的方法,其特征在于,通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,包括:
随机从所述负载贡献集合中选取两个负载贡献值作为第一质心和第二质心,其中,所述第一质心大于所述第二质心;
判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一质心集合还是第二质心集合,其中,所述第一质心集合为所述第一负载贡献簇,所述第二质心集合为所述第二负载贡献簇。
5.根据权利要求4所述的方法,其特征在于,判断所述负载贡献集合中的除所述两个负载贡献值之外的其他负载贡献值属于第一负载贡献簇,或第二负载贡献簇之后,还包括:
从所述第一负载贡献簇和第二负载贡献簇中分别计算得出第三质心和第四质心;
在所述第三质心与所述第一质心的距离大于预设阈值,或所述第四质心与所述第二质心的距离大于预设阈值的情况下,确定所述负载贡献集合中的负载贡献值属于第三质心集合,或第四质心集合。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述应用对应的负载贡献值处在第一负载贡献簇的时间大于第三阈值的情况下,将所述应用对应的多个负载贡献值从用于计算质心的样本库中删除。
7.一种应用运行装置,其特征在于,包括:
获取模块,用于获取应用在不同时间段的负载贡献集合,其中,所述负载贡献集合包括:分别与所述不同时间段对应的多个负载贡献值;确定模块,用于通过聚类算法对所述多个负载贡献值进行分类,以确定所述应用在不同时间段的负载贡献簇,其中,所述负载贡献簇包括:第一负载贡献簇,第二负载贡献簇,所述第一负载贡献簇的负载值大于第一阈值,所述第二负载贡献簇的负载值小于所述第一阈值;
移动模块,用于在监测到目标应用在目标时间点被打开,且所述目标应用在所述目标时间点所对应的负载贡献簇为第一负载贡献簇的情况下,将所述目标应用从第一处理器移动至第二处理器运行。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,还用于通过实体负载跟踪PELT算法获取应用在不同时间段的多个负载贡献值,以确定所述负载贡献集合。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110202085.1A CN113064677B (zh) | 2021-02-23 | 2021-02-23 | 应用运行方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110202085.1A CN113064677B (zh) | 2021-02-23 | 2021-02-23 | 应用运行方法及装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064677A true CN113064677A (zh) | 2021-07-02 |
CN113064677B CN113064677B (zh) | 2023-06-20 |
Family
ID=76558880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110202085.1A Active CN113064677B (zh) | 2021-02-23 | 2021-02-23 | 应用运行方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064677B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821330A (zh) * | 2021-11-24 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106344A (zh) * | 2013-01-30 | 2013-05-15 | 河海大学 | 一种建立电力系统聚类负荷模型的方法 |
JP2013207936A (ja) * | 2012-03-28 | 2013-10-07 | Kyocera Corp | エネルギー管理システム、エネルギー管理方法及び分散電源 |
CN107404128A (zh) * | 2012-08-06 | 2017-11-28 | 京瓷株式会社 | 管理系统、管理方法、控制装置和电力存储装置 |
KR101827158B1 (ko) * | 2016-10-20 | 2018-02-08 | 한국전력공사 | 마이크로그리드용 에너지 저장 장치에 대한 운영 장치 및 방법 |
US20180260243A1 (en) * | 2015-06-01 | 2018-09-13 | Samsung Electronics Co., Ltd. | Method for scheduling entity in multicore processor system |
CN110795323A (zh) * | 2019-10-29 | 2020-02-14 | Oppo广东移动通信有限公司 | 负载统计方法、装置、存储介质及电子设备 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
CN111274024A (zh) * | 2019-03-19 | 2020-06-12 | 中标软件有限公司 | 基于cfs调度器的就绪队列平均负载优化方法及数据结构 |
-
2021
- 2021-02-23 CN CN202110202085.1A patent/CN113064677B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013207936A (ja) * | 2012-03-28 | 2013-10-07 | Kyocera Corp | エネルギー管理システム、エネルギー管理方法及び分散電源 |
CN107404128A (zh) * | 2012-08-06 | 2017-11-28 | 京瓷株式会社 | 管理系统、管理方法、控制装置和电力存储装置 |
CN103106344A (zh) * | 2013-01-30 | 2013-05-15 | 河海大学 | 一种建立电力系统聚类负荷模型的方法 |
US20180260243A1 (en) * | 2015-06-01 | 2018-09-13 | Samsung Electronics Co., Ltd. | Method for scheduling entity in multicore processor system |
KR101827158B1 (ko) * | 2016-10-20 | 2018-02-08 | 한국전력공사 | 마이크로그리드용 에너지 저장 장치에 대한 운영 장치 및 방법 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
CN111274024A (zh) * | 2019-03-19 | 2020-06-12 | 中标软件有限公司 | 基于cfs调度器的就绪队列平均负载优化方法及数据结构 |
CN110795323A (zh) * | 2019-10-29 | 2020-02-14 | Oppo广东移动通信有限公司 | 负载统计方法、装置、存储介质及电子设备 |
Non-Patent Citations (4)
Title |
---|
ANIRUDDHA BANERJEE: "Task behaviour inputs to a heterogeneous multiprocessor scheduler" * |
丁世旺: "云计算中基于任务和资源特征的能效管理研究" * |
王加平: "中央空调智能节电控制系统的分析与应用" * |
马翩翩;苏一丹;覃华;王晓帅;: "一种基于D~2权重的核k-means聚类算法" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821330A (zh) * | 2021-11-24 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113064677B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632697B (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
EP3779687A1 (en) | Virtual machine scheduling method and device | |
CN107704070B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN109391680B (zh) | 一种定时任务数据处理方法、装置及系统 | |
CN104636202A (zh) | 计算机系统及其排程方法 | |
CN109947497A (zh) | 应用程序预加载方法、装置、存储介质及移动终端 | |
CN107479953B (zh) | 进程管理方法、装置、存储介质及电子设备 | |
CN107807852A (zh) | 应用程序性能控制方法及设备 | |
CN110119307B (zh) | 数据处理请求的处理方法、装置、存储介质及电子装置 | |
CN107870810B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN107402808B (zh) | 进程管理方法、装置、存储介质及电子设备 | |
CN107832141A (zh) | 应用程序运行控制方法及设备 | |
CN108961267A (zh) | 图片处理方法、图片处理装置及终端设备 | |
CN114330863A (zh) | 时间序列预测处理方法、装置、存储介质及电子装置 | |
CN110933178A (zh) | 调整集群系统内的节点配置的方法及服务器 | |
CN109388552B (zh) | 启动应用程序的时长的确定方法、装置及存储介质 | |
CN111176840A (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
CN107704317B (zh) | 智能设备及其应用管理方法和具有存储功能的装置 | |
CN113064677B (zh) | 应用运行方法及装置、存储介质及电子装置 | |
CN111831452A (zh) | 任务执行方法、装置、存储介质及电子装置 | |
WO2023142351A1 (zh) | 权重的调整方法和装置、存储介质及电子装置 | |
WO2023159821A1 (zh) | 操作行为的确定方法和装置、存储介质及电子装置 | |
CN107870811B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
CN107870809B (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 |