PystachIO: Efficient Distributed GPU Query Processing with PyTorch over Fast Networks & Fast Storage
For distributed GPU query processing, this work addresses the bottleneck of underutilized GPU and I/O bandwidth when data does not fit in GPU memory, offering a practical solution for large-scale OLAP.
PystachIO enables efficient distributed GPU query processing for storage-resident OLAP workloads, achieving up to 3x speedups over existing approaches by optimizing overlap between computation and I/O.
The AI hardware boom has led modern data centers to adopt HPC-style architectures centered on distributed, GPU-centric computation. Large GPU clusters interconnected by fast RDMA networks and backed by high-bandwidth NVMe storage enable scalable computation and rapid access to storage-resident data. Tensor computation runtimes (TCRs), such as PyTorch, originally designed for AI workloads, have recently been shown to accelerate analytical workloads. However, prior work has primarily considered settings where the data fits in aggregated GPU memory. In this paper, we systematically study how TCRs can support scalable, distributed query processing for large-scale, storage-resident OLAP workloads. Although TCRs provide abstractions for network and storage I/O, naive use often underutilizes GPU and I/O bandwidth due to insufficient overlap between computation and data movement. As a core contribution, we present PystachIO, a prototype of a PyTorch-based distributed OLAP engine that combines fast network and storage I/O with key optimizations to maximize GPU, network, and storage utilization. Our evaluation shows up to 3x end-to-end speedups over existing distributed GPU-based query processing approaches.