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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.