Skip to content
SPECIFICTION
Get listed

Days

days.sh

WindowsmacOSLinux
Visit days.sh
Spec score 7.5 #19 of 31 in Network Simulation Software

Spec sheet

Purpose
Days is an exact discrete-event packet network simulator.Read 11 Oct 2026 · days.sh
Product
Days is an exact discrete-event packet network simulator.Read 4 Oct 2026 · days.sh
Intended users
The site describes using Days to debug simulations, reproduce regressions across backends, and compare other simulators’ approximations against an exact reference.Read 4 Oct 2026 · days.sh
License
The project is licensed under AGPL-3.0-only.Read 11 Oct 2026 · github.com
Backend limits
RED, collectives, and compute stages run only on Scalar and CPU; Metal and CUDA reject those scenarios during validation.Read 11 Oct 2026 · days.sh
Collectives
It supports ring all-reduce and all-gather over TCP, with delay-only compute stages.Read 4 Oct 2026 · days.sh
Configuration
Simulations are configured in a TOML file passed to the command-line program.Read 4 Oct 2026 · days.sh
Determinism
Events are ordered by integer-nanosecond time, phase, sending process, and sequence number, with no floating-point arithmetic in the simulation semantics.Read 11 Oct 2026 · days.sh
Execution
It provides scalar, multicore CPU, Apple Metal, and NVIDIA CUDA backends that aim to produce byte-identical complete simulation states.Read 11 Oct 2026 · days.sh
GPU limitation
RED admission, collectives, and compute stages are supported only on Scalar and CPU; Metal and CUDA reject those scenarios during validation.Read 4 Oct 2026 · days.sh
GPU requirements
CUDA builds require a CUDA 13 toolkit, and Metal runs on Apple GPUs except the M1 family.Read 11 Oct 2026 · days.sh
Installation
The installation guide instructs users to build Days from source with stable Rust and Cargo.Read 11 Oct 2026 · days.sh
Maker attribution
The Days site footer credits Baochun Li.Read 11 Oct 2026 · days.sh
Network models
It models fat-tree, torus, dragonfly, and custom graph topologies, along with TCP Reno and CUBIC, rate-paced sources, DCQCN, and CNP.Read 4 Oct 2026 · days.sh
Outputs
By default, Days writes periodic CSV reports for source, sink, and switch statistics; additional traces depend on enabled features.Read 11 Oct 2026 · days.sh
Parallel correctness
The site describes five Lean-proved theorems about the executor’s scheduling model and says backend conformance is checked against the serial result.Read 4 Oct 2026 · days.sh
Parallel execution
The site says five Lean theorems establish that parallel execution reaches the same complete state as canonical serial execution.Read 11 Oct 2026 · days.sh
Programming model
Network elements operate as isolated sequential processes with private state and communicate through timestamped messages.Read 11 Oct 2026 · days.sh
Supported models
Days models fat-tree, torus, and dragonfly topologies, TCP Reno and CUBIC, DCQCN, PFC, several queue disciplines, and ring all-reduce and all-gather collectives.Read 11 Oct 2026 · days.sh
Switch features
Supported switch mechanisms include FIFO, strict priority, DRR, WRR, exact-rational WFQ, TailDrop, ECN thresholds, RED, RED with ECN, and PFC.Read 4 Oct 2026 · days.sh
Usage
Days runs from the command line with a TOML configuration file and includes runnable example configurations.Read 11 Oct 2026 · days.sh

Where Specifiction places it

Alternatives to DaysAll alternatives →