[发明专利]片上系统SOC的多处理器的调度方法及装置在审
申请号: | 201210054957.5 | 申请日: | 2012-03-05 |
公开(公告)号: | CN103294554A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 王翔宇 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/38 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚;梁丽超 |
地址: | 518057 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 soc 处理器 调度 方法 装置 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种片上系统SOC的多处理器的调度方法及装置。
背景技术
目前,多处理器系统已经得到了充分的应用,但是怎样将多个同构/异构的处理器(Central Processing Unit,简称为CPU)群合并在一起作为一个整体来完成批量任务,相关技术中并没有明确的处理方式。
目前使用最多的并行处理方式是采用并行多处理器(Symmetrical Multi-Processing,简称为SMP)系统(如图1所示),也就是针对多个同构的处理器,其在解决了缓存(Cache)一致性、内存(Memory)一致性等并行技术的前提下,共享所有的外围设备,例如内存/外部中断/外部设备等。这样软件系统可以选用Linux/Windows等支持SMP的操作系统来加载任务并执行。由操作系统将任务划分成多个子任务,并动态调度到合适的目标处理器上加载执行。
另外一种使用较多的并行处理模式为计算机集群方式(如图2所示),也就是每个独立的计算机都作为整个系统中的单一节点。由另外的计算机或者网络中的某台计算机通过网络自动分发任务给其他的计算机,所有的计算机执行完成后都反馈信息给这台分发计算机,并结束任务执行。
图3是根据相关技术的SOC多核调度架构的示意图,在如图3所示的片上系统(System on Chip,简称为SOC)中,假如簇(CLUSTER)内的CPU通讯速度比较快,那么就可以将多个同构的CPU作为一个簇(建议是同构的CPU组成一个簇,特别情况下异构也支持)存在,其可以和其他架构的CPU簇并存,共享全部的外部内存和外设。图4是根据相关技术的SOC并行计算构架的示意图,如图4所示,SOC系统可以从外部得到任务流(Task Stream),该任务流可以包含多个按照不同架构处理器类型进行编译而产生的2进制执行代码。该代码可以自动按照所分配的处理器数量来动态执行,并可以和所分配的处理器组内任何计算机进行通讯,并具备错误报告和最终反馈结果的功能。代码编写规则可以符合业内多处理器编程标准,例如,消息传递接口(Message Passing Interface,简称为MPI)标准。
相关技术中提供了一种处理方案,在该处理方案中,主操作系统可以对从操作系统的一些行为进行监控,并可以给其发送命令使其调整当前的动作,而无法实现任务调度。又例如在相关技术中提供的另一种处理方案中,其主要是事务级/线程级的细节调度策略处理,与采用MPI多处理器调度方式方法。
由此可知,在SOC相关技术中,无法以处理器为基本调度单元实现同构/异构的处理器群中的任务调度。
发明内容
针对相关技术,无法在SOC系统中实现以处理器为基本调度单元执行任务调度的问题,本发明提供了一种片上系统SOC的多处理器的调度方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种片上系统SOC的多处理器的调度方法,包括:片上系统SOC的主处理器CPU接收到需要执行的任务后,获取所述任务的动态执行参数;所述主CPU根据所述SOC中当前可用的一个或多个从CPU,确定满足所述动态执行参数的任务分配方案;所述主CPU按照所述任务分配方案调度一个或多个从CPU执行所述任务。
优选地,所述动态执行参数,包括:执行所述任务的CPU类型;所述主CPU根据所述SOC中当前可用的一个或多个从CPU,确定满足所述动态执行参数的任务分配方案,包括:将所述任务分配给所述SOC当前可用的一个或多个从CPU中与所述CPU类型对应的一个或多个从CPU。
优选地,所述动态执行参数,还包括:并行执行的最大CPU个数;所述主CPU根据所述SOC中当前可用的一个或多个从CPU,确定满足所述动态执行参数的任务分配方案,包括:将所述任务分配给所述SOC当前可用的一个或多个从CPU中与所述CPU类型对应的一个或多个从CPU,其中,所述一个或多个从CPU的数量不大于所述最大CPU个数。
优选地,所述主CPU按照所述任务分配方案调度一个或多个从CPU执行所述任务,包括:所述主CPU从多个所述从CPU中选择一个从CPU作为虚拟主CPU,并将所述任务分发给选择的虚拟主CPU;所述选择的虚拟主CPU调度多个所述从CPU内的CPU执行所述任务。
优选地,所述选择的虚拟主CPU调度多个所述从CPU内的CPU执行所述任务,包括:所述选择的虚拟主CPU接收各个所述从CPU反馈的执行所述任务的结果;所述选择的虚拟主CPU将各个所述从CPU反馈的所述结果汇总,反馈给所述主CPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210054957.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:移液装置以及多通道式移液装置
- 下一篇:移动终端多媒体资源的管理方法及装置