[发明专利]一种在计算机集群上进行矩阵乘积运算的方法和系统无效
申请号: | 201210266940.6 | 申请日: | 2012-07-30 |
公开(公告)号: | CN102831102A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 张一凡;张中峰;罗峰;黄苏支;李娜 | 申请(专利权)人: | 北京亿赞普网络技术有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F9/46 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100081 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算机 集群 进行 矩阵 乘积 运算 方法 系统 | ||
技术领域
本申请涉及计算机并行运算技术领域,特别是涉及一种在计算机集群上进行矩阵乘积运算的方法和系统。
背景技术
目前,随着高性能应用和运算需求的迅猛发展,单台计算机已经不能解决一些超大规模应用问题,如空间连接、多个数据集的最近邻查询等。这就需要将多台计算机资源联合起来,构成计算机集群,共同解决大规模应用问题。海盗(Hadoop)就是这样一个分布式系统的集群架构,可以实现高效率的并行计算和海量存储。
Hadoop由许多元素构成,其最底部是海盗分布式文件系统(Hadoop Distributed File System,HDFS),它存储Hadoop集群中所有存储节点上的文件;HDFS的上一层是映射化简(MapReduce)引擎,MapReduce引擎是一个分布式计算框架,用于数据分析处理。主键-键值(key-value)存储可以为HDFS元数据存储管理带来更好的扩展性,故在Hadoop中常用于存储运算中的中间数据或结果数据。
用计算机对大规模矩阵进行运算在工程和科学运算中有着广泛应用,例如在算法中动态规划优化、图邻接矩阵的最小最大边路径问题、数据处理中变量的映射和关联等应用领域均需要进行矩阵乘积的运算。
现有技术一种在Hadoop上进行矩阵乘积运算的方法,其通过对矩阵进行分块将矩阵乘积运算分割成多个子运算,最后将多个子运算的结果合并处理成最终的乘积矩阵,参照图1所示的流程示意图,该方法具体可以包括作业1(job1)和作业2(job2);其中,
在job1的Map任务阶段,分别以矩阵1和矩阵2的列坐标和行坐标为主键(key)标记元素;
在job1的Reduce任务阶段,对key相同的矩阵1和矩阵2中的元素两两组合求乘积;
在job2的Map任务阶段,对key相同的元素求和得到乘积矩阵中的元素;
在job2的Reduce任务阶段,将乘积矩阵中的元素输出至HDFS。
在MapReduce引擎中,Reduce任务数通常为0.95或者1.75×计算节点数×Mapred.tasktracker.tasks.maximum,其中,计算节点(Computer Nodes)相当于Hadoop的服务器主机(Host),其上通常部署有多个任务追踪器(tasktracker)节点,一个tasktracker节点可用于执行一个Map/Reduce任务,Mapred.tasktracker.Map.tasks.maximum通常设置为计算节点的cpu核数目减1,如果计算节点的Host为8核,则Reduce任务数为6.65或者12.25*计算节点数,也即,Reduce任务数是有限的;这样,在矩阵规模比较大时,在job1的Reduce任务阶段,需要用有限的任务数完成大量的两矩阵元素两两组合并求乘积的运算,这个过程十分耗时,成为整个矩阵乘积运算速度的瓶颈。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高矩阵乘积的运算速度。
发明内容
本申请所要解决的技术问题是提供一种在计算机集群上进行矩阵乘积运算的方法和系统,能够提高矩阵乘积的运算速度。
为了解决上述问题,本申请公开了一种在计算机集群上进行矩阵乘积运算的方法,所述计算机集群上部署有分布式文件系统、用来执行映射Map任务和化简Reduce任务的多个计算节点,所述方法包括:在所述多个计算节点上执行第一Map任务、第一Reduce任务、第二Map任务和第二Reduce任务;其中,
所述第一Map任务从分布式文件系统读取第一矩阵和第二矩阵的行数据,并对所述行数据进行第一处理得到相应的第一键值对结果,并输出;
所述第一Reduce任务对所述第一键值对结果中相同主键的键值进行聚合,并将相应的聚合结果输出至分布式文件系统;
所述第二Map任务从分布式文件系统读取所述聚合结果,从所述聚合结果中识别得到第一矩阵和第二矩阵的元素,并对所述第一矩阵和第二矩阵的元素进行两两组合求乘积运算,将运算得到的第二键值对结果进行输出;其中,所述第二键值对结果的主键为乘积矩阵元素的行列号,键值为乘积矩阵元素的值;
所述第二Reduce任务对所述第二键值对结果中相同主键的键值进行求和,并将相应的求和结果作为乘积矩阵元素的值输出至分布式文件系统。
优选的,所述第一矩阵对应的第一键值对结果的键值包括第一标识、行坐标和元素值,所述第二矩阵对应的第一键值对结果的键值包括第二标识、列坐标和元素值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亿赞普网络技术有限公司,未经北京亿赞普网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210266940.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可冲洗外压式超滤滤芯组件及净水器
- 下一篇:用于氧化锌脱硫处理的控制系统