[发明专利]用于在并行异构系统上执行算法的系统和方法有效
申请号: | 201580073388.0 | 申请日: | 2015-01-19 |
公开(公告)号: | CN107111505B | 公开(公告)日: | 2020-07-14 |
发明(设计)人: | 大卫·迈纳;纳坦·彼得弗氏;埃亚勒·罗森贝格;阿德南·阿巴里亚;奥弗·罗森伯格 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 并行 系统 执行 算法 方法 | ||
1.一种适于生成在处理系统上,包括分布式处理系统上执行的代码的装置,其特征在于,包括:
计算机程序的中间表示IR(intermediate representation);
解释器,用来评估所述中间表示,所述解释器还用于:
接收反馈信息,所述反馈信息包括关于所述处理系统的信息;以及
基于所述反馈信息调整所述IR;
调整所述IR从包含以下项的组中选择:动态调整表示所述计算机程序的计算流程的运行时图形、调整所述计算机程序中的操作、重编译所述计算机程序的一个或多个部分以在某一平台上进行优化、更新触发一个或多个规则的变量。
2.根据权利要求1所述的装置,其特征在于,所述IR包括:
依赖数据流图形,表示所述计算机程序的计算流程;所述图形包括以下元素:
表示一个或多个数据操作的节点,
表示所述数据操作的一个或多个参数的边缘,包括入边缘,
表示所述数据操作的一个或多个结果的边缘,包括出边缘;和/或
一个或多个规则,所述规则用于对所述数据流图形的所述元素进行编码。
3.根据权利要求1-2中任意一项所述的装置,其特征在于,所述解释器用于响应于所述反馈信息调整所述IR,还执行以下操作中的至少一个:
将至少一个新规则添加到所述IR,
撤销所述IR的至少一个预先存在的规则,以及
改变所述IR的至少一个预先存在的规则。
4.根据权利要求1-2中任意一项所述的装置,其特征在于,所述解释器还用于集中生成部分物化的IR,所述部分物化的IR可由多个目标分布式处理系统作为全物化本地IR的本地调整和本地生成的基础来执行,以在某一分布式处理系统中多个节点中的每个节点处进行本地执行。
5.根据权利要求1-2中任意一项所述的装置,其特征在于,某一分布式处理系统的多个节点中的每个单独节点包括一个本地解释器以评估集中生成的调整后IR,而所述解释器用于:
接收本地反馈信息,所述本地反馈信息包括关于某一分布式处理系统的本地信息;以及
基于所述本地反馈信息本地调整所述集中生成的调整后IR。
6.根据权利要求1-2中任意一项所述的装置,其特征在于,所述解释器还用于向中央调度器提供调整后IR,所述中央调度器用于集中调度所述调整后IR以针对每个单独节点处的多个相应目标架构,在每个单独节点处本地执行。
7.根据权利要求4所述的装置,其特征在于,还包括所述多个节点中的每个单独节点处的一个本地规则集,所述规则对如何评估本地调整后IR,包括所述本地调整后IR的本地数据流图形的元素,进行编码。
8.根据权利要求1-2、7中任意一项所述的装置,其特征在于,反馈信息从包含以下项的组中选择:所述处理系统的图形拓扑表示的模式、所述处理系统的处理系统拓扑的模式、基于所述处理系统的至少一个系统运行时变量的至少一个逻辑表达式、所述计算机程序的至少一个函数和参数的模式。
9.根据权利要求1-2、7中任意一项所述的装置,其特征在于,包含在所述IR中的一个规则集基于一种基于规则的语言被实施为应用编程接口。
10.根据权利要求1-2、7中任意一项所述的装置,其特征在于,所述解释器还用于向低级编译器提供调整后IR以编译和生成低级代码,以供在所述处理系统中执行。
11.根据权利要求1-2、7中任意一项所述的装置,其特征在于,所述反馈信息包括从包含以下成员的组中选择的至少一个成员:添加新处理单元、移除现有处理单元、进程失败、处理单元失败、处理单元的可用性发生变化、处理资源的可用性发生变化、输入数据发生变化、处理复杂度发生变化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580073388.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种卫浴挂件倒角机
- 下一篇:一种新型锅体钢板磨边装置