关键词:
矩阵计算
并行计算
矩阵乘法
Smith标准型计算
Spark平台
摘要:
随着移动互联网的不断普及,各类数据如语音、图像、视频等呈现出爆炸性的增长趋势,这使得海量数据的处理成为当前面临的一个重要挑战。在这样的背景下,Hadoop及其生态系统成了大数据处理的事实标准,为海量数据的处理提供了多样化的应用和工具。同时,海量数据的处理也推动着机器学习和数据挖掘算法的并行计算迅猛发展,其中矩阵算法作为各类机器学习算法、数据挖掘算法以及其他算法的基础,其并行实现显得尤为重要。在这方面,Spark作为一个弥补了Map Reduce框架缺陷的新型计算框架,以其能与Hadoop生态系统的无缝衔接的优势成了实现并行矩阵算法的最佳选择。本文基于Spark的特点构建了一个小型的并行矩阵库,包括分布式矩阵的不同表现形式,如按行分块、按块分块等,并实现了并行矩阵的乘法运算和矩阵Smith标准型的计算。其中,并行的矩阵乘法运算是其他并行矩阵算法的核心。本文首先实现了一种基于Spark的并行矩阵计算算法,该算法能够处理大规模稠密矩阵的乘法运算,并通过实验分析了该算法的瓶颈,同时针对Smith标准型计算中涉及的与初等变换矩阵相乘的过程进行了优化,大大降低了网络传输的数据量,提升了算法性能。目前,Smith标准型的并行计算算法只适用于单机运行,无法处理大规模分布式矩阵。因此,本文提出了最大公约数算法,该算法能够支持分块矩阵的并行计算的Smith标准型计算算法,并在Spark计算框架下进行了实现,这种新的算法能够处理更大规模的矩阵运算。最后,本文对该算法进行了相关实验,验证了其正确性和可扩展性。