Skip to content
atlarge-researchPublic

About

Digital Twin for Datacenters

Resources

Stars

9 stars

Watchers

0 watching

Forks

Repository files navigation

OpenDT logo

OpenDT

Open Digital Twin for Datacenters

OpenDT is a distributed system that creates a real-time digital twin of datacenter infrastructure. It replays historical workload data through the OpenDC simulator to predict power consumption, enabling what-if analysis without touching live hardware.

Python 3.11+ Docker

Quick Start

Prerequisites: Docker, Docker Compose, Make, Python 3.11+, uv

git clone https://github.com/atlarge-research/opendt
cd opendt
make setup    # Install dependencies
make up       # Start services

Access:

OpenDT Grafana Dashboard Real-time dashboard comparing actual vs. simulated power consumption

Quick stop:

make down    # Close Docker services

Repository Structure

opendt/
├── config/                    # Configuration files
│   ├── default.yaml           # Default configuration
│   └── experiments/           # Experiment-specific configs
├── data/                      # Run outputs (timestamped directories)
├── site/                      # Documentation
├── libs/common/               # Shared library (Pydantic models, utilities)
├── opendc/                    # OpenDC simulator binary
├── reproducibility-capsule/   # Experiment reproduction scripts
├── services/                  # Microservices
│   ├── api/                   # REST API (FastAPI)
│   ├── calibrator/            # Topology calibration service
│   ├── dc-mock/               # Datacenter mock (data replay)
│   ├── grafana/               # Dashboards (built by grafana/dashboards/build.py)
│   ├── kafka-init/            # Kafka topic initialization
│   └── simulator/             # OpenDC simulation engine
├── tutorial/                  # Tutorial notebooks
└── workload/                  # Workload datasets
    └── SURF/                  # SURF datacenter workload

Commands

Command Description
make up Start all services
make up config=path/to/config.yaml Start with custom configuration
make down Stop all services
make setup Install development dependencies
make test Run tests
make logs-<service> View logs for a service
make shell-<service> Open shell in a container

Run make help for the complete list.

Documentation

Document Description
Getting Started Installation, configuration, and running experiments
Concepts Core concepts, data models, and system behavior
Configuration Configuration file reference

Service Documentation

Service Description
dc-mock Replays historical workload and power data
simulator Runs OpenDC simulations
calibrator Calibrates topology parameters
api REST API for data queries

Research

Document Description
Reproducibility Capsule Reproduce paper experiments

About

Digital Twin for Datacenters

Resources

Stars

9 stars

Watchers

0 watching

Forks

Contributors

Languages