microsoft/aura-simulator v0.1.0
microsoft/aura-simulator
Captured source
source ↗Aura v0.1.0 — IEEE CLOUD 2026 companion release
Repository: microsoft/aura-simulator
Tag: v0.1.0
Published: 2026-06-04T15:41:52Z
Prerelease: no
Release notes:
Aura v0.1.0 — IEEE CLOUD 2026 companion release
First public release of Aura, an actor-based discrete-event simulation framework for cloud computing research written in Scala 3 with Apache Pekko.
Why Aura
Existing simulators (CloudSim, CloudSim Plus, iFogSim, SimGrid, SimFaaS) each model a single cloud paradigm. Aura unifies five within a single discrete-event simulation engine:
- IaaS — virtual machines, hosts, datacenters
- FaaS / serverless — cold-start modeling, billing, AWS Lambda semantics
- Container orchestration — Kubernetes-style pod scheduling, HPA
- Edge computing — geographic locations, multi-tier hierarchy, latency-aware offloading
- Federated multi-tier cloud — cross-tier task routing and escalation
Plus first-class support for GPU inference simulation (prefill/decode phases, KV cache, continuous batching, energy-aware scheduling) and HPC batch scheduling.
This unification enables a new class of measurement: cross-paradigm interference. Aura quantified a 9.3% energy overhead when serverless function bursts overlap with Kubernetes pod-binding waves on shared infrastructure — an effect invisible to single-paradigm simulators that assume exclusive host access. That finding is the central scientific contribution of the companion paper.
Engineering highlights
- Parallel DES engine — event dispatch via Apache Pekko typed actors with barrier synchronization
- Quiescence-based termination — the coordinator runs until the event queue is naturally empty (or
endTimeis exceeded), with aFinalSnapshothandshake for end-of-sim bookkeeping. No fragile broker-counter signaling. - Type-safe units — opaque types for
MIPS,PEs,MegaBytes,SimTime,MI,Watts, etc. prevent unit confusion at compile time - Context-function DSL — declarative simulation configuration using Scala 3 context functions
- Immutable state — all actor state transitions produce new immutable values; no shared mutable state
- Pure-function policies — allocation, scheduling, scaling, consolidation, and migration policies are plain functions
- Real-world trace replay — Google Cluster and Azure VM trace parsers
- Interactive visualization — HTML reports with Chart.js dashboards; optional Scala.js + Laminar SPA frontend
Stats
- 14 sbt modules
- ~28,000 lines of production Scala 3
- ~15,000 lines of test Scala
- 1,250+ tests across 90+ test suites — 100% deterministic green on Java 17 and Java 21 (Corretto)
- 20 runnable examples covering every paradigm
Companion paper
@inproceedings{cappelletti2026aura,
title = {Aura: A Type-Safe, Multi-Paradigm Cloud Simulation
Framework in Scala 3},
author = {Cappelletti, Andrea},
booktitle = {Proceedings of the 2026 IEEE International Conference
on Cloud Computing (CLOUD)},
year = {2026}
}Quick start
git clone https://github.com/microsoft/aura-simulator cd aura-simulator sbt compile sbt test sbt "auraExamples/runMain io.aura.examples.BasicIaaSExample"
Twenty more examples live in [modules/aura-examples](modules/aura-examples).
License
MIT. See [LICENSE](LICENSE).
---
Contributions welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR. External contributors will be asked to sign the Microsoft Contributor License Agreement on first contribution.
Notability
notability 6.0/10New simulator release from Microsoft