Table of Contents
Fetching ...

Hierarchical Resource Partitioning on Modern GPUs: A Reinforcement Learning Approach

Urvij Saroliya, Eishi Arima, Dai Liu, Martin Schulz

TL;DR

This work tackles the challenge of underutilization in modern GPU-accelerated HPC systems by jointly optimizing hierarchical resource partitioning (MIG) and fine-grained compute allocation (MPS) with multi-job co-scheduling. It formulates the problem as a windowed optimization over co-scheduled job sets and resource configurations and solves it via offline reinforcement learning using a dueling deep Q-network, enabling online deployment without further learning. The approach demonstrates substantial throughput improvements (up to 1.87×) over time-sharing across diverse workloads, while keeping online overhead low, and shows the method’s extensibility to cluster-scale deployments. This work provides a data-driven, hardware-aware method to automate complex GPU partitioning decisions and co-scheduling choices, with practical implications for improving GPU utilization in heterogeneous HPC environments.

Abstract

GPU-based heterogeneous architectures are now commonly used in HPC clusters. Due to their architectural simplicity specialized for data-level parallelism, GPUs can offer much higher computational throughput and memory bandwidth than CPUs in the same generation do. However, as the available resources in GPUs have increased exponentially over the past decades, it has become increasingly difficult for a single program to fully utilize them. As a consequence, the industry has started supporting several resource partitioning features in order to improve the resource utilization by co-scheduling multiple programs on the same GPU die at the same time. Driven by the technological trend, this paper focuses on hierarchical resource partitioning on modern GPUs, and as an example, we utilize a combination of two different features available on recent NVIDIA GPUs in a hierarchical manner: MPS (Multi-Process Service), a finer-grained logical partitioning; and MIG (Multi-Instance GPU), a coarse-grained physical partitioning. We propose a method for comprehensively co-optimizing the setup of hierarchical partitioning and the selection of co-scheduling groups from a given set of jobs, based on reinforcement learning using their profiles. Our thorough experimental results demonstrate that our approach can successfully set up job concurrency, partitioning, and co-scheduling group selections simultaneously. This results in a maximum throughput improvement by a factor of 1.87 compared to the time-sharing scheduling.

Hierarchical Resource Partitioning on Modern GPUs: A Reinforcement Learning Approach

TL;DR

This work tackles the challenge of underutilization in modern GPU-accelerated HPC systems by jointly optimizing hierarchical resource partitioning (MIG) and fine-grained compute allocation (MPS) with multi-job co-scheduling. It formulates the problem as a windowed optimization over co-scheduled job sets and resource configurations and solves it via offline reinforcement learning using a dueling deep Q-network, enabling online deployment without further learning. The approach demonstrates substantial throughput improvements (up to 1.87×) over time-sharing across diverse workloads, while keeping online overhead low, and shows the method’s extensibility to cluster-scale deployments. This work provides a data-driven, hardware-aware method to automate complex GPU partitioning decisions and co-scheduling choices, with practical implications for improving GPU utilization in heterogeneous HPC environments.

Abstract

GPU-based heterogeneous architectures are now commonly used in HPC clusters. Due to their architectural simplicity specialized for data-level parallelism, GPUs can offer much higher computational throughput and memory bandwidth than CPUs in the same generation do. However, as the available resources in GPUs have increased exponentially over the past decades, it has become increasingly difficult for a single program to fully utilize them. As a consequence, the industry has started supporting several resource partitioning features in order to improve the resource utilization by co-scheduling multiple programs on the same GPU die at the same time. Driven by the technological trend, this paper focuses on hierarchical resource partitioning on modern GPUs, and as an example, we utilize a combination of two different features available on recent NVIDIA GPUs in a hierarchical manner: MPS (Multi-Process Service), a finer-grained logical partitioning; and MIG (Multi-Instance GPU), a coarse-grained physical partitioning. We propose a method for comprehensively co-optimizing the setup of hierarchical partitioning and the selection of co-scheduling groups from a given set of jobs, based on reinforcement learning using their profiles. Our thorough experimental results demonstrate that our approach can successfully set up job concurrency, partitioning, and co-scheduling group selections simultaneously. This results in a maximum throughput improvement by a factor of 1.87 compared to the time-sharing scheduling.
Paper Structure (25 sections, 4 equations, 10 figures, 7 tables)

This paper contains 25 sections, 4 equations, 10 figures, 7 tables.

Figures (10)

  • Figure 1: A modern GPU architecture and a hierarchical partitioning on it
  • Figure 2: Partitioning variations with MIG and MPS
  • Figure 3: Co-scheduling Throughput as a Function of Compute Resource Allocations (MPS Partitioning)
  • Figure 4: Performance Benefit of Bandwidth Partitioning
  • Figure 5: Performance Comparison for Different Partitioning Variants Introduced in Section \ref{['background']}
  • ...and 5 more figures