[发明专利]产生在分布式处理系统上执行的代码的装置有效
申请号: | 201580084720.3 | 申请日: | 2015-11-20 |
公开(公告)号: | CN108604182B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 亚历山大·尼古拉耶维奇·菲利波夫;亚历山大·弗拉基米罗维奇·斯莱萨连科;维克多·弗拉基米罗维奇·斯米尔诺夫 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 产生 分布式 处理 系统 执行 代码 装置 | ||
提供一种用于产生在分布式处理系统上执行的代码的装置,包括:数据接口,其用于接收以高级编程语言编写的包含运算和抽象数据类型的程序的表示;处理器;以及存储器,其存储向量化代码。所述向量化代码包括以下代码:用于将抽象数据类型映射到表示某一数据类型的元素集合的索引集合数据类型的指令,其中所述元素集合中的每一个元素可由索引接入。用于基于所述索引集合数据类型将每一运算转换成基于向量的形式以创建所述程序的基于向量的表示的指令。以及用于向低级语言的应用程序编程接口提供所述基于向量的表示以通过分布到分布式处理执行环境的计算节点来执行向量表示的指令。
技术领域
本发明在它的一些实施例中涉及用于产生在分布式处理系统中执行的程序实现的系统和方法,并且更具体地但非排他性地说,涉及用于优化用于在分布式处理系统内执行的程序的实现的系统和方法。
背景技术
某些计算问题需要分布式处理框架(Distributed Processing Framework,DPF)来执行。执行此类计算的程序可能无法在单个计算节点上运行,例如,由于单个节点的有限内存和/或有限处理资源。在许多情况下,利用多个处理节点的处理和/或内存资源,在分布式处理系统内执行程序。
DPF通常向烧录器提供数个特定领域(例如,线性代数、图形处理)的库。使用库提供的抽象领域专用对象减轻了烧录器要处理低级细节的必须性,从而使得程序更容易写入。然而,烧录器产率和程序在分布式处理系统中执行时的性能之间存在权衡。提升写入程序的抽象等级会产生额外的低级实现开销,这在执行程序时可能会产生性能损失。
此外,所执行的分布式应用程序的性能等级是基于烧录器针对高级领域对象的实现而选择适当的数据结构。然而,实际上,烧录器很难知道针对特定使用情况何时使用哪一数据结构来获得最佳性能。例如,对于算法处理矩阵,何时选择稀疏矩阵表示以及何时选择密集矩阵表示。
实际上,DPF在它们用于允许烧录器接入分布式处理系统的能力方面具有显著的局限性。这种约束起因于DPF所支持的编程模型。烧录器需要手动绕过这些局限性,这可能较为困难且费时,和/或产生在分布式处理系统中无法有效执行的程序。
发明内容
本发明的目标在于提供一种用于创建在分布式处理系统内执行的程序表示的低级实现的装置、系统、计算机程序产品和方法。
前述目标和其它目标通过独立权利要求的特征实现。其它实施形式根据从属权利要求、说明书以及图式是显而易见的。
根据第一方面,用于产生在分布式处理系统上执行的代码的装置包括:用于接收以高级编程语言编写的程序的表示的数据接口,所述程序表示包含运算,所述程序表示包含抽象数据类型;以及存储向量化代码的存储器;以及耦合到数据接口和存储器以执行向量化代码的处理器,所述向量化代码包括:用于将抽象数据类型中的每一个映射到索引集合数据类型中的至少一个的代码指令,其中索引集合数据类型中的每一个表示某一数据类型的元素集合,其中元素集合中的每一个元素可由索引接入;基于索引集合数据类型,将每一运算转换成基于向量的形式,以创建程序的基于向量的表示;向低级语言的应用程序编程接口(application programming interface,API)提供程序的基于向量的表示,以通过分布到分布式处理执行环境的计算节点来执行基于向量的程序表示。
抽象数据类型映射到索引集合数据类型中的至少一个以及基于索引集合数据类型将每一运算转换成基于向量的形式以创建基于向量的表示使得烧录器能够写入分布式程序,所述分布式程序包含嵌套数据并行(例如,分布的分布)。向量类似物允许以分布式方式执行程序的运算,而不是将存储在不同节点中的数据收集到主节点(主节点可能没有足够的内存来存储所有所收集的数据),在主节点处的所收集的数据上执行运算,并将结果重新分布到相应的节点。
在根据第一方面的装置的第一可能实施方案中,装置进一步包括用于基于索引集合数据类型,用向量类似物转换索引集合数据类型等级处的程序表示的嵌套数据并行运算的代码指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580084720.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:媒体输出设备之间的媒体传送
- 下一篇:用于高效同时使用的存储器映像的复制