一种面向可重构计算结构的推测并行执行方法及系统

文档序号:37475179发布日期:2024-03-28 18:57阅读:15来源:国知局
一种面向可重构计算结构的推测并行执行方法及系统

本发明涉及通用处理器,尤其涉及一种面向可重构计算结构的推测并行执行方法及系统。


背景技术:

1、描应对高密集型应用处理的主要硬件结构之一是可重构处理结构。可重构结构内部数据通路可被重构,使其同时具有通用处理器的高灵活性和专用硬件的高能效。但是可重构计算需要对硬件进行编程,设计开发难度显著增加;同时,上层应用编程人员通常对可重构硬件细节缺乏了解,很难根据应用特点,充分发挥重构结构优势,实现应用到可重构硬件的高并行度划分和映射。故而需要相应技术指导编程人员推测部署任务并行执行方法,有效利用可重构硬件结构,发挥性能优势。

2、当前在传统多核并行中使用的任务级推测并行技术(tls,task-levelspeculation)已经在多个领域取得了较好效果。因能够容忍一定控制和依赖存在情形,该方法采用激进方式挖掘程序并行性。但是,任务级推测并行技术主要面向传统多核处理器,在可重构处理结构下较难实现,无法达到预期效果。


技术实现思路

1、鉴于现有技术的上述缺点、不足,本发明提供一种面向可重构计算结构的推测并行执行方法及系统。

2、为了达到上述目的,本发明采用的主要技术方案包括:

3、第一方面,本发明实施例提供一种面向可重构计算结构的推测并行执行方法,包括:

4、s1、针对任一第一循环体,生成该第一循环体所对应的配置信息;

5、第一循环体包括多个顺序排列的任务;其中,该第一循环体中的第一个任务为非推测任务,其他任务均为推测任务;

6、s2、将该循环体中非推测任务及其对应的配置信息以及预先获取的输入信息下发给相应的可重构阵列进行执行,得到非推测任务的执行结果,并将每一推测任务及其所对应的配置信息以及预先获取的输入信息下发至相应的可重构阵列进行执行,分别得到每一推测任务的执行结果;

7、s3、将所述非推测任务的执行结果提交至内存中进行保存,并将每一推测任务的执行结果提交至内存中的待提交队列中;

8、s4、基于所述非推测任务的执行结果,对待提交队列中的每一推测任务的执行结果分别进行验证,分别得到与推测任务的执行结果一一对应的验证结果;

9、若推测任务的执行结果对应的验证结果为验证成功,则将所述推测任务的执行结果提交至内存中进行保存。

10、优选地,还包括:

11、s5、若推测任务的执行结果对应的验证结果为验证失败,则将待提交队列中该推测任务的执行结果以及该推测任务后续的推测任务的执行结果删除;

12、s6、将该推测任务的前一任务的执行结果,作为该推测任务所对应的新的输入信息,并将该推测任务及其对应的配置信息以及新的输入信息下发给相应的可重构阵列进行执行,得到该推测任务的确认状态的执行结果,并将第一类型推测任务中的每一推测任务及其所对应的配置信息以及预先获取的新的输入信息分别下发至相应的可重构阵列进行执行,分别得到每一推测任务的执行结果;

13、其中,第一类型推测任务为:第一循环体中在该推测任务顺序之后的推测任务;

14、s7、将该推测任务的确认状态的执行结果提交至内存中进行保存,并将第一类型推测任务中每一推测任务的执行结果提交至内存中的待提交队列中;

15、s8、基于该推测任务的确认状态的执行结果,对待提交队列中的每一推测任务的执行结果分别进行验证,分别得到与推测任务的执行结果一一对应的验证结果;若推测任务的执行结果对应的验证结果为验证成功,则将所述推测任务的执行结果提交至内存中进行保存;若推测任务的执行结果对应的验证结果为验证失败,则重复步骤s5-s8直至第一循环体中的所有任务执行完成。

16、优选地,

17、其中,与推测任务的相应的可重构阵列是通过空域映射方法确定的;与非推测任务的相应的可重构阵列是通过时域映射方法确定的。

18、优选地,所述s4具体包括:

19、基于预先获取的待提交队列中的每一推测任务所对应的输入信息,并判断该推测任务所对应的输入信息是否与该推测任务的前一任务的非推测任务的执行结果或者验证成功的执行结果相同,得到该推测任务的验证结果;

20、若相同,则该推测任务的执行结果对应的验证结果为验证成功;

21、若不同,则该推测任务以及后续的推测任务的执行结果所对应的验证结果均为验证失败。

22、优选地,所述s8具体包括:

23、基于预先获取的待提交队列中的每一推测任务所对应的新的输入信息,并判断该推测任务所对应的输入信息是否与该推测任务的前一任务的确认状态的执行结果或者验证成功的执行结果相同,得到该推测任务的验证结果;

24、若相同,则该推测任务的执行结果对应的验证结果为验证成功;

25、若不同,则该推测任务以及后续的推测任务的执行结果所对应的验证结果均为验证失败。

26、优选地,

27、所述第一循环体还包括预先设置的第一标签;

28、其中,所述第一标签为标识具有该标签的循环体为第一循环体的标签。

29、优选地,在s1之前还包括:

30、s0、针对多个循环体进行识别,筛选出具有第一标签的循环体。

31、优选地,

32、第一类型推测任务中的每一推测任务分别所对应的新的输入信息是通用处理器基于该推测任务的确认状态的执行结果所得到的。

33、另一方面,本实施例提供一种面向可重构计算结构的推测并行执行系统,包括:通用处理器、可重构阵列以及内存;

34、通用处理器,用于针对任一第一循环体,生成该第一循环体所对应的配置信息;第一循环体包括多个顺序排列的任务;其中,该第一循环体中的第一个任务为非推测任务,其他任务均为推测任务;

35、通用处理器,还用于将该循环体中非推测任务及其对应的配置信息以及预先获取的输入信息下发给相应的可重构阵列进行执行,得到非推测任务的执行结果,并将每一推测任务及其所对应的配置信息以及预先获取的输入信息下发至相应的可重构阵列进行执行,分别得到每一推测任务的执行结果;

36、通用处理器,还用于将所述非推测任务的执行结果提交至内存中进行保存,并将每一推测任务的执行结果提交至内存中的待提交队列中;

37、通用处理器,基于所述非推测任务的执行结果,对待提交队列中的每一推测任务的执行结果分别进行验证,分别得到与推测任务的执行结果一一对应的验证结果;若推测任务的执行结果对应的验证结果为验证成功,则将所述推测任务的执行结果提交至内存中进行保存。

38、优选地,

39、通用处理器,还用于在推测任务的执行结果对应的验证结果为验证失败,则将待提交队列中该推测任务的执行结果以及该推测任务后续的推测任务的执行结果删除;

40、通用处理器,还用于将该推测任务的前一任务的执行结果,作为该推测任务所对应的新的输入信息,并将该推测任务及其对应的配置信息以及新的输入信息下发给相应的可重构阵列进行执行,得到该推测任务的确认状态的执行结果,并将第一类型推测任务中的每一推测任务及其所对应的配置信息以及预先获取的新的输入信息分别下发至相应的可重构阵列进行执行,分别得到第一类型推测任务中每一推测任务的执行结果;

41、其中,第一类型推测任务为:第一循环体中在该推测任务顺序之后的推测任务;

42、通用处理器,还用于将该推测任务的确认状态的执行结果提交至内存中进行保存,并将第一类型推测任务中每一推测任务的执行结果提交至内存中的待提交队列中;

43、通用处理器,还用于基于该推测任务的确认状态的执行结果,对待提交队列中的每一推测任务的执行结果分别进行验证,分别得到与推测任务的执行结果一一对应的验证结果;

44、若推测任务的执行结果对应的验证结果为验证成功,则将所述推测任务的执行结果提交至内存中进行保存。

45、本发明的有益效果是:本发明的一种面向可重构计算结构的推测并行执行方法及系统,由于通过将非推测任务下发至可重构阵列进行执行,可以充分利用并行计算的能力,提高任务的执行效率。可重构阵列中的各个计算单元可以同时处理多个任务,从而加快整体计算速度。另外,本发明的一种面向可重构计算结构的推测并行执行方法,将非推测任务的执行结果提交至内存进行保存,可以保留任务的执行状态和输出数据,方便后续的分析和使用。这样一来,即使在任务执行过程中系统发生故障或中断,也能够快速恢复并继续执行。本发明的一种面向可重构计算结构的推测并行执行方法,通过将执行结果进行验证,可以确保任务的正确性和可靠性。验证结果能够帮助排除可能存在的错误和异常,从而提高系统的稳定性和可靠性。通过将每一推测任务及其对应的配置信息和输入信息下发至相应的可重构阵列进行执行,可以充分利用可重构阵列的计算资源。根据任务的特点和要求,相应地配置和分配资源,提高资源的利用效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1