Resolvable Designs for Speeding up Distributed Computing

Distributed computing frameworks such as MapReduce are often used to process large computational jobs. They operate by partitioning each job into smaller tasks executed on different servers. The servers also need to exchange intermediate values to complete the computation. Experimental evidence suggests that this so-called Shuffle phase can be a significant part of the overall execution time for several classes of jobs. Prior work has demonstrated a natural tradeoff between computation and communication whereby running redundant copies of jobs can reduce the Shuffle traffic load, thereby leading to reduced overall execution times. For a single job, the main drawback of this approach is that it requires the original job to be split into a number of files that grows exponentially in the system parameters. When extended to multiple jobs (with specific function types), these techniques suffer from a limitation of a similar flavor, i.e., they require an exponentially large number of jobs to be executed. In practical scenarios, these requirements can significantly reduce the promised gains of the method. In this work, we show that a class of combinatorial structures called resolvable designs can be used to develop efficient coded distributed computing schemes for both the single and multiple job scenarios considered in prior work. We present both theoretical analysis and exhaustive experimental results (on Amazon EC2 clusters) that demonstrate the performance advantages of our method. For the single and multiple job cases, we obtain speed-ups of 4.69x (and 2.6x over prior work) and 4.31x over the baseline approach, respectively.

READ FULL TEXT
research
02/08/2018

Leveraging Coding Techniques for Speeding up Distributed Computing

Large scale clusters leveraging distributed computing frameworks such as...
research
01/22/2019

CAMR: Coded Aggregated MapReduce

Many big data algorithms executed on MapReduce-like systems have a shuff...
research
03/16/2022

A Model of Job Parallelism for Latency Reduction in Large-Scale Systems

Processing computation-intensive jobs at multiple processing cores in pa...
research
10/04/2019

System Stability Under Adversarial Injection of Dependent Tasks

In this work, we consider a computational model of a distributed system ...
research
05/11/2023

Scheduling Multi-Server Jobs with Sublinear Regrets via Online Learning

Nowadays, multi-server jobs, which request multiple computing devices an...
research
01/31/2023

Partitioning Distributed Compute Jobs with Reinforcement Learning and Graph Neural Networks

From natural language processing to genome sequencing, large-scale machi...
research
10/29/2018

Studio e confronto delle strutture di Apache Spark

English. This document is designed to study the data structures that can...

Please sign up or login with your details

Forgot password? Click here to reset