论文部分内容阅读
矩阵是一种非常重要的基本数据结构,它在电子商务、社会网络、信息检索等领域都有广泛的应用。如今这些领域处理的数据量越来越大,而过去对矩阵运算的研究多集中在单机算法,用户无法直接使用矩阵运算来编写分布式程序。虽然有一些并行的矩阵程序包,但它们的功能并不全面,而且容错性差。用户直接在Hadoop上编写矩阵程序又会有很多重复的开发,而且很难达到最优。 我们在Hadoop上搭建了一个针对大规模矩阵的计算平台Neo。Neo实现了矩阵的加减乘除等算术运算符、与或非逻辑运算符、大于等于小于等关系运算符、特征值分解奇异值分解等分析函数还有导入导出算子,总共28个矩阵最常用的算子,并提供简单易用的表达式编程接口,使得用户不仅可以直接使用算子实现大规模矩阵的并行计算,同时还可以方便快捷地在Neo上实现和测试新的矩阵算法。Neo还在逻辑级别、执行级别、平台级别都进行了优化,使得用户能最快的得到结果。 本文主要有以下几点贡献:1、提出了一种针对稀疏矩阵乘法的新算法,相比传统算法效率有很大提升;2、把Hadoop与R相结合起来计算大规模矩阵的特征值分解;3、提出了一些针对Hadoop上的矩阵运算的优化方式。