MapReduce Implementation of Strassen's Algorithm for Matrix Multiplication

Consider the multiplication of two n×n matrices. A straight-forward sequential algorithm for computing the product takes Θ(n3) time. Strassen [20] presented an algorithm that takes Θ(n1g 7) time; lg denotes logarithm to the base 2; lg 7 is about 2.81. Now, consider the implementation of these two algorithms (straight-forward and Strassen) in the mapReduce framework. Several papers have studied mapReduce implementations of the straight-forward algorithm; this algorithm can be implemented using a constant number (typically, one or two) of mapReduce passes. In this paper, we study the mapReduce implementation of Strassen's algorithm. If we unwind the recursion, Strassen's algorithm consists of three parts, Parts I-III. Direct mapReduce implementations of the three parts take lg n, 1 and lg n passes, respectively; total number of passes is 2 lg n+1. We show that Part I can be implemented in 2 passes, with total work Θ(n1g 7), and reducer size and reducer workload o(n). We believe that Part III can also be implemented, with small reducer size and workload, in a constant number of passes; this is future work.

[1]  Anand Rajaraman,et al.  Mining of Massive Datasets , 2011 .

[2]  Tom White,et al.  Hadoop - The Definitive Guide: Storage and Analysis at Internet Scale (4. ed., revised & updated) , 2012 .

[3]  Hairong Kuang,et al.  The Hadoop Distributed File System , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[4]  Din J. Wasem,et al.  Mining of Massive Datasets , 2014 .

[5]  Jeffrey D. Ullman Designing good MapReduce algorithms , 2012, XRDS.

[6]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[7]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[8]  Rajeev Motwani,et al.  Optimization Algorithms for Exploiting the Parallelism-Communication Tradeoff in Pipelined Parallelism , 1994, VLDB.

[9]  Jarek Nieplocha,et al.  SRUMMA: a matrix multiplication algorithm suitable for clusters and scalable shared memory systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[10]  R. W. Johnson,et al.  A tensor product formulation of Strassen's matrix multiplication algorithm with memory reduction , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[11]  Eli Upfal,et al.  Space-round tradeoffs for MapReduce computations , 2011, ICS '12.

[12]  Dror Irony,et al.  Communication lower bounds for distributed-memory matrix multiplication , 2004, J. Parallel Distributed Comput..

[13]  Jeffrey D. Ullman,et al.  Upper and Lower Bounds on the Cost of a Map-Reduce Computation , 2012, Proc. VLDB Endow..

[14]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[15]  James Demmel,et al.  Communication-optimal parallel algorithm for strassen's matrix multiplication , 2012, SPAA '12.

[16]  James Demmel,et al.  Communication-Avoiding Parallel Strassen: Implementation and performance , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[17]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[18]  James Demmel,et al.  Brief announcement: strong scaling of matrix multiplication algorithms and memory-independent communication lower bounds , 2012, SPAA '12.

[19]  GhemawatSanjay,et al.  The Google file system , 2003 .

[20]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[21]  Tom White,et al.  Hadoop: The Definitive Guide , 2009 .

[22]  Ralf Lämmel,et al.  Google's MapReduce programming model - Revisited , 2007, Sci. Comput. Program..

[23]  Prakash V. Ramanan,et al.  Tight bounds on one- and two-pass MapReduce algorithms for matrix multiplication , 2016, BeyondMR@SIGMOD.

[24]  V. Strassen Gaussian elimination is not optimal , 1969 .

[25]  Sergei Vassilvitskii,et al.  A model of computation for MapReduce , 2010, SODA '10.