CAROBS: the OMNeT++ simulator behind my PhD
(Published as lejmr/carobs — this post is its README with a bit of context.)
A rock pile ceases to be a rock pile the moment a single man contemplates it, bearing within him the image of a cathedral. — Antoine de Saint-Exupéry, the epigraph I chose for the thesis
This is the source of the all-optical network simulator I built during my PhD, based on the OMNeT++ event-driven simulator. It implements CAROBS, an Optical Burst Switching (OBS) framework that concatenates bursts into “cars” for better link utilization. CAROBS itself comes from Thomas Coutelen’s 2010 Concordia thesis — I built on his architecture during my stay in Brigitte Jaumard’s lab in Montreal.
To use a given network topology as efficiently as possible, the simulator applies the stream-line effect (SLE). On top of that, it combines SLE routing and wavelength assignment with grooming provided by the OBS framework — the GRWA algorithm, proposed in my dissertation (Efficient Control Routing and Wavelength Assignment in Loss-Less Optical Burst Switching Networks, CTU) — which this simulator was built to verify.
The thesis insisted on doing this the hard way — to quote the abstract: “Heuristics were not used because a rigorous method is necessary in order to formulate a claim on the loss-less OBS viability.” Linear programming or nothing. (CPLEX and I spent a lot of quality time together.)
The details live in the paper it produced, written with Brigitte Jaumard (Concordia) and Leoš Boháč (CTU):
M. Kozak, B. Jaumard, L. Bohac: On the efficiency of stream line effect for contention avoidance in optical burst switching networks, Optical Switching and Networking, vol. 18, 2015.
People like to say OBS never left the lab. I’d say it was early: every O/E/O conversion costs power and latency, and that bill is coming due — Google already switches light in production (OCS in Jupiter), Microsoft’s Sirius went after nanosecond optical switching, and as latency budgets shrink, the ideas behind OBS and OPS will get reinvented, probably under a new acronym. I’ll write about it here when it happens.
It’s C++ all the way down, and it simulates light. Every project I’ve done since has had worse latency.