Skip to main content

DRIGS: Distributed Resource & Intelligent GPU Scheduling

PyPI Version License: Apache 2.0 Python 3.10+

DRIGS is a lightweight, high-performance, GPU-aware distributed compute runtime designed for scheduling, orchestrating, monitoring, and recovering AI workloads across single-GPU workstations, multi-GPU servers, and dynamic cloud notebook instances (e.g. Kaggle, Google Colab).


Key Features

  • ⚡ Pluggable Policy Core: Built-in implementations for FIFOScheduler, MemoryAwareScheduler, DominantResourceFairness (DRFScheduler), GangScheduler, BestFitScheduler, BinPackScheduler, and TopologyAwareScheduler.
  • 🔌 Native & Container Backends: Supports rootless native processes (NativeProcessBackend), Docker containers (DockerBackend), and PyTorch DDP / torchrun gang synchronization (DistributedBackend).
  • 📡 Ephemeral Worker Outbound Discovery: Outbound phone-home HTTP bootstrap client for remote GPU nodes operating behind NAT firewalls.
  • 🛡️ Process Tree & VRAM Guard: Automated recursive process tree teardown via psutil and real-time NVML orphan PID memory sweeper.
  • 💾 ACID Control Plane State: Integrated WAL-mode SQLiteStore for controller restart resilience and zero-loss queue state recovery.

Quickstart

1. Installation

Install via pip:

pip install drigs

2. Python API Usage

import drigs

# Initialize Local Controller & Resource Manager
controller = drigs.LocalController(
    scheduler=drigs.TopologyAwareScheduler(),
    backend=drigs.NativeProcessBackend()
)

# Define a GPU Workload Spec
spec = drigs.WorkloadSpec(
    name="resnet50-training",
    command="python3 train.py --batch-size 64",
    resources=drigs.ResourceRequirements(gpus=2, cpus=4, memory_bytes=8 * 1024**3)
)

# Submit & Schedule Job
job_id = controller.submit_job(spec)
print(f"Submitted Job ID: {job_id}")

3. Command Line Interface (CLI)

# Start DRIGS REST API Control Plane Server
drigs server --host 127.0.0.1 --port 8000

# Check cluster status and GPU telemetry
drigs status

# Submit a job YAML specification
drigs submit job.yaml

Research Paper & Citation

If you use DRIGS in your academic research, please cite our manuscript:

@inproceedings{borkar2026drigs,
  title={DRIGS: Distributed Resource \& Intelligent GPU Scheduling for Heterogeneous AI Workloads},
  author={Borkar, Omdeep},
  booktitle={IEEE International Conference on Distributed Computing Systems (ICDCS)},
  year={2026}
}

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Metadata

Release files for drigs 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drigs 0.1.0
File Size Uploaded Provenance Actions
drigs-0.1.0.tar.gz 90.1 kB Without provenance Details for drigs-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for drigs 0.1.0
File Interpreter ABI Platform Actions
drigs-0.1.0-py3-none-any.whl Python 3 none any Details for drigs-0.1.0-py3-none-any.whl

Total release size: 165.3 kB

Release files / drigs-0.1.0.tar.gz

Download URL drigs-0.1.0.tar.gz
Size 90.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e0b0138241d477c5d211b1e2f486896121e3893a646fc2873743621d5aa3e360
BLAKE2b-256 checksum
How to use checksums
94488428a2e3455a7547926e1cac735ae6025a1590cc84aa0fa732b3247b9250
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.4

Release files / drigs-0.1.0-py3-none-any.whl

Download URL drigs-0.1.0-py3-none-any.whl
Size 75.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a22ebc0f16138fb9ccc46f56875ea55fd665de10044a19e96f1663b9038b0ee1
BLAKE2b-256 checksum
How to use checksums
b3c7aeff21bcd628a45762701aa50488aa35f325c34d22f48eb739be447d014e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.4

Security for drigs 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page