一种异构多核处理器上的任务调度方法

文档序号:6367322阅读:222来源:国知局
专利名称:一种异构多核处理器上的任务调度方法
技术领域
本发明涉及一种异构多核处理器上的任务调度方法,属于计算机系统任务调用方法技术领域。
背景技术
异构的多核处理器是指处理器中各个核不完全一祥。在手持设备上,异构的多核设计正在逐步兴起。目前手持设备上的异构多核处理器由若干个正常处理器核搭配ー个特别的低功耗处理器核构成。手持设备的一些后台任务被固定地指定到低功耗处理器核上,从而达到省电的目的。然而运行于低功耗核的任务是固定的,不能动态按需将更多任务分配到低功 耗核上,从而削弱了省电效果。

发明内容
发明目的针对现有技术中存在的问题与不足,本发明提供一种异构多核处理器上的任务调度方法,能够动态按需将更多任务调度到低功耗核上,从而具备更好的省电效果O在本发明中,设定的异构多核处理器由两类核心组成低功耗核心功耗较低,但性能相对较差的处理器核心;高性能核心功耗相对较高,但性能较高的处理器核心。上述两种核心共同支持ー个公有指令集。其中高性能核心将额外支持更多的高级计算指令。将用户的应用尽可能地分配到低功耗核心上,来获得更好的省电效果。同时对不适合运行于低功耗核心的应用(或低功耗核心负荷较大时)调度到高性能核心,从而确保应用本身的流畅度。由于低功耗核心的计算资源有限,因此不适合运行含有复杂计算工作的应用,例如视频编解码,图像编解码等。而含有复杂计算工作的应用通常会大量运用ー些高级计算指令。因此本发明依据是否使用高级计算指令,判断一个应用是否适合在低功耗核上运行。对于具体的ー个应用来讲,应用对应的程序在编译时刻指定參数来规定使用的指令集一不适合运行在低功耗核心的程序则使用包含高级计算指令的指令集。技术方案一种异构多核处理器上的任务调度方法,包括以下步骤第一歩,设置应用任务的多核亲和度,将新应用任务总是在低功耗核上启动;第二步,进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;第三歩,进行非法指令的异常处理,在非法指令的异常处理例程里,添加逻辑如果当前发出非法指令异常的是低功耗核心,则将任务重新指派到高性能核心上;所述非法指令的异常是指低功耗核上运行高级计算指令。有益效果与现有技术相比,本发明所提供的一种异构多核处理器上的任务调度方法,能够将更多的任务调度到低功耗核上,从而更加省电。同时依据任务类型和处理器核负载来决定是否调度到高性能核,从而保证任务执行的效率。
具体实施例方式下面结合具体实施例,进ー步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。本实施例基于Linux内核,借助标准处理器和Linux内核的已有机制,实现异构多核处理器上的任务调度方法 第一歩,在应用任务启动入口-exec系统调用中设置应用任务的多核亲和度,
即通过函数sched_setaffinity O将新应用任务总是在低功耗核上启动;其中,exec系统调用是所有应用任务的启动入口。对应到Linux内核为do_execve()函数。第二步,进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;该功能为Linux内核调度器已有实现。第三步,进行非法指令的异常处理,本发明关注对非法指令异常的处理。非法指令异常为处理器的标准异常之一,即当处理器遇到无法识别的指令时,会中断正常的执行,跳转到一段指定的异常处理例程上。当低功耗核取到不支持的高级指令时,会抛出非法指令异常,在非法指令的异常处理例程里,添加逻辑如果当前发出非法指令异常的是低功耗核心,则调用函数sched_setaffinity O将任务重新指派到高性能核心上。
权利要求
1.一种异构多核处理器上的任务调度方法,其特征在于,包括以下步骤 第一歩,设置应用任务的多核亲和度,将新应用任务总是在低功耗核上启动; 第二步,进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上; 第三步,进行非法指令的异常处理,在非法指令的异常处理例程里,添加逻辑如果当前发出非法指令异常的是低功耗核心,则将任务重新指派到高性能核心上。
2.如权利要求I所述的异构多核处理器上的任务调度方法,其特征在于所述非法指令的异常是指低功耗核上运行高级计算指令。
全文摘要
本发明公开了一种异构多核处理器上的任务调度方法,包括以下步骤设置应用任务的多核亲和度,将新应用任务总是在低功耗核上启动;进行多核间的负载平衡操作,判断低功耗核心的负载是否超过预定义值,如果超过,将低功耗核上超载部分的应用任务迁移到高性能核上;进行非法指令的异常处理,在非法指令的异常处理例程里,添加逻辑如果当前发出非法指令异常的是低功耗核心,则将任务重新指派到高性能核心上;所述非法指令的异常是指低功耗核上运行高级计算指令。本发明所提供的一种异构多核处理器上的任务调度方法,能够将更多的任务调度到低功耗核上,从而更加省电。
文档编号G06F9/50GK102707996SQ20121014905
公开日2012年10月3日 申请日期2012年5月15日 优先权日2012年5月15日
发明者吴少刚, 张斌, 张福新, 晏华, 陈杰 申请人:江苏中科梦兰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1