[发明专利]基于mapreduce框架的超大规模稀疏矩阵乘法运算的方法在审

专利信息
申请号: 201410845357.X 申请日: 2014-12-31
公开(公告)号: CN104462023A 公开(公告)日: 2015-03-25
发明(设计)人: 蒋伟;姚键;潘柏宇;卢述奇 申请(专利权)人: 合一网络技术(北京)有限公司
主分类号: G06F17/16 分类号: G06F17/16
代理公司: 暂无信息 代理人: 暂无信息
地址: 100080 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 mapreduce 框架 超大规模 稀疏 矩阵 乘法 运算 方法
【说明书】:

技术领域

 本申请涉及一种矩阵乘法 ,具体的,涉及一种基于mapreduce框架的超大规模稀疏矩阵乘法运算的方法。

背景技术

矩阵乘法是线性代数中常见的问题之一,许多数值计算问题都包含着矩阵乘法的计算。因此,提高矩阵乘法算法运行速度问题,多年来一直引起算法研究者们的高度重视。在现有技术CN201310033884.6中,提出了一种将大矩阵乘法问题转换为适合mapreduce的操作,解决大规模矩阵乘法运算因为维度过大,在单机环境下因资源限制导致执行性能低下甚至无法执行的问题。但该操作需要4个mapreduce的job才能完成,仍然占据较大的内存和计算量,因此,如何能够减少计算量,更为快速有效的完成矩阵乘法的操作运算,便成为现有技术亟待解决的技术问题。

发明内容

本发明的目的在于提出一种基于mapreduce框架的超大规模稀疏矩阵乘法运算的方法,使得能够只需要2个mapreduce操作就可以完成超大规模系数矩阵的乘法,减少算法的运行步骤和时间。

为达此目的,本发明采用以下技术方案:

一种基于mapreduce框架下的大规模稀疏矩阵乘法运算的方法,即求矩阵C,使得C=A*B,其中A的存储格式为(i,k,Aik),B的存储格式为(k,j,Bkj),C的存储格式为(i,j,Cij),其中1≤i≤m, 1≤k≤n, 1≤j≤l,所述算法由2个mapreduce的job完成,包括如下步骤:

步骤1:第一个job,该job需要两个mapper和1个reduce完成:

(i) 生成mapper1:对矩阵A的每一个元素(i,k,Aik),输出一个key-value对, mapper1的key和value分别为key-value对的形式,其中,key为(k, A’),value为(i, Aik), A’为常数,表示属于矩阵A;

(ii) 生成mapper2:对矩阵B的每一个元素(k,j,Bkj),输出一个key-value对, mapper2的key和value分别为key-value对的形式,其中,key为(k,B”),value为(j, Bkj) , B”为常数,表示属于矩阵B;

(iii) partitioner : 将mapper1和mapper2输出的key-value对按照key中的key-value对中的key 的hash进行partition;

(iv) groupingComprator: 将mapper1和mapper2输出的key-value对按照key中的key-value对中的key进行分组;

(v) reduce: 对reduce的每一个分组,声明两个hashmap,记为hashmapA和hashmapB,对mapper1和mapper2中的每一个value,将所述value所采用的key-value对放到hashmap,如果mapper1和mapper2中的所述value对应的key的value是A’,则将mapper1和mapper2中的所述value放到hashmapA中, 如果mapper1和mapper2中的所述value对应key的value是B”,则将其放到hashmapB中,由于在mapper1和mapper2中,所述value采用的是key-value对的形式,则,所述hashmapA和hashmapB中的key为所述mapper的value的key,value为所述mapper的value的value;

(vi)对hashmapA的每一个元素(keyA,valueA)和hashmapB的每一个元素(keyB,valueB)做运算,输出一个key-value对,其中key为(keyA,keyB),value为valueA*valueB;

步骤2:第二个job,该job由一个mapper和一个reduce完成,

(i)mapper:对每一个元素之间输出原样输出

(ii)reducer: 对key相同的元素进行分组,对值进行累加。

因此,本发明对矩阵A和矩阵B的元素进行正确的分组,使得矩阵A的第i列的元素与矩阵B的第k行的元素进入到同一个reduce的group中,并对该group中每一个来自A的元素和来自B的元素做一次乘积。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合一网络技术(北京)有限公司,未经合一网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410845357.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top