vix.ing · top · new · best · stats · spec

Exoshuffle: An Extensible Shuffle Architecture

2022/03/09 by Frank Sifei Luan, Luan, Frank Sifei, Stephanie Wang +17 · 2 voices
Computer Science · #Advanced Data Storage Technologies #Algorithms and Data Compression #Distributed #FOS: Computer and information sciences #Parallel #Parallel Computing and Optimization Techniques #and Cluster Computing (cs.DC) #cs.DC

paper · pdf · doi:10.48550/arxiv.2203.05072

openalex publication_date 2022/03/09 · arxiv published 2022/03/09 · arxiv updated 2023/08/18 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Shuffle is one of the most expensive communication primitives in distributed data processing and is difficult to scale. Prior work addresses the scalability challenges of shuffle by building monolithic shuffle systems. These systems are costly to develop, and they are tightly integrated with batch processing frameworks that offer only high-level APIs such as SQL. New applications, such as ML training, require more flexibility and finer-grained interoperability with shuffle. They are often unable to leverage existing shuffle optimizations. We propose an extensible shuffle architecture. We present Exoshuffle, a library for distributed shuffle that offers competitive performance and scalability as well as greater flexibility than monolithic shuffle systems. We design an architecture that decouples the shuffle control plane from the data plane without sacrificing performance. We build Exoshuffle on Ray, a distributed futures system for data and ML applications, and demonstrate that we can: (1) rewrite previous shuffle optimizations as application-level libraries with an order of magnitude less code, (2) achieve shuffle performance and scalability competitive with monolithic shuffle systems, and break the CloudSort record as the world's most cost-efficient sorting system, and (3) enable new applications such as ML training to easily leverage scalable shuffle.

Discussions

Related