[发明专利]一种并行计算设备的任务调度方法及任务调度装置在审
| 申请号: | 201510213351.5 | 申请日: | 2015-04-29 |
| 公开(公告)号: | CN104793996A | 公开(公告)日: | 2015-07-22 |
| 发明(设计)人: | 王世好 | 申请(专利权)人: | 中芯睿智(北京)微电子科技有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 王术兰 |
| 地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并行 计算 设备 任务 调度 方法 装置 | ||
技术领域
本发明涉及终端技术领域,具体而言,涉及一种并行计算设备的任务调度方法及任务调度装置。
背景技术
目前,人们经常通过终端来处理数据,且人们对处理数据的速度要求越来越高,而终端实质上是通过处理器来处理数据。因此如何不断提高处理器的处理速度成为一个急需解决的问题。
当前,相关技术中提供了一种提高处理器的处理速度的方法,包括:将多个处理器组成多处理机系统,在通过该多处理机系统处理数据时,通过操作系统中的线程调度机制为该多处理机系统中的每个处理器分配处理任务。处理器对于分配的处理任务按照时间片分享方式进行处理,使各个处理任务在不同时间片内占用该处理器的资源。但是由于多个处理器同时进行处理,实现了多个处理器并行处理数据,从而提高了数据处理速度。
在实现本发明的过程中,发明人发现相关技术中至少存在以下问题:
处理器通过时间片分享方式来处理任务,在单个处理器中只有当一个任务处理完释放处理器的资源之后,才能处理下一个任务,如此串行处理数据,导致处理器处理数据的速度不高。
发明内容
有鉴于此,本发明实施例的目的在于提供一种并行计算设备的任务调度方法及任务调度装置,实现在处理器中通过多个计算单元并行处理任务,提高了处理器处理数据的速度。
第一方面,本发明实施例提供了一种并行计算设备的任务调度方法,所述方法包括:
对处理器包括的多个计算单元中的每个计算单元的状态进行实时监测;
当监测到一计算单元的状态为空闲状态时,为位于任务队列的队首的任务分配堆栈指针,并把全局指针和所述堆栈指针传给所述计算单元,启动所述计算单元对所述队首的任务进行处理,并标识所述计算单元的状态为忙状态;其中,所述任务队列中的每个任务由任务对应的数据、采用的程序的入口地址及任务对应的存储空间的地址组成;
当所述计算单元对所述队首的任务处理完毕后,释放所述堆栈指针,设置所述计算单元的状态为空闲状态。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述为位于任务队列的队首的任务分配堆栈指针之前,还包括:
根据待处理数据、处理程序和存储空间地址信息,生成多个任务;
将生成的所述多个任务,通过硬件接口插入任务队列中。
结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述方法还包括:
当所述计算单元对所述队首的任务处理完毕后,若处理的结果不是最终结果,则根据所述处理的结果,生成新的任务,并将所述新的任务插入所述任务队列的队尾。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述方法还包括:
在所述计算单元对所述队首的任务进行处理的过程中,如果未获取到处理所述队首的任务所需的其它任务的处理结果,则挂起所述队首的任务,并将所述队首的任务插入到挂起任务队列的队尾。
结合第一方面的第三种可能的实现方式,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述将所述队首的任务插入到挂起任务队列的队尾之后,还包括:
当获取到所述队首的任务所需的其它任务的处理结果时,从所述挂起任务队列中取出所述队首的任务,将所述其它任务的处理结果添加到所述队首的任务中,将添加所述处理结果的所述队首的任务插入所述任务队列的队尾。
第二方面,本发明实施例提供了一种任务调度装置,所述装置包括:
监测模块,用于对处理器包括的多个计算单元中的每个计算单元的状态进行实时监测;
处理模块,用于当监测到一计算单元的状态为空闲状态时,为位于任务队列的队首的任务分配堆栈指针,并把全局指针和所述堆栈指针传给所述计算单元,启动所述计算单元对所述队首的任务进行处理,并标识所述计算单元的状态为忙状态;其中,所述任务队列中的每个任务由任务对应的数据、采用的程序的入口地址及任务对应的存储空间的地址组成;
设置模块,用于当所述计算单元对所述队首的任务处理完毕后,释放所述堆栈指针,设置所述计算单元的状态为空闲状态。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述装置还包括:
第一生成模块,用于根据待处理数据、处理程序和存储空间地址信息,生成多个任务;将生成的所述多个任务,通过硬件接口插入任务队列中。
结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中芯睿智(北京)微电子科技有限公司,未经中芯睿智(北京)微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510213351.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多路并行划分方法及系统
- 下一篇:用于混合临界应用的方法和轻量机构





