一种多核cpu的调控方法及系统的制作方法

文档序号:6375832阅读:193来源:国知局
专利名称:一种多核cpu的调控方法及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种多核CPU的调控方法及系统。
背景技术
Android系统智能手机以及平板电脑等移动设备使用双核、四核处理器已经成为一种趋势,由于多核CPU在处理能力有着一定的优势,所以多核CPU在移动设备上的应用也越来越广泛。然而多核CPU为移动设备带来一定性能提升的同时,也使得移动设备在电能方面的瓶颈更为突出。目前,Android系统多核智能手机一般是根据“负载均衡机制”来调度任务进程至多核CPU的多个核心。但是该“负载均衡机制”下,即使是手机处于空闲或者低电状态,多核(PU的多核心始終处于运行状态,这使得本来就显得稀缺的电能被大量浪费。在手机空闲和·低电的情况下用户可能更多的考虑如何省电,而非手机性能的提高;在手机电能充足时,用户则可能希望利用多核CPU的处理能力提高手机性能,但目前的移动设备都无法根据用户的需求对多核CPU的CPU进行调控。因此,现有技术还有待于改进和发展。

发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种多核CPU的调控方法及系统,旨在解决现有技术中多核CPU无法根据用户的实际需要进行调控的问题。本发明的技术方案如下
一种多核CPU的调控方法,其中,包括步骤
A、预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU调控模式,所述CPU调控模式包括预定义调控模式及自动调控模式;
B、根据所述CPU调控模式通过底层核心接ロ对多核CPU的CPU核进行开关、调频及进程迁移控制。所述多核CPU的调控方法,其中,所述预定义调控模式包括性能最佳模式及省电模式,所述性能最佳模式为多核CPU的CPU核均打开并运行在高频状态,所述省电模式为多核CPU的ー个CPU核打开并运行在低频状态。所述多核CPU的调控方法,其中,当所述CPU调控模式为性能最佳模式时,所述步骤B具体包括
记录进程使用的CPU数量及进程使用的CPU时间,将高频次的进程迁移至空闲的CPU核进行处理,并将CPU核固定在高频次的运行状态。所述多核CPU的调控方法,其中,当所述CPU调控模式为省电模式吋,所述步骤B具体包括
记录进程使用的CPU数量及进程使用的CPU时间,将空闲的CPU核关闭,保留ー个CPU核运行,并根据需要对运行中的CPU核进行降频处理。
所述多核CPU的调控方法,其中,所述CPU调控模式为自动调控模式时,所述步骤B具体包括
BI、每隔ー预定时间上报多核CPU的CPU核运行状态信息,当所述多核CPU的CPU核占用率均为20%以下吋,关闭多余的CPU核保留ー个CPU核运行,并对运行的CPU核进行降频处理;
B2、当所述运行的CPU核占用率为90%以上时,打开所有的CPU核;
B3、通过调节进程迁移使多核CPU的CPU核占用率保持平衡。所述多核CPU的调控方法,其中,所述步骤B具体还包括
B0、通过底层核心接ロ对Cgroups接ロ进行封装,调用多核CPU的子系统CPUSET,实现对多核CPU进行CPU核的开关、调频及进程迁移控制。 所述多核CPU的调控方法,其中,所述步骤BO具体包括
B01、设置一系统服务,用于调用底层的函数或者通过socket机制同底层核心之间进行通信;
B02、调用系统服务,通过所述系统服务提供用于调节CPU开启数量、CPU运行频率及进程迁移的函数;
B03、通过所述用于调节CPU开启数量、CPU运行频率及进程迁移的函数来实现对多核CPU的CPU核开关、调频及进程迁移控制。一种多核CPU的调控系统,其中,包括
预设置模块,用于预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU调控模式,所述CPU调控模式为预定义调控模式或自动调控模式;
调控模块,用于根据所述CPU调控模式通过底层核心接ロ对多核CPU的CPU核进行开关、调频及进程迁移控制。所述多核CPU的调控系统,其中,所述调控模块包括ー底层核心接ロ単元,用于对Cgroups接ロ进行封装,调用多核CPU的子系统CPUSET,实现对多核CPU进行CPU核的开关、调频及进程迁移控制。所述多核CPU的调控系统,其中,所述调控模块还包括
本地服务单元,用于设置一系统服务,用于调用底层的函数或者通过socket机制同底层核心之间进行通信;
框架单元,用于调用系统服务,通过所述系统服务提供用于调节CPU开启数量、CPU运行频率及进程迁移的函数;
API単元,用于通过所述用于调节CPU开启数量、CPU运行频率及进程迁移的函数来实现对多核CPU的CPU核开关、调频及进程迁移控制。有益效果本发明多核CPU的调控方法及系统,针对用户的移动设备的具体的使用情况以及性能需求,提供多核CPU的预定义调控模式及自动调节模式,使得移动设备在电量充足时保持最佳性能状态下运行,在电量不足情况下则保持省电模式下运行,此外,用户还可设置自动调节模式,从而使移动设备能够根据其CPU核的使用情况自动调节CPU核的开关、调频及进程迁移功能,通过本发明,移动设备的用户可选择在不同的场景下,输入指令来调控多核CPU的每个CPU核的工作状态,提高多核CPU的处理能力或者达到节能省电的目的。


图I为本发明多核CPU的调控方法的流程图。图2为图I所示方法的自动调控模式的流程图。图3为图I所示方法的调控实现流程图。图4为本发明多核CPU的调控系统的结构框图。图5为图4所示系统的调控模块的结构框图。
具体实施例方式本发明提供一种多核CPU的调控方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进ー步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用干限定本发明。请參阅图1,图I为本发明多核CPU的调控方法较佳实施例的流程图,如图所示,其包括
5101、预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU调控模式,所述CPU调控模式包括预定义调控模式及自动调控模式;
5102、根据所述CPU调控模式通过底层核心接ロ对多核CPU的CPU核进行开关、调频及进程迁移控制。在步骤SlOl中,本发明中的CPU调控模式可分为两个大类即预定义调控模式及自动调控模式,预定义调控模式又可细分为性能最佳模式及省电模式,所述性能最佳模式为多核CPU的CPU核均打开并运行在高频状态,所述省电模式为多核CPU的ー个CPU核打开并运行在低频状态。下面分别对这些模式进行详细的说明。在用户的移动设备电能充足或者能够充电的情况下,用户可能希望利用移动设备体验ー些大型游戏或者频繁的进行上网操作,在用户对移动设备进行操作或游戏体验的过程中,会更加注重移动设备的性能,所以本发明提供一种多核CPU的性能最佳模式来使移动设备保持在最佳性能上进行运行。对于如何使多核CPU保持性能最佳的状态,具体可通过多核CPU架构来记录进程使用的CPU数量以及利用其子系统CPUACCT (Cgroups中生成CPU使用状态报告的节点系统)来记录进程使用的CPU时间,从而根据进程使用的CPU数量及CPU时间通过其子系统CPUSET (Cgroups中为任务分配独立CPU及内存的节点)将高频次的进程迁移到空闲的CPU核进行处理,并且还通过CPUSET子系统将正在使用的CPU核固定运行在高频状态,从而使多核CPU的每个CPU核都在运行并保持在高频状态,充分发挥多核CPU处理能力强的优势,提高用户游戏或上网的使用体验。在用户的移动设备缺电并且不能进行充电的情况下,用户可能只希望利用移动设备来进行正常的通信即可,所以本发明提供了ー种省电模式,来将空闲的CPU核关闭,并且对正在使用的CPU核进行降频处理,从而达到省电的目的。在省电模式下,本发明也可通过多核CPU架构来实现进程管理,例如记录进程使用的CPU数量以及利用CPUACCT子系统来记录进程使用的CPU时间,根据使用的CPU数量以及CPU时间来关闭空闲的CPU核,保留ー个CPU核运行,并在可接受范围内对该运行的CPU核进行降频处理,最終实现移动设备在省电模式下使用。在用户的移动设备不处于缺电状态并且能够正常运行的情况下,用户可能希望移动设备能根据具体的情況,例如通过具体的事件触发实现CPU核的自动调控,根据这ー情况,本发明提供了ー自动调控模式,来实现移动设备根据自身的使用情况调控CPU核的运行。在自动调控模式下,如图2所示,所述步骤SlOl可具体细化为以下步骤
S201、每隔ー预定时间上报多核CPU的CPU核运行状态信息;此步骤中,具体是底层通过CPUACCT子系统每隔一预定时间主动上报多核CPU的每个CPU核运行状态信息,然后该运行状态信息可通过socket消息的方式上报,并被ー自动调控系统获取,该自动调控系统可根据获取到多核CPU的运行状态信息自动下发调控命令。S202、当所述多核CPU的CPU核占用率均为20%以下时,关闭多余的CPU核保留一个CPU核运行,并对运行的CPU核进行降频处理;当多核CPU的每个CPU核占用率均在20%以下时,可通过CPUSET子系统来关闭空闲的CPU核,只保留ー个CPU核运行。S203、当所述运行的CPU核占用率为90%以上时,打开所有的CPU核;而在该运行的CPU核占用率达到90%以上吋,则可通过CPUSET来打开所有的或者部分的CPU核以提高移动设备的处理能力。S204、通过调节进程迁移使多核CPU核的占用率保持平衡。在多个CPU核运行吋,当发现多核CPU的多个CPU核占用率不平衡时,例如CPUO的占用率为95%,而CPUl的占用率为20%,此时可通过动态的进程迁移操作来使多核CPU的每个CPU核保持平衡。下面对多核CPU的调控来进行更详细的说明。本发明主要是通过底层核心接ロ对Cgroups (Linux内核所提供的ー种限制、隔离、记录进程所使用物理资源的机制,物理资源包括CPU、I/O ロ等)接ロ进行封装,调用其子系统CPUSET,从而实现对多核CPU的CPU核进行开关、调频及进程迁移控制。如图3所示,所述的调控步骤还可具体细化为以下步骤
S301、设置一系统服务,用于调用底层的函数或者通过socket机制同底层核心之间进行通信;这主要是通过Native Service (本地服务)来设计ー个Deamon服务(系统服务),并且由init root(Android系统中Linux内核启动的第一条进程)进程来进行启动该Deamon服务,从而实现远程调用函数,具体可直接调用底层的函数或者通过socket机制(一种进 程间通信机制)同底层核心之间进行通信。S302、调用Deamon服务,通过所述Deamon服务提供用于调节CPU开启数量、CPU运行频率及进程迁移的函数;此步骤目的是利用Framework (框架)来完成Native Service与JAVA API (Application Programming Interface,应用程序编程接ロ)的直接连接的工作,从而通过进程间通信完成对Deamon服务的调用,然后针对上层提供诸如opencpu、closecpu等(opencpu、closecpu等是自定义函数名,提供打开、关闭CPU核心)一系列的JNI接ロ函数。S303、通过所述用于调节CPU开启数量、CPU运行频率及进程迁移的函数来实现对多核CPU的CPU核开关、调频及进程迁移控制。此步骤是利用API针对上层提供的JNI接ロ,完成对CPUControl类(CPUControl类是自定义的类名),实现给Android apk程序使用的一系列API接ロ,从而实现例如打开CPU核、关闭CPU核、调节CPU频率以及进程迁移的功能。基于上述方法,本发明还提供一种多核CPU的调控系统,如图4所示,包括
预设置模块100,用于预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU
调控模式,所述CPU调控模式为预定义调控模式或自动调控模式; 调控模块200,用于根据所述CPU调控模式通过底层核心接ロ对多核CPU的CPU核进行开关、调频及进程迁移控制。进ー步,如图5所示,所述调控模块200包括ー底层核心接ロ单元240,用于对Cgroups接ロ进行封装,调用多核CPU的子系统CPUSET,实现对多核CPU进行CPU核的开关、调频及进程迁移控制。进ー步,如图5所示,所述调控模块200还包括
本地服务单元230,用于设置一系统服务,用于调用底层的函数或者通过socket机制同底层核心之间进行通信;
框架单元220,用于调用系统服务,通过所述系统服务提供用于调节CPU开启数量、CPU运行频率及进程迁移的函数;
API単元210,用于通过所述用于调节CPU开启数量、CPU运行频率及进程迁移的函数来实现对多核CPU的CPU核开关、调频及进程迁移控制。关于上述各功能単元的作用在前面的方法中已有详述,故步骤赘述。综上所述,本发明多核CPU的调控方法及系统,针对用户的移动设备的具体的使用情况以及性能需求,提供多核CPU的预定义调控模式及自动调节模式,使得移动设备在电量充足时保持最佳性能状态下运行,在电量不足情况下则保持省电模式下运行,此外,用户还可设置自动调节模式,从而使移动设备能够根据其CPU的使用情况自动调节CPU的开关、调频及进程迁移功能,通过本发明,移动设备的用户可选择在不同的场景下,输入指令来调控多核CPU的每个CPU核的工作状态,提高多核CPU的处理能力或者达到节能省电的目的。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
权利要求
1.一种多核CPU的调控方法,其特征在于,包括步骤 A、预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU调控模式,所述CPU调控模式包括预定义调控模式及自动调控模式; B、根据所述CPU调控模式通过底层核心接ロ对多核CPU的CPU核进行开关、调频及进程迁移控制。
2.根据权利要求I所述多核CPU的调控方法,其特征在于,所述预定义调控模式包括性能最佳模式及省电模式,所述性能最佳模式为多核CPU的CPU核均打开并运行在高频状态,所述省电模式为多核CPU的ー个CPU核打开并运行在低频状态。
3.根据权利要求2所述多核CPU的调控方法,其特征在干,当所述CPU调控模式为性能最佳模式时,所述步骤B具体包括 记录进程使用的CPU数量及进程使用的CPU时间,将高频次的进程迁移至空闲的CPU核进行处理,并将CPU核固定在高频次的运行状态。
4.根据权利要求2所述多核CPU的调控方法,其特征在干,当所述CPU调控模式为省电模式时,所述步骤B具体包括 记录进程使用的CPU数量及进程使用的CPU时间,将空闲的CPU核关闭,保留ー个CPU核运行,并根据需要对运行中的CPU核进行降频处理。
5.根据权利要求I所述多核CPU的调控方法,其特征在于,所述CPU调控模式为自动调控模式时,所述步骤B具体包括 BI、每隔ー预定时间上报多核CPU的CPU核运行状态信息,当所述多核CPU的CPU核占用率均为20%以下吋,关闭多余的CPU核保留ー个CPU核运行,并对运行的CPU核进行降频处理; B2、当所述运行的CPU核占用率为90%以上时,打开所有的CPU核; B3、通过调节进程迁移使多核CPU的CPU核占用率保持平衡。
6.根据权利要求I所述多核CPU的调控方法,其特征在于,所述步骤B具体还包括 B0、通过底层核心接ロ对Cgroups接ロ进行封装,调用多核CPU的子系统CPUSET,实现对多核CPU进行CPU核的开关、调频及进程迁移控制。
7.根据权利要求6所述多核CPU的调控方法,其特征在于,所述步骤BO具体包括 B01、设置一系统服务,用于调用底层的函数或者通过socket机制同底层核心之间进行通信; B02、调用系统服务,通过所述系统服务提供用于调节CPU开启数量、CPU运行频率及进程迁移的函数; B03、通过所述用于调节CPU开启数量、CPU运行频率及进程迁移的函数来实现对多核CPU的CPU核开关、调频及进程迁移控制。
8.一种多核CPU的调控系统,其特征在于,包括 预设置模块,用于预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU调控模式,所述CPU调控模式为预定义调控模式或自动调控模式; 调控模块,用于根据所述CPU调控模式通过底层核心接ロ对多核CPU的CPU核进行开关、调频及进程迁移控制。
9.根据权利要求8所述多核CPU的调控系统,其特征在干,所述调控模块包括ー底层核心接ロ单元,用于对Cgroups接ロ进行封装,调用多核CPU的子系统CPUSET,实现对多核CPU进行CPU核的开关、调频及进程迁移控制。
10.根据权利要求8所述多核CPU的调控系统,其特征在于,所述调控模块还包括 本地服务单元,用于设置一系统服务,用于调用底层的函数或者通过socket机制同底层核心之间进行通信; 框架单元,用于调用系统服务,通过所述系统服务提供用于调节CPU开启数量、CPU运行频率及进程迁移的函数; API単元,用于通过所述用于调节CPU开启数量、CPU运行频率及进程迁移的函数来实现对多核CPU的CPU核开关、调频及进程迁移控制。
全文摘要
本发明公开一种多核CPU的调控方法及系统,其中,所述调控方法包括步骤预先设置用于调节CPU开启数量、CPU运行频率及进程迁移的CPU调控模式,所述CPU调控模式包括预定义调控模式及自动调控模式;根据所述CPU调控模式通过底层核心接口对多核CPU的CPU核进行开关、调频及进程迁移控制。本发明提供多核CPU的预定义调控模式及自动调节模式,使移动设备能够根据其CPU的使用情况自动或者按照预定义的模式调节CPU的开关、调频及进程迁移功能,通过本发明,移动设备的用户可选择在不同的场景下,输入指令来调控多核CPU的每个CPU核的工作状态,提高多核CPU的处理能力或者达到节能省电的目的。
文档编号G06F9/50GK102866921SQ20121031147
公开日2013年1月9日 申请日期2012年8月29日 优先权日2012年8月29日
发明者刘炼, 王玉婷, 仵小勇, 钟祥君 申请人:惠州Tcl移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1