concengine.com • concurrent event simulation engine •
t+00.000
operator note 00
Thousands of possible orders are staged on the table. Nothing is still; every capsule is already negotiating time.
01
Spawn
Queue pockets wake in sequence. Capsules lift from dark reservoirs and claim their first slice of clock.
worker.alpha
actor.beta
process.gamma
spawn burst: 12 events / jitter ±4ms
A fork is not a branch of code here. It is a marble entering a channel before causality has chosen a favorite.
02
Contention
Two streams converge on one sliding clamp. The apparatus breathes inward around the contested millisecond.
thread.red
thread.cyan
MUTEX 7
blocked / pending / retry: the machine records the pressure, not merely the failure.
03
Interleave
Alternate schedules fan through acetate, ghost futures visible until the replay selects one clean braid.
schedule A
schedule B
schedule C
evt.29 → evt.08 → lock.open → evt.31 → signal.sync
The engine does not hide nondeterminism. It lays every plausible order under glass until the winning sequence glows.
04
Deadlock
Signal lamps freeze. Two latches grip the same ring and every lane pulls taut against every other lane.
A waits B
B waits A
C holds D
No crash. No progress. Just perfect symmetry holding the engine in its teeth.
05
Resolution
A release pulse travels through clamps, drains the queue, and lets the timelines settle into legible order.
causal braid 01
causal braid 02
causal braid 03
released • replay stabilized • order emerged
Concurrency becomes readable when the engine makes time tangible.