[发明专利]基于mapreduce的大规模稀疏矩阵乘法运算的方法无效
申请号: | 201310033884.6 | 申请日: | 2013-01-29 |
公开(公告)号: | CN103106183A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 刘德建;陈宏展;吴拥民;刘飞荣 | 申请(专利权)人: | 福建天晴数码有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F7/523 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 大规模 稀疏 矩阵 乘法 运算 方法 | ||
技术领域
本发明涉及一种基于mapreduce的大规模稀疏矩阵乘法运算的方法。
背景技术
矩阵乘法是线性代数中常见的问题之一,许多数值计算问题都包含着矩阵乘法的计算。因此,提高矩阵乘法算法运行速度问题,多年来一直引起算法研究者们的高度重视。在研究界主要通过两种方式来达到目的:改进算法降低矩阵乘法的算法复杂度和矩阵乘法的算法并行化。
第一种方法的研究成果表明,在矩阵规模不大情况下,降低算法复杂度的好处非常明显,对于n×n与n×n的矩阵乘法运算,最优方法的算法复杂度接近下限n×n。但在当今数据急剧膨胀的互联网时代,单纯的降低矩阵乘法的算法复杂度仍无法满足大规模矩阵乘法的存储和计算要求。
第二种方法通过对大矩阵进行分块,在不同的机器下并行地完成分块的矩阵乘法运算,然后合并分块的运算结果得到最终运算结果。mapreduce是一种基于函数的编程模型,具有接口简单,健壮容错的特点,因此mapreduce非常适合大规模数据的批量处理。
本发明将大矩阵乘法问题转换为适合mapreduce的操作,解决大规模矩阵乘法运算因为维度过大,在单机环境下因资源限制导致执行性能低下甚至无法执行的问题。
发明内容
本发明要解决的技术问题,在于提供一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,将大规模矩阵乘法运算转换为转置、变换、连接与合并等适合mapreduce计算的基本操作,从而解决单机大矩阵乘法运算的资源限制问题,特别适用于大规模稀疏矩阵E级维度的矩阵。
本发明是这样实现的:一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,假设大规模稀疏矩阵为A和B,A和B的乘积矩阵为C,
A={(i,k,Aik)︱i∈[1,2…m],k∈[1,2…n],Aik≠0},
B={(k,j,Bkj)︱k∈[1,2…n],j∈[1,2…l],Bkj≠0},
求矩阵C={(i,j,Cij)︱i∈[1,2…m],j∈[1,2…l],Cij≠0},
使得i=1,2,...,m;j=1,2,...,l;
所述方法包括:
步骤10、由一个mapreduce Job完成转置矩阵A,输出矩阵A’;
步骤20、变换矩阵B,将矩阵B中以坐标点的存储方式变换为以稀疏向量的存储方式,输出矩阵B’;
步骤30、连接矩阵A’与B’,计算乘积分量,通过连接操作,得到Cij在矩阵A列号k与矩阵B行号k上的乘积分量;
步骤40、合并乘积分量,通过累加乘积分量Cij_k计算Cij。
进一步的,所述步骤10的mapreduce的过程具体为:
步骤11、map函数读取矩阵A中的由记录位置与<i,k,Aik>构成的key-value对,然后输出由列号k与对应的稀疏向量partColumnVector<i,Aik>构成的key-value对到中间结果,其中partColumnVector由<i,Aik>为元素构成的稀疏向量;
步骤12、combine函数合并mapper端的中间结果,输出格式与map函数输出一致;
步骤13、reduce函数进一步合并combine函数输出的结果,将来自不同mapper的key相同的partColumnVector合并成完整的列向量columnVector,然后将由列号与columnVector构成的key-value对写到矩阵A’对应的文件路径;
步骤14、最终输出转置后的矩阵A’,其内容是由矩阵A的列号与列向量构成。
进一步的,所述步骤20的mapreduce的过程具体为:
步骤21、map函数读取矩阵B中的由记录位置与<k,j,Bkj>构成的key-value对,然后输出由行号k与对应的稀疏向量partRowVector<j,Bkj>构成的key-value对到中间结果,其中partRowVector由<j,Bkj>为元素构成的稀疏向量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴数码有限公司,未经福建天晴数码有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310033884.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电视机控制用手势识别系统
- 下一篇:后台存储器系统接口的动态优化