Simulator
The Joulie simulator lets you evaluate energy management policies without the hardware they manage. Kubernetes scheduling and the Joulie components stay real; the simulator provides the hardware, its telemetry and the progress of the workload.
The real controller manager plans, the real scheduler extender scores, and the real agent caps, in one of two ways:
- Emulated agents read emulated
/sysfiles and GPU tools, one agent per node, as on bare metal. This is emulate mode, which the simulated cluster runs on one machine with Docker. - The agent in pool mode reads telemetry from and sends caps to the simulator’s HTTP API, for many KWOK nodes at once. This is KWOK mode, which the benchmark experiments run.
Read the Getting Started pages first: the simulator pages assume the controller manager and agent loop.
Read in this order
- Simulated Cluster: Joulie on emulated nodes, on one machine with Docker
- Workload Scenarios: run a workload on the simulated cluster and check placement, slowdown and energy
- Installation: install the simulator into your own cluster, or run it from a workstation
- Emulate Mode: node trees, governors, hardware profiles, the cluster spec
- KWOK and Standalone Modes: label-modelled nodes, the facility model and the HTTP API
- Workload Generation: synthetic AI workload traces
- Workload Simulator: how a trace runs and how caps slow it
- Power Simulator: how a modelled node’s power, caps and temperature advance
- Hardware Modeling: the CPU and GPU power models and their sources
- Hardware Calibration: fit a hardware profile to a sweep measured on your node
- Simulator Metrics: every metric and event the simulator emits
Comparing with results of an older simulator: simulator/CHANGES.md lists every change that moved the numbers of modelled nodes, and how far.