【技术实现步骤摘要】
本申请涉及计算机,尤其涉及自定义指令并行选择方法、分布式计算系统、设备及介质。
技术介绍
1、专用指令集处理器是一种采用扩展指令集设计的处理器,而自定义指令选择问题是扩展指令集自动生成过程中出现的最为关键的问题之一,目前针对自定义指令选择问题的研究大多是考虑采用串行的方法来解决,但是当问题规模较大时,采用串行的方法难以在合理的时间内给出最优设计方案,甚至是无法给出最优设计方案,实施效果不佳。
技术实现思路
1、本申请的主要目的在于提出自定义指令并行选择方法、分布式计算系统、设备及介质,能够采用并行的方法实现高效可靠的自定义指令选择。
2、为实现上述目的,本申请的一方面提出一种自定义指令并行选择方法,应用于分布式计算系统,所述分布式计算系统包括一个主节点、多个第一计算节点和多个第二计算节点,所述方法包括:
3、通过所述主节点获取无向图,所述无向图包含若干个候选自定义指令,将所述无向图分割成多个子图,每个所述子图代表一个任务,再将每个所述子图分配给任一所述第一计算节点进行管理;
4、通过所述多个第一计算节点对各自管理的所有子图对应的所有执行时间进行预测并统计得到总执行时间,再将各自统计的总执行时间反馈至所述主节点;
5、通过所述主节点对所述多个第一计算节点反馈的多个总执行时间进行分析,以确定所述多个第二计算节点之间是否存在负载均衡;
6、当所述主节点检测到所述多个第二计算节点之间存在负载均衡时,通过所述多个第一计算节点将各自管
7、通过所述多个第二计算节点从各自管理的所有子图列表中筛选出所有最优子图,再从各自筛选出的所有最优子图中获取所有候选自定义指令。
8、进一步地,所述通过所述多个第一计算节点对各自管理的所有子图对应的所有执行时间进行预测包括:
9、对于每个所述第一计算节点及其管理的所有子图,通过所述第一计算节点将每个所述子图的属性参数输入至预设的时间预测模型进行分析,以预测出每个所述子图对应的执行时间;其中,所述时间预测模型是基于极端随机树的数据回归预测原理构建的。
10、进一步地,所述通过所述主节点对所述多个第一计算节点反馈的多个总执行时间进行分析,以确定所述多个第二计算节点之间是否存在负载均衡包括:
11、通过所述主节点从所述多个总执行时间中筛选出最大值和最小值,并计算所述多个总执行时间的平均值;
12、通过所述主节点根据所述最大值、所述最小值和所述平均值,计算所述多个第二计算节点之间的负载均衡程度值;
13、通过所述主节点检测所述负载均衡程度值是否小于等于预设的负载均衡程度阈值;若是,则确定所述多个第二计算节点之间存在负载均衡;若否,则确定所述多个第二计算节点之间不存在负载均衡。
14、进一步地,所述方法还包括:
15、当所述主节点检测到所述多个第二计算节点之间不存在负载均衡时,通过所述多个第一计算节点从各自管理的所有子图中筛选出执行时间大于预设时间阈值的全部子图;
16、通过所述多个第一计算节点将各自筛选出的每个子图分割成多个新的子图以进行管理,返回通过所述多个第一计算节点对各自管理的所有子图对应的所有执行时间进行预测并统计得到总执行时间,再将各自统计的总执行时间反馈至所述主节点的步骤。
17、进一步地,所述通过所述多个第一计算节点将各自筛选出的每个子图分割成多个新的子图包括:
18、对于每个所述第一计算节点及其筛选出的每个子图,通过所述第一计算节点将所述子图对应的执行时间与所述预设时间阈值之间的商值进行向上取整得到分割数量,再根据所述分割数量对所述子图进行分割得到多个新的子图。
19、进一步地,所述通过所述多个第二计算节点从各自管理的所有子图列表中筛选出所有最优子图包括:
20、对于每个所述第二计算节点及其管理的所有子图列表,通过所述第二计算节点对所述所有子图列表包含的全部子图进行同构匹配处理,得到多个重组后的子图列表;
21、通过所述第二计算节点根据预设的数学规划模型在所述多个重组后的子图列表中进行寻优筛选,得到所有最优子图。
22、进一步地,所述数学规划模型包含目标函数和子图筛选约束条件,所述目标函数是以所述多个重组后的子图列表达到的运行性能最大化为目标构建的,所述子图筛选约束条件包括所述多个重组后的子图列表所占运行资源的约束以及每两个所述重组后的子图列表之间的子图无重叠约束和子图非循环约束;所述通过所述第二计算节点根据预设的数学规划模型在所述多个重组后的子图列表中进行寻优筛选,得到所有最优子图包括:
23、通过所述第二计算节点根据所述多个重组后的子图列表和所述子图筛选约束条件,对所述目标函数进行寻优求解,以从所述多个重组后的子图列表中筛选出所有最优子图。
24、为实现上述目的,本申请的另一方面提出一种分布式计算系统,所述分布式计算系统包括一个主节点、多个第一计算节点和多个第二计算节点;
25、所述主节点用于获取无向图,所述无向图包含若干个候选自定义指令,将所述无向图分割成多个子图,每个所述子图代表一个任务,再将每个所述子图分配给任一所述第一计算节点进行管理;
26、所述多个第一计算节点用于对各自管理的所有子图对应的所有执行时间进行预测并统计得到总执行时间,再将各自统计的总执行时间反馈至所述主节点;
27、所述主节点还用于对所述多个第一计算节点反馈的多个总执行时间进行分析,以确定所述多个第二计算节点之间是否存在负载均衡;
28、当所述主节点检测到所述多个第二计算节点之间存在负载均衡时,所述多个第一计算节点还用于将各自管理的所有子图汇总生成一个子图列表,再将各自生成的子图列表分配给至少两个所述第二计算节点进行管理;
29、所述多个第二计算节点用于从各自管理的所有子图列表中筛选出所有最优子图,再从各自筛选出的所有最优子图中获取所有候选自定义指令。
30、为实现上述目的,本申请的另一方面提出一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
31、为实现上述目的,本申请的另一方面提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
32、本申请至少包括以下有益效果:通过引入包含一个主节点、多个第一计算节点和多个第二计算节点的分布式计算系统,利用主节点实现无向图分割、子图分配和多个第二计算节点之间的负载均衡分析,利用每个第一计算节点实现子图执行时间的预测与统计反馈、在负载均衡情况下的子图汇总分配以及在负载不均衡情况下的子图分割,利用每个第二计算节点实现子图寻优以进一步完成候选自定义指令的筛选,由此可以实现采用并行的本文档来自技高网...
【技术保护点】
1.一种自定义指令并行选择方法,其特征在于,应用于分布式计算系统,所述分布式计算系统包括一个主节点、多个第一计算节点和多个第二计算节点,所述方法包括:
2.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述通过所述多个第一计算节点对各自管理的所有子图对应的所有执行时间进行预测包括:
3.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述通过所述主节点对所述多个第一计算节点反馈的多个总执行时间进行分析,以确定所述多个第二计算节点之间是否存在负载均衡包括:
4.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的自定义指令并行选择方法,其特征在于,所述通过所述多个第一计算节点将各自筛选出的每个子图分割成多个新的子图包括:
6.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述通过所述多个第二计算节点从各自管理的所有子图列表中筛选出所有最优子图包括:
7.根据权利要求6所述的自定义指令并行选择方法,其特征在于,所述数学规划模型包含目标函数和
8.一种分布式计算系统,其特征在于,所述分布式计算系统包括一个主节点、多个第一计算节点和多个第二计算节点;
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种自定义指令并行选择方法,其特征在于,应用于分布式计算系统,所述分布式计算系统包括一个主节点、多个第一计算节点和多个第二计算节点,所述方法包括:
2.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述通过所述多个第一计算节点对各自管理的所有子图对应的所有执行时间进行预测包括:
3.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述通过所述主节点对所述多个第一计算节点反馈的多个总执行时间进行分析,以确定所述多个第二计算节点之间是否存在负载均衡包括:
4.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的自定义指令并行选择方法,其特征在于,所述通过所述多个第一计算节点将各自筛选出的每个子图分割成多个新的子图包括:
6.根据权利要求1所述的自定义指令并行选择方法,其特征在于,所述通过所述多个第二计算节点从各自管理的所有子图列表中筛选出所有最优子图包括:<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。