Skip to content

atlarge-research/opendt

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

make setup    # Install dependencies
make up       # Start services

Access:

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


Repository Structure

opendt/
├── config/                    # Configuration files
│   ├── default.yaml           # Default configuration
│   └── experiments/           # Experiment-specific configs
├── data/                      # Run outputs (timestamped directories)
├── docs/                      # 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/               # Dashboard configuration
│   ├── kafka-init/            # Kafka topic initialization
│   └── simulator/             # OpenDC simulation engine
└── 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

Watchers

Forks

Contributors 3

  •  
  •  
  •