本发明专利技术涉及一种基于多核的线程级推测并行的方法,包括:判断每一核单元执行处于第一状态的线程后,是否需要等待;所述第一状态的线程具有预先设定的第一顺序;若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元;所述验证队列中具有多个顺序排列的位置;所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针;所述验证队列存储在存储单元中;根据所述验证队列中的指针方向,对第一状态的线程按照第一顺序在存储单元中或核单元中进行验证,获取验证结果。
A thread level speculative parallel method based on multi-core
【技术实现步骤摘要】
一种基于多核的线程级推测并行的方法
本专利技术涉及一种基于多核的线程级推测并行的方法。
技术介绍
线程级并行(TLP),计算机在同一时间内可以执行两条以上的线程,通过整套验证机制保证线程执行过程中数据一致性。在传统的CMP模型,对于非规则程序并行化设计,程序代码段验证时方案:处理单元之间的进行验证,由一个确定线程执行完毕后验证它所激发的线程使用的数据是否一致。一致则将确定权限进行移交,反之则撤销已经激发的线程,由确定线程继续原有代码。如附图1所示,传统执行模型由一个确定状态线程进行验证下一个线程,在此过程中,存在着后续线程处理速度快,则需要等待确定状态线程验证完成后方可继续执行其他代码。由于传统模型自身,对非规则程序进行并行化时,存在着负载不平衡现象,导致计算性能降低。
技术实现思路
(一)要解决的技术问题为了解决现有技术的上述问题,本专利技术提供一种基于多核的线程级推测并行中负载均衡的方法。(二)技术方案为了达到上述目的,本专利技术提供一种基于多核的线程级推测并行的方法,具有多个核单元,每个核单元执行一段线程;包括:A1、判断每一核单元执行处于第一状态的线程后,是否需要等待;所述第一状态的段线程具有预先设定的第一顺序;A2、若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元;所述验证队列中具有多个顺序排列的位置;所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针;所述验证队列存储在存储单元中;A3、根据所述验证队列中的指针方向,对第一状态的线程按照第一顺序在存储单元中或核单元中进行验证,获取验证结果。优选的,所述步骤A1包括:A1-1、获取核单元执行一段处于第二状态的线程的时间和每一核单元执行处于第一状态的线程的时间;A1-2、基于每一核单元执行处于第一状态的线程的时间,在每一核单元执行第一状态的线程结束时,获取所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态;A1-3、基于核单元执行处于一段第二状态的线程的时间和每一核单元执行处于第一状态线程的时间以及核单元执行第一状态的每一段线程结束时所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态,确定所述每一核单元执行第一状态的线程后是否需要等待。优选的,所述步骤A1-3包括:当所述核单元执行第一状态的线程结束时,若所述线程在第一顺序中相邻的前一线程的状态为第一状态时,则确定所述核单元需要等待。优选的,所述步骤A1-3包括:当所述核单元执行第一状态的线程结束时,若所述线程在第一顺序中相邻前一线程的状态为第二状态,且所述核单元执行第一状态的线程的时间比所述线程在第一顺序中相邻的前一线程的被执行时间短时,则确定所述核单元执行第一状态的线程结束后需要等待。优选的,所述步骤A3包括:若验证队列中顺序排列的位置中的指针指向核单元时,则在所述核单元中对所述核单元对应的线程进行验证,获取验证结果。优选的,所述步骤A3包括:若验证队列中顺序排列的位置中的指针指向存储单元,则在所述存储单元中对与所述位置相应的线程进行验证,获取验证结果。优选的,在所述步骤A1之前还包括步骤:B1、根据预先设定的待执行程序,确定多段与所述待执行程序的顺序相应的线程;所述多段线程包括多段第一状态的线程和一段第二状态的线程;B2、基于所述第二状态的线程,采用预先设定的乱序激发策略激发所述多段第一状态的线程。优选的,所述预设定的第一顺序与所述待执行程序的顺序相应。优选的,其特征在于,所述第一状态为推测状态;所述第二状态为确定状态。(三)有益效果本专利技术的有益效果是:本专利技术通过验证队列将验证从核单元,转移至存储单元中,消除线程间负载不平衡的现象,能增大核单元的有效执行率。附图说明图1为现有技术中并行执行示意图;图2为本专利技术的一种基于多核的线程级推测并行的方法流程图;图3为本专利技术实施例中的并行执行示意图。【附图标记说明】1:第一顺序中第一段线程;2:第一顺序中第二段线程;3:第一顺序中第三段线程;4:第一顺序中第四段线程;5:第一顺序中第五段线程;6:第一顺序中第六段线程。具体实施方式为了更好的解释本专利技术,以便于理解,下面结合附图,通过具体实施方式,对本专利技术作详细描述。实施例一参见附图2,本实施例中基于多核的线程级推测并行的方法,具有多个核单元,每个核单元执行一段线程;包括:步骤1、本实施例中,根据预先设定的待执行程序,确定多段与所述待执行程序的顺序相应的线程。本实施例中的多段线程包括多段第一状态的线程和一段第二状态的线程。本实施例中的第一状态为推测状态,第二状态为确定状态。步骤2、基于所述第二状态的线程,采用预先设定的乱序激发策略激发所述多段第一状态的线程。线程被激发后就由与线程相应的核单元执行。步骤3、判断每一核单元执行处于第一状态的线程后,是否需要等待。所述第一状态的段线程具有预先设定的第一顺序。优选的,所述预设定的第一顺序与所述待执行程序的顺序相应。优选的,本实施例中步骤3包括:获取核单元执行一段处于第二状态的线程的时间和每一核单元执行处于第一状态的线程的时间。基于每一核单元执行处于第一状态的线程的时间,在每一核单元执行第一状态的线程结束时,获取所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态。基于核单元执行处于一段第二状态的线程的时间和每一核单元执行处于第一状态线程的时间以及核单元执行第一状态的每一段线程结束时所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态,确定所述每一核单元执行第一状态的线程后是否需要等待。本实施例中,当所述核单元执行第一状态的线程结束时,若所述线程在第一顺序中相邻的前一线程的状态为第一状态时,则确定所述核单元需要等待。本实施例中,当所述核单元执行第一状态的线程结束时,若所述线程在第一顺序中相邻前一线程的状态为第二状态,且所述核单元执行第一状态的线程的时间比所述线程在第一顺序中相邻的前一线程的被执行时间短时,则确定所述核单元执行第一状态的线程结束后需要等待。步骤4、若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元。所述验证队列中具有多个顺序排列的位置。所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针。所述验证队列存储在存储单元中。步骤5、根据本文档来自技高网...
【技术保护点】
1.一种基于多核的线程级推测并行的方法,其特征在于,具有多个核单元,每个核单元执行一段线程;包括:/nA1、判断每一核单元执行处于第一状态的线程后,是否需要等待;/n所述第一状态的段线程具有预先设定的第一顺序;/nA2、若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元;/n所述验证队列中具有多个顺序排列的位置;/n所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;/n所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针;/n所述验证队列存储在存储单元中;/nA3、根据所述验证队列中的指针方向,对第一状态的线程按照第一顺序在存储单元中或核单元中进行验证,获取验证结果。/n
【技术特征摘要】
1.一种基于多核的线程级推测并行的方法,其特征在于,具有多个核单元,每个核单元执行一段线程;包括:
A1、判断每一核单元执行处于第一状态的线程后,是否需要等待;
所述第一状态的段线程具有预先设定的第一顺序;
A2、若需要等待,则将所述第一状态的线程插入至预先设定的验证队列的位置中,并将所述验证队列的位置中的指针指向存储单元;
所述验证队列中具有多个顺序排列的位置;
所述线程插入验证队列的位置与所述线程在第一顺序中的次序对应;
所述验证队列中的每一位置中均具有预先设定的指向与所述位置相应的核单元的指针;
所述验证队列存储在存储单元中;
A3、根据所述验证队列中的指针方向,对第一状态的线程按照第一顺序在存储单元中或核单元中进行验证,获取验证结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤A1包括:
A1-1、获取核单元执行一段处于第二状态的线程的时间和每一核单元执行处于第一状态的线程的时间;
A1-2、基于每一核单元执行处于第一状态的线程的时间,在每一核单元执行第一状态的线程结束时,获取所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态;
A1-3、基于核单元执行处于一段第二状态的线程的时间和每一核单元执行处于第一状态线程的时间以及核单元执行第一状态的每一段线程结束时所述线程的状态和所述线程在第一顺序中相邻的前一线程的状态,确定所述每一核单元执行第一状态的线程后是否需要等待。
3.根据权利要求2所述的方法,其特征在于,所述步骤A1-3包括:
当所述核单元执行第...
【专利技术属性】
技术研发人员:李远成,施佳琪,王朝闻,冯茹,蒋林,
申请(专利权)人:西安科技大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。