MikhbarMIKHBAR
Artificial Intelligence

AWS Batch Adds Quota Management for SageMaker Training Jobs

AWS Batch has launched a new quota management capability designed to help organizations divide, share, and prioritize GPU compute resources across multiple machine learning teams and projects.

AWS Batch Adds Quota Management for SageMaker Training Jobs

Overview of AWS Batch Quota Management

As artificial intelligence and machine learning operations scale across organizations, coordinating shared graphics processing unit (GPU) capacity can introduce substantial administrative overhead. To address this, <a href="https://aws.amazon.com/batch/">AWS Batch</a> has introduced a new scheduling capability that allows administrators to divide compute capacity into quota shares organized by team, project, or workload.

According to the <a href="https://aws.amazon.com/blogs/machine-learning/lend-and-borrow-resources-across-teams-with-aws-batchs-quota-management-for-sagemaker-training-jobs/">AWS Machine Learning Blog</a>, this new feature works backward from multi-team training environments by providing an automated way to define allocations per team, share idle capacity, and run high-priority workloads first without requiring manual coordination.

Resource-Sharing Strategies and Quota Shares

Each quota share defined within <a href="https://docs.aws.amazon.com/batch/latest/userguide/quota-management.html">quota management</a> includes specific capacity limits and resource-sharing configurations. These strategies dictate how idle compute is handled: it can be reserved until jobs arrive using the RESERVE strategy, lent to other shares using LEND, or configured to both lend when idle and borrow when needed via LEND_AND_BORROW.

When scheduling jobs, AWS Batch prioritizes quota shares that remain under their respective capacity limits. If incoming jobs arrive in a share that has previously lent out its capacity, the system performs cross-share preemption to automatically reclaim those resources without requiring manual intervention from administrators.

Preemption and Priority Handling

Administrators can also turn on priority-based in-share preemption when configuring individual quota shares. While cross-share preemption reclaims lent capacity, in-share preemption targets lower-priority jobs that are currently in the SCHEDULED, STARTING, or RUNNING state. This mechanism ensures that higher-priority jobs waiting at the front of the queue can begin execution much sooner.

For example, background projects might utilize a LEND_AND_BORROW strategy with in-share preemption enabled, allowing higher-priority background tasks to preempt lower-priority tasks within the same share. Conversely, critical workloads can be configured to reserve capacity strictly for themselves without lending or borrowing.

Configuration and SDK Integration

To get started with these capabilities, administrators must configure a <a href="https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateSchedulingPolicy.html">Scheduling Policy</a> containing a quota share policy alongside a <a href="https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateServiceEnvironment.html">Service Environment</a> specifying instance capacity limits.

These components are then connected to <a href="https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html">a SageMaker Training job queue</a>. Detailed instructions for <a href="https://docs.aws.amazon.com/batch/latest/userguide/create-quota-management-resources.html">configuring quota management resources</a> and establishing <a href="https://docs.aws.amazon.com/batch/latest/userguide/create-quota-shares.html">quota shares</a> are available in the official AWS user guide.

Practical Implementation and Getting Started

The integration supports programmatic job submission via the updated <a href="https://github.com/aws/sagemaker-python-sdk/tree/master/sagemaker-train/src/sagemaker/train/aws_batch">aws_batch</a> module within the SageMaker Python SDK v3. Developers can reference <a href="https://github.com/aws/amazon-sagemaker-examples/blob/default/%20%20%20%20%20%20training/sm-training-queues_getting_started_with_model_trainer/utils/aws_batch_resource_management.py#L571-L707">sample IAM permissions</a> to ensure correct API access when invoking AWS Batch and SageMaker resources.

By leveraging these updated SDK tools and scheduling configurations, machine learning engineers and administrators can efficiently share constrained GPU resources across diverse enterprise projects.

Sources

  • AWS Machine Learning BlogLend and borrow resources across teams with AWS Batch’s quota management for SageMaker Training jobs

Continue chronologically

Related entity coverage