OpenOptics: Democratizing Optical DCNs

OpenOptics: Democratizing Optical DCNs#

Easy design, testing, and deployment of optical DCNs for everyone.

Note

  • The OpenOptics paper has been accepted by NSDI’26!

OpenOptics is a general framework for realizing different optical data center network architectures in a plug-and-play manner. With OpenOptics, users can deploy customized optical data center networks on the testbed, emulation, or simulation with ~10 lines of Python code. Under the hood, user configurations are translated into table entries and control plane programs, which are then deployed to the underlying optical and P4-programmable switches.

from openoptics import Toolbox, OpticalTopo, OpticalRouting

net = Toolbox.BaseNetwork(name="demo", backend="Mininet",
                          nb_node=8, time_slice_duration_ms=512)
circuits = OpticalTopo.round_robin(nb_node=8)
net.deploy_topo(circuits)
paths = OpticalRouting.routing_direct(net.get_topo())
net.deploy_routing(paths, routing_mode="Per-hop")
net.start()

After deployment, users can monitor the network with OpenOptics Dashboard.

OpenOptics Dashboard

OpenOptics ships with three backends: a Mininet backend that runs optical DCNs as full software emulations on BMv2 switches, a Tofino backend that deploys the same Python code onto real Tofino2 hardware, and an ns-3 backend for packet-level simulation.

Imprint / Data Protection