https://github.com/broadcom/csg-htsim
https://github.com/broadcom/csg-htsim
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/broadcom/csg-htsim
- Owner: Broadcom
- License: bsd-2-clause
- Created: 2023-04-27T23:00:28.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-12-11T18:22:56.000Z (over 2 years ago)
- Last Synced: 2023-12-11T19:32:29.189Z (over 2 years ago)
- Language: C++
- Size: 10.1 MB
- Stars: 9
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# htsim Network Simulator
htsim is a high performance discrete event simulator, inspired by ns2, but much faster, primarily intended to examine congestion control algorithm behaviour. It was originally written by [Mark Handley](http://www0.cs.ucl.ac.uk/staff/M.Handley/) to allow [Damon Wishik](https://www.cl.cam.ac.uk/~djw1005/) to examine TCP stability issues when large numbers of flows are multiplexed. It was extended by [Costin Raiciu](http://nets.cs.pub.ro/~costin/) to examine [Multipath TCP performance](http://nets.cs.pub.ro/~costin/files/mptcp-nsdi.pdf) during the MPTCP standardization process, and models of datacentre networks were added to [examine multipath transport](http://nets.cs.pub.ro/~costin/files/mptcp_dc_sigcomm.pdf) in a variety of datacentre topologies. [NDP](http://nets.cs.pub.ro/~costin/files/ndp.pdf) was developed using htsim, and simple models of DCTCP, DCQCN were added for comparison. Later htsim was adopted by Correct Networks (now part of Broadcom) to develop [EQDS](http://nets.cs.pub.ro/~costin/files/eqds.pdf), and switch models were improved to allow a variety of forwarding methods. Support for a simple RoCE model, PFC, Swift and HPCC were added.
## Getting Started
There are some limited instructions in the [wiki](https://github.com/Broadcom/csg-htsim/wiki).
htsim is written in C++, and has no dependencies. It should compile and run with g++ or clang on MacOS or Linux. To compile htsim, cd into the sim directory and run make.
To get started with running experiments, take a look in the experiments directory where there are some examples. These examples generally require bash, python3 and gnuplot.