DRIGS: Distributed Resource & Intelligent GPU Scheduling
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, andTopologyAwareScheduler. - 🔌 Native & Container Backends: Supports rootless native processes (
NativeProcessBackend), Docker containers (DockerBackend), and PyTorch DDP /torchrungang 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
psutiland real-time NVML orphan PID memory sweeper. - 💾 ACID Control Plane State: Integrated WAL-mode
SQLiteStorefor 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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drigs-0.1.0.tar.gz.
File metadata
- Download URL: drigs-0.1.0.tar.gz
- Upload date:
- Size: 90.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0b0138241d477c5d211b1e2f486896121e3893a646fc2873743621d5aa3e360
|
|
| MD5 |
4d9941461df90a2a31f25f1fa6154c60
|
|
| BLAKE2b-256 |
94488428a2e3455a7547926e1cac735ae6025a1590cc84aa0fa732b3247b9250
|
File details
Details for the file drigs-0.1.0-py3-none-any.whl.
File metadata
- Download URL: drigs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 75.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a22ebc0f16138fb9ccc46f56875ea55fd665de10044a19e96f1663b9038b0ee1
|
|
| MD5 |
ebce823b3838f9ac9338bd9244497a11
|
|
| BLAKE2b-256 |
b3c7aeff21bcd628a45762701aa50488aa35f325c34d22f48eb739be447d014e
|