ReleaseMicrosoftMicrosoftpublished Jun 4, 2026seen 5d

microsoft/aura-simulator v0.1.0

microsoft/aura-simulator

Open original ↗

Captured source

source ↗
published Jun 4, 2026seen 5dcaptured 15hhttp 200method plain

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 endTime is exceeded), with a FinalSnapshot handshake 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/10

New simulator release from Microsoft