Simulator
Joulie simulator provides a digital-twin path for controlled evaluation.
It keeps scheduling behavior real while simulating telemetry/control dynamics and workload progression.
The simulator mirrors the real Joulie architecture. The operator, agent, and scheduler extender are the real components running against simulated hardware:
- the real operator computes desired state (
NodeTwin.spec,NodeTwin.status), - the real agent (pool mode) realizes caps via HTTP against the simulator,
- the real scheduler extender reads
NodeTwin.statusand applies workload-class-aware scoring, - workloads carry
WorkloadProfile-compatible fields (criticality, migratability, cap sensitivity), - facility stress model (
simulator/pkg/facility) provides PSU and cooling stress signals.
The heterogeneous benchmark (experiments/02-heterogeneous-benchmark/) demonstrates the full architecture across three baselines: no Joulie, static partition, and queue-aware policy with scheduler extender steering.
Use simulator docs after you are familiar with the core operator/agent control loop in Getting Started + Architecture.
Read in this order
- Workload and Power Simulator
- Workload Generation
- Workload Distributions
- Kubernetes AI Workloads
- Workload Simulator
- Power Simulator
- Hardware Modeling
- Simulator Metrics
Simulator architecture diagram

See detailed explanation in: