[发明专利]一种基于多核的线程级推测并行的方法有效
申请号: | 202010054734.3 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111240748B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 李远成;施佳琪;王朝闻;冯茹;蒋林 | 申请(专利权)人: | 西安科技大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 北京易捷胜知识产权代理有限公司 11613 | 代理人: | 齐胜杰 |
地址: | 710054 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多核 线程 推测 并行 方法 | ||
本发明涉及一种基于多核的线程级推测并行的方法,包括:判断每一核单元执行处于第一状态的线程后,是否需要等待;所述第一状态的线程具有预先设定的第一顺序;若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元;所述验证队列中具有多个顺序排列的位置;所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针;所述验证队列存储在存储单元中;根据所述验证队列中的指针方向,对第一状态的线程按照第一顺序在存储单元中或核单元中进行验证,获取验证结果。
技术领域
本发明涉及一种基于多核的线程级推测并行的方法。
背景技术
线程级并行(TLP),计算机在同一时间内可以执行两条以上的线程,通过整套验证机制保证线程执行过程中数据一致性。在传统的CMP模型,对于非规则程序并行化设计,程序代码段验证时方案:处理单元之间的进行验证,由一个确定线程执行完毕后验证它所激发的线程使用的数据是否一致。一致则将确定权限进行移交,反之则撤销已经激发的线程,由确定线程继续原有代码。
如附图1所示,传统执行模型由一个确定状态线程进行验证下一个线程,在此过程中,存在着后续线程处理速度快,则需要等待确定状态线程验证完成后方可继续执行其他代码。
由于传统模型自身,对非规则程序进行并行化时,存在着负载不平衡现象,导致计算性能降低。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种基于多核的线程级推测并行中负载均衡的方法。
(二)技术方案
为了达到上述目的,本发明提供一种基于多核的线程级推测并行的方法,具有多个核单元,每个核单元执行一段线程;包括:
A1、判断每一核单元执行处于第一状态的线程后,是否需要等待;
所述第一状态的段线程具有预先设定的第一顺序;
A2、若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元;
所述验证队列中具有多个顺序排列的位置;
所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;
所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针;
所述验证队列存储在存储单元中;
A3、根据所述验证队列中的指针方向,对第一状态的线程按照第一顺序在存储单元中或核单元中进行验证,获取验证结果。
优选的,所述步骤A1包括:
A1-1、获取核单元执行一段处于第二状态的线程的时间和每一核单元执行处于第一状态的线程的时间;
A1-2、基于每一核单元执行处于第一状态的线程的时间,在每一核单元执行第一状态的线程结束时,获取所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态;
A1-3、基于核单元执行处于一段第二状态的线程的时间和每一核单元执行处于第一状态线程的时间以及核单元执行第一状态的每一段线程结束时所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态,确定所述每一核单元执行第一状态的线程后是否需要等待。
优选的,所述步骤A1-3包括:
当所述核单元执行第一状态的线程结束时,若所述线程在第一顺序中相邻的前一线程的状态为第一状态时,则确定所述核单元需要等待。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安科技大学,未经西安科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010054734.3/2.html,转载请声明来源钻瓜专利网。