2020 · 27 citations · 43 references
ComputingComputer ScienceComputer SystemsDistributed SystemsMachine LearningParallel ComputingDistributed AlgorithmsDistributed ComputingDistributed Data ProcessingLoad BalancingMatrix ComputationParallel Computing SystemsDistributed Linear AlgebraDistributed Machine LearningErasure CorrectionLoad Balancing AlgorithmsLoad Balancing StrategiesMatrix MultiplicationRateless CodesRedundant Computation
Large-scale machine learning and data mining applications require computer systems to perform massive matrix-vector and matrix-matrix multiplication operations that need to be parallelized across multiple nodes. The presence of stragglers -- nodes that unpredictably slowdown or fail -- is a major bottleneck in such distributed computations. We propose a rateless fountain coding strategy to address this issue. Our idea is to create linear combinations of the m rows of the matrix and assign these encoded rows to different worker nodes. The original matrix-vector product can be decoded as soon as slightly more than m row-vector products are collectively finished by the nodes. We show that our approach achieves optimal latency and performs zero redundant computations asymptotically. Experiments on Amazon EC2 show that rateless coding gives as much as 3x speed-up over uncoded schemes.
43
Sanjay Ghemawat · Communications of the ACM · 2008 · 18.5K citations · Full text
Spark: cluster computing with working sets
Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin et al. · 2010 · 4.2K citations
An analysis of single-layer networks in unsupervised feature learning
Adam Coates, Andrew Y. Ng, Honglak Lee · 2011 · 2.5K citations
Luiz André Barroso · Communications of the ACM · 2013 · 1.7K citations