The Streaming Batch Model for Efficient and Fault-Tolerant Heterogeneous Execution
Frank Sifei Luan, Ron Yifeng Wang, Yile Gu, Ziming Mao, Charlotte Lin, Amog Kamsetty, Hao Chen, Cheng Su, Balaji Veeramani, Scott Lee, SangBin Cho, Clark Zinzow, Eric Liang, Ion Stoica, Stephanie Wang
TL;DR
The paper tackles the bottleneck of CPU-based data processing in GPU-centric ML workflows by introducing the streaming batch model, a partition-based, memory-aware approach that enables elastic, pipelined execution across heterogeneous resources. It presents Ray Data, a centralized, online scheduler that dynamically partitions data, streams partitions between heterogeneous operators, and adapts to memory pressure and cluster changes, while maintaining scalability and fault tolerance. Empirical results show Ray Data substantially outperforms traditional batch and streaming systems (up to $12\times$ throughput improvements) and delivers significant training speedups (e.g., $31\%$ on Stable Diffusion) by leveraging disaggregated CPU/GPU clusters. The work advances practical heterogeneous data processing for ML by combining memory-efficient partitioning, dynamic resource allocation, and robust recovery, with broad implications for RAG, video classification, and large-scale multimodal training.
Abstract
While ML model training and inference are both GPU-intensive, CPU-based data processing is often the bottleneck. Distributed data processing systems based on the batch or stream processing models assume homogeneous resource requirements. They excel at CPU-based computation but either under-utilize heterogeneous resources or impose high overheads on failure and reconfiguration. We introduce the streaming batch model, a hybrid of batch and streaming that enables efficient and fault-tolerant heterogeneous execution. The key idea is to use partitions as the unit of execution to achieve elasticity, but to allow partitions to be dynamically created and streamed between heterogeneous operators for memory-efficient pipelining. We present Ray Data, a streaming batch system that improves throughput on heterogeneous batch inference pipelines by 2.5-12$\times$ compared to traditional batch and stream processing systems. By leveraging heterogeneous clusters, Ray Data improves training throughput for multimodal models such as Stable Diffusion by 31% compared to single-node ML data loaders.
