基于多核处理器的资源调度方法及装置与流程

文档序号:12363122阅读:142来源:国知局
基于多核处理器的资源调度方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种基于多核处理器的资源调度方法及装置。



背景技术:

随着有线、无线网络在嵌入式系统的日益深入,嵌入式应用的安全性成为系统功能最重要的要求。在数据服务和支付应用等嵌入式应用中,安全性更是消费者保护和商业价值内容保护的强制性要求。现有技术在CPU(Central Processing Unit,中央处理器)内核的设计中集成系统安全性扩展,是TrustZone-ARMv6内核架构下的重要扩展特性之一,在对内核的功耗、性能和硅片面积不产生大的影响前提下,TrustZone技术为设计具有高度安全性的嵌入式系统提供了坚实的基础。在一个具有八核CPU的系统下,普通区域与安全区域各占有一半的处理器内核。现有技术方案的缺陷主要包括:

一、资源浪费:当用户由普通区域切换至安全区域时,普通区域会使用较少的处理器资源,但是占用一半处理器内核导致资源使用上的浪费,反之亦然。

二、分配方式不灵活:当普通区域或安全区域过多使用处理器资源时,处理器内核的固定分配限制了处理器内核的智能优化使用,导致使用效率降低。

三、不方便监控与管理:不能统一对CPU使用数据进行收集、整理。

综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。



技术实现要素:

针对上述的缺陷,本发明的目的在于提供一种基于多核处理器的资源调度方法及装置,其能够对不同区域间的CPU资源的使用实现智能调度和控制,从而提高了CPU资源的使用效率。

为了实现上述目的,本发明提供一种基于多核处理器的资源调度方法,应用于包括系统和至少两个区域的通信终端中,所述方法包括步骤有:

实时检测正在运行的当前区域的CPU使用需求;

根据所述当前区域的所述CPU使用需求,为所述当前区域调度匹配数量的处理器内核。

根据本发明所述的资源调度方法,所述实时检测正在运行的当前区域的CPU使用需求的步骤之前包括:

当运行在第一区域时,初始化一个父进程,并为所述父进程派生出多个子进程,每个所述子进程管理一个所述处理器内核;

所述实时检测正在运行的当前区域的CPU使用需求的步骤包括:

实时检测所述第一区域的第一CPU使用需求;

所述根据当前区域的所述CPU使用需求,为所述当前区域调度匹配数量的处理器内核的步骤包括:

根据所述第一CPU使用需求,从所述父进程中调度匹配数量的所述子进程给所述第一区域。

根据本发明所述的资源调度方法,所述实时检测正在运行的当前区域的CPU使用需求的步骤包括:

当从所述第一区域切换到第二区域时,实时检测所述第二区域的第二CPU使用需求;

所述根据当前区域的所述CPU使用需求,为所述当前区域调度匹配数量的处理器内核的步骤包括:

根据所述第二CPU使用需求,从所述父进程中调度匹配数量的所述子进程给所述第二区域。

根据本发明所述的资源调度方法,所述根据当前区域的所述CPU使用需求,为所述当前区域调度匹配数量的处理器内核的步骤还包括:

终止所述第一区域已调用的至少一个所述子进程。

根据本发明所述的资源调度方法,所述系统为TrustZone系统,所述区域包括相互隔离的安全区域和普通区域。

本发明还提供一种基于多核处理器的资源调度装置,应用于包括系统和至少两个区域的通信终端中,所述资源调度装置包括有:

CPU检测模块,用于实时检测正在运行的当前区域的CPU使用需求;

CPU调度模块,用于根据所述当前区域的所述CPU使用需求,为所述当前 区域调度匹配数量的处理器内核。

根据本发明所述的资源调度装置,还包括:

初始化模块,用于当运行在第一区域时,初始化一个父进程,并为所述父进程派生出多个子进程,每个所述子进程管理一个所述处理器内核;

所述CPU检测模块包括:

第一检测子模块,用于实时检测所述第一区域的第一CPU使用需求;

所述CPU调度模块包括:

第一调度子模块,用于根据所述第一CPU使用需求,从所述父进程中调度匹配数量的所述子进程给所述第一区域。

根据本发明所述的资源调度装置,所述CPU检测模块包括:

第二检测子模块,用于当从所述第一区域切换到第二区域时,实时检测所述第二区域的第二CPU使用需求;

所述CPU调度模块包括:

第二调度子模块,用于根据所述第二CPU使用需求,从所述父进程中调度匹配数量的所述子进程给所述第二区域。

根据本发明所述的资源调度装置,所述CPU调度模块还包括:

终止子模块,用于终止所述第一区域已调用的至少一个所述子进程。

根据本发明所述的资源调度装置,所述系统为TrustZone系统,所述区域包括相互隔离的安全区域和普通区域。

本发明提供基于多核处理器的资源调度技术,实时检测当前区域的CPU使用需求,并根据所述CPU使用需求为当前区域调度匹配数量的处理器内核。借此,本发明能够实时监控当前区域的CPU使用状况,并根据当前区域的CPU使用状况自由调度处理器内核的占用数量,从而对不同区域间的CPU资源的使用实现智能调度和控制,提高了CPU资源的使用效率。本发明尤其适用于具有TrustZone系统的通信终端。

附图说明

图1是本发明基于多核处理器的资源调度装置的结构示意图;

图2是本发明优选基于多核处理器的资源调度装置的结构示意图;

图3是本发明基于多核处理器的资源调度方法的流程图;

图4是本发明第一实施例中基于多核处理器的资源调度方法的流程图;

图5是本发明第二实施例中基于多核处理器的资源调度方法的流程图;

图6是本发明第三实施例中基于多核处理器的资源调度方法的原理图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1是本发明基于多核处理器的资源调度装置的结构示意图,应用于包括系统和至少两个区域的通信终端中,所述通信终端包括手机、PDA(Personal Digital Assistant,个人数字助理)、平板电脑等。优选的是,所述系统为TrustZone系统,所述区域包括相互隔离的安全区域和普通区域。所述资源调度装置100至少包括有CPU检测模块10和CPU调度模块20,其中:

CPU检测模块10,用于实时检测正在运行的当前区域的CPU使用需求。所述CPU使用需求优选为当前区域保证正常运行所需的处理器内核的数量,其中所述多核处理器可以包括2、4、8等任意个处理器内核。优选的是,所述当前区域可以是安全区域或普通区域。

CPU调度模块20,用于根据当前区域的CPU使用需求,为当前区域调度匹配数量的处理器内核,以保证当前区域能够正常而高效运行。

在本发明一具体实施例中,假设应用程序有非校验的普通页面,则被放在普通区域;若需校验的密码输入界面,则放在安全区域以保证密码安全。且当用户从普通页面进入密码输入页面时,系统将从普通区域切换至安全区域。若用户运行一个应用程序时进入一个普通页面,且该普通页面被放在普通区域。此时,实时检测正在运行的普通区域的CPU使用需求,并根据普通区域的CPU使用需求,为普通区域调度匹配数量的处理器内核,例如普通区域正常运行普通页面需要6个处理器内核,则分配6个处理器内核给普通区域。或者,若用户运行一个应用程序时进入一个密码输入界面,且该密码输入界面被放在安全区域。此时,实时检测正在运行的安全区域的CPU使用需求,并根据安全区域的CPU使用需求,为安全区域调度匹配数量的处理器内核,例如安全区域正常运行密码输入界面需要5个处理器内核,则分配5个处理器内核给普通区域。

本发明能够对区域间处理器内核的使用实现智能调度和控制,具体有点包括:在普通区域与安全区域中间加入一中间件—资源调度装置100,用来实时监测当前域的CPU使用状况,并根据CPU使用状况自由扩展或减少对CPU的占用。CPU资源的合理利用;不需对每一处理器内核进行监控,只需给资源调度装置100发布指令,资源调度装置100统一检测和记录CPU使用情况,并自动调度资源,一旦出现问题,可直接上报。

图2是本发明优选基于多核处理器的资源调度装置的结构示意图,应用于包括系统和至少两个区域的通信终端中,所述通信终端包括手机、PDA、平板电脑等,优选的是,所述系统为TrustZone系统,所述区域包括相互隔离的安全区域和普通区域。所述资源调度装置100包括有CPU检测模块10、CPU调度模块20和/或初始化模块30,其中:

初始化模块30,用于当运行在第一区域时,初始化一个父进程,并为父进程派生出多个子进程,每个子进程管理一个处理器内核。所述第一区域优选为普通区域或安全区域。例如,若用户运行一个应用程序时进入一个普通页面,且该普通页面被放在普通区域,此时运行普通区域。

所述CPU检测模块10包括:

第一检测子模块11,用于实时检测第一区域的第一CPU使用需求。

例如,普通区域正常运行普通页面需要6个处理器内核,则第一CPU使用需求为6个处理器内核。

CPU调度模块20包括:则分配6个处理器内核给普通区域

第一调度子模块21,用于根据第一CPU使用需求,从父进程中调度匹配数量的子进程给第一区域。

例如,第一CPU使用需求为6个处理器内核,则从父进程中调度6个子进程给第一区域,此时第一区域可占用6个处理器内核。

优选的是,所述CPU检测模块10包括:

第二检测子模块12,用于当从第一区域切换到第二区域时,实时检测第二区域的第二CPU使用需求。所述第二区域优选为安全区域或普通区域。例如,当用户从普通页面进入密码输入页面时,系统将从普通区域切换至安全区域,安全区域正常运行密码输入页面需要5个处理器内核,则第二CPU使用需求为5个处理器内核。

所述CPU调度模块20包括:

第二调度子模块22,用于根据第二CPU使用需求,从父进程中调度匹配数量的子进程给第二区域。

例如,第二CPU使用需求为5个处理器内核,则从父进程中调度5个子进程给第一区域,此时第一区域可占用5个处理器内核。

更好的是,CPU调度模块20还包括:

终止子模块23,用于终止第一区域已调用的至少一个子进程。

由于第一区域不再运行,因此对CPU的需求量减少,则终止第一区域中至少一个子进程来减少对CPU的开销,达到自由调度和节省资源的目的。

图3是本发明基于多核处理器的资源调度方法的流程图,所述方法通过如图1或图2所示的资源调度装置100实现,应用于包括系统和至少两个区域的通信终端中,所述方法包括步骤有:

步骤S301,实时检测正在运行的当前区域的CPU使用需求。

所述CPU使用需求优选为当前区域保证正常运行所需的处理器内核的数量,其中所述多核处理器可以包括2、4、8等任意个处理器内核。优选的是,所述当前区域可以是安全区域或普通区域。

步骤S302,根据当前区域的CPU使用需求,为当前区域调度匹配数量的处理器内核。

优选的是,所述系统为TrustZone系统,所述区域包括相互隔离的安全区域和普通区域。在本发明一具体实施例中,假设应用程序有非校验的普通页面,则被放在普通区域;若需校验的密码输入界面,则放在安全区域以保证密码安全。且当用户从普通页面进入密码输入页面时,系统将从普通区域切换至安全区域。若用户运行一个应用程序时进入一个普通页面,且该普通页面被放在普通区域。此时,实时检测正在运行的普通区域的CPU使用需求,并根据普通区域的CPU使用需求,为普通区域调度匹配数量的处理器内核,例如普通区域正常运行普通页面需要6个处理器内核,则分配6个处理器内核给普通区域。或者,若用户运行一个应用程序时进入一个密码输入界面,且该密码输入界面被放在安全区域。此时,实时检测正在运行的安全区域的CPU使用需求,并根据安全区域的CPU使用需求,为安全区域调度匹配数量的处理器内核,例如安全区域正常运行密码输入界面需要5个处理器内核,则分配5个处理器内核给普 通区域。

图4是本发明第一实施例中基于多核处理器的资源调度方法的流程图,所述方法通过如图2所示的资源调度装置100实现,应用于包括系统和至少两个区域的通信终端中,所述方法包括步骤有:

步骤S401,当运行在第一区域时,初始化一个父进程,并为父进程派生出多个子进程,每个子进程管理一个处理器内核。

所述第一区域优选为普通区域或安全区域。例如,若用户运行一个应用程序时进入一个普通页面,且该普通页面被放在普通区域,此时运行普通区域。

步骤S402,实时检测第一区域的第一CPU使用需求。

例如,普通区域正常运行普通页面需要6个处理器内核,则第一CPU使用需求为6个处理器内核。

步骤S403,根据第一CPU使用需求,从父进程中调度匹配数量的子进程给第一区域。

例如,第一CPU使用需求为6个处理器内核,则从父进程中调度6个子进程给第一区域,此时第一区域可占用6个处理器内核。

图5是本发明第二实施例中基于多核处理器的资源调度方法的流程图,所述方法通过如图2所示的资源调度装置100实现,应用于包括系统和至少两个区域的通信终端中,所述方法包括步骤有:

步骤S501,当运行在第一区域时,初始化一个父进程,并为父进程派生出多个子进程,每个子进程管理一个处理器内核。

所述第一区域优选为普通区域或安全区域。例如,若用户运行一个应用程序时进入一个普通页面,且该普通页面被放在普通区域,此时运行普通区域。

步骤S502,实时检测第一区域的第一CPU使用需求。

例如,普通区域正常运行普通页面需要6个处理器内核,则第一CPU使用需求为6个处理器内核。

步骤S503,根据第一CPU使用需求,从父进程中调度匹配数量的子进程给第一区域。

例如,第一CPU使用需求为6个处理器内核,则从父进程中调度6个子进程给第一区域,此时第一区域可占用6个处理器内核。

步骤S504,当从第一区域切换到第二区域时,实时检测第二区域的第二CPU 使用需求。

所述第二区域优选为安全区域或普通区域。例如,当用户从普通页面进入密码输入页面时,系统将从普通区域切换至安全区域,安全区域正常运行密码输入页面需要5个处理器内核,则第二CPU使用需求为5个处理器内核。

步骤S505,根据第二CPU使用需求,从父进程中调度匹配数量的子进程给第二区域。

例如,第二CPU使用需求为5个处理器内核,则从父进程中调度5个子进程给第一区域,此时第一区域可占用5个处理器内核。

步骤S506,终止第一区域已调用的至少一个子进程。

由于第一区域不再运行,因此对CPU的需求量减少,则终止第一区域中至少一个子进程来减少对CPU的开销,达到自由调度和节省资源的目的。

图6是本发明第三实施例中基于多核处理器的资源调度方法的原理图,应用于具有多核处理器的通信终端,该通信终端具有TrustZone系统、普通区域、安全区域和资源调度装置100,所述TrustZone系统分别连接普通区域、安全区域和资源调度装置100。

假设APP(Application,应用程序)有非校验的普通页面,则被放在普通区域;若需校验的密码输入界面,则放在安全区域以保证密码安全。当用户从普通页面进入密码输入页面时,系统将从普通区域切换至安全区域。

1、用户运行一个APP,进入一个普通页面,它会通知TrustZone系统若加载该普通页面,需更多的处理器内核。

2、TrustZone系统调用资源调度装置100,初始化一个父进程,并派生出子进程,每个子进程将调用一处理器内核,根据页面需求调用适当数量的处理器内核。

3、资源调度装置100对普通区域的CPU的使用状况进行监控,随着用户浏览页面的使用情况,资源调度装置100会自动调整CPU的增加或减少。

4、当APP在某一个普通页面弹出输入密码的对话框时,普通页面被隐藏在后台,由于涉及到密码安全,TrustZone系统将自动从普通区域切换至安全区域。

5、安全区域通知TrustZone系统若加载该密码校验页面,需更多的处理器内核。

6、TrustZone系统将调用资源调度装置100,从已经初始化的父进程中派生 新的子进程来调用新的处理器内核。若当前CPU的子进程已经全部被占用,需先终止普通系统的至少一个子进程后再调用空闲状态的新子进程,若子进程未全部被占用,则可直接调用空闲状态的新子进程。

7、由于普通页面被隐藏在后台,对CPU资源的需求量减少,资源调度装置100将终止其中至少一个子进程来减少对CPU资源的开销,达到自由调度和节省资源的目的。

8、若由安全区域切换至普通区域,资源调度装置100自动控制减少安全区域使用的处理器内核,并增加普通区域的处理器内核。

综上所述,本发明提供基于多核处理器的资源调度技术,实时检测当前区域的CPU使用需求,并根据所述CPU使用需求为当前区域调度匹配数量的处理器内核。借此,本发明能够实时监控当前区域的CPU使用状况,并根据当前区域的CPU使用状况自由调度处理器内核的占用数量,从而对不同区域间的CPU资源的使用实现智能调度和控制,提高了CPU资源的使用效率。本发明尤其适用于具有TrustZone系统的通信终端。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1