DONS features a data-oriented and multi-threaded simulation engine that can perform automatic parallelization within a server, achieve high core utilization, low cache miss rate, and high memory efficiency, simultaneously.
SIGCOMM'23 paper: https://dl.acm.org/doi/10.1145/3603269.3604844
- Git clone this project.
- Open Unity Hub -> Projects -> Open -> Choose folder
DONS. - Open
DONSwith Unity Editor (version:2021.3.11f1). - Open the Package Manager (menu: Window > Package Manager).
- Click the small gear icon on the upper right and select the Advanced Project Settings menu item.
- Check Enable Preview Packages in the Project Settings window.
- In the Package Manager window, add the DOTS packages that you need by name from the package manager.
(These are the packages used when developing DONS.)

-
Load scene
Simulator.unity(Assets/Scene/Simulator.unity), i.e., drag the icon into the sidebarHierarchy, and remove theUntitledscene. The Unity Editor will compile the source code automatically.
-
Click
Startto run a simple network simulation task.
Network topology: Abilene.
Click Settingto change the topology and traffic demands. -
Runtime:
The left side shows the link congestion, and the right side shows the flow completion time (FCT) in real time. -
Results:
Click Congestionto see the historical queue length data, and all the data is stored in log files.
Build_results: the compiled executable files, which can be run on a Linux server.Distributed: distributed execution module.DONS: the source code of the project.Images: images used in this document.traffic_gen: traffic demands generator module.
