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
DONS
with 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 theUntitled
scene. The Unity Editor will compile the source code automatically. -
Click
Start
to run a simple network simulation task.Network topology: Abilene. Click
Setting
to 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
Congestion
to 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.