Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,34 +56,34 @@ Check the [README](htsim/README.md) file in the `htsim/` folder.

# Supported Topologies

The simulator supports three network topologies, each with a dedicated binary:
All topologies are accessible through the unified `htsim_uec` binary. Use the `-topology` flag to select the topology type.

### Fat Tree (default) — `htsim_uec`
### Fat Tree (default)

The default topology. Specify a `.topo` file with `-topo`, or omit it to use a default 3-tier fat tree.

```bash
./htsim_uec -topo htsim/sim/datacenter/topologies/fat_tree_1024_1os.topo -tm connection_matrices/incast_2-1.tm
```

### Dragonfly — `htsim_uec_df`
### Dragonfly

Uses `-basepath` to point to a topology directory containing `dragonfly.topo`, `dragonfly.adjlist`, and a `host_table/` folder. Pre-generated assets are in `topologies/dragonfly/` (e.g., `p3a6h3`, `p4a8h4`).
Uses `-topo` to point to a topology directory containing `dragonfly.topo`, `dragonfly.adjlist`, and a `host_table/` folder. Pre-generated assets are in `topologies/dragonfly/` (e.g., `p3a6h3`, `p4a8h4`).

Routing strategies: `MINIMAL`, `VALIANT`, `UGAL_L`, `SOURCE`

```bash
./htsim_uec_df -basepath htsim/sim/datacenter/topologies/dragonfly/p3a6h3 -tm traffic.tm -routing MINIMAL -q 88
./htsim_uec -topology dragonfly -topo htsim/sim/datacenter/topologies/dragonfly/p3a6h3 -tm traffic.tm -routing MINIMAL -q 88
```

### SlimFly — `htsim_uec_sf`
### SlimFly

Uses `-topo` to point to a topology directory containing `slimfly.topo`, `slimfly.adjlist`, and a `host_table/` folder. Pre-generated assets are in `topologies/slimfly/` (e.g., `p4q5`, `p7q9`).

Routing strategies: `MINIMAL`, `VALIANT`, `UGAL_L`, `SOURCE`

```bash
./htsim_uec_sf -topo htsim/sim/datacenter/topologies/slimfly/p4q5 -tm traffic.tm -routing MINIMAL -q 88
./htsim_uec -topology slimfly -topo htsim/sim/datacenter/topologies/slimfly/p4q5 -tm traffic.tm -routing MINIMAL -q 88
```

### Traffic Matrix Format
Expand Down
12 changes: 3 additions & 9 deletions htsim/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,12 @@ To get more details, the `-debug` flag increases the output and shows more detai


A second important, but optional parameter is the topology specification.
The simulator supports three network topologies:
The simulator supports three network topologies, all accessible through the unified `htsim_uec` binary:

### Fat Tree (default)

Fat tree topologies are the default and most mature topology. If no topology parameters are provided, htsim creates a 3-tier fat tree with 12µs RTT. Custom fat tree topologies can be specified via topology files.

Binary: `htsim_uec`

```bash
./htsim_uec -tm connection_matrices/perm_32n_32c_2MB.cm -topo topologies/leaf_spine_tiny.topo
```
Expand All @@ -102,12 +100,10 @@ Binary: `htsim_uec`

Dragonfly topologies use a two-level direct-connect structure organized in groups. Pre-generated topology assets are provided in `topologies/dragonfly/` (e.g., `p3a6h3` for p=3 hosts/switch, a=6 switches/group, h=3 global links/switch).

Binary: `htsim_uec_df`

Supported routing strategies: `MINIMAL`, `VALIANT`, `UGAL_L`, `SOURCE`

```bash
./htsim_uec_df -basepath topologies/dragonfly/p3a6h3 -tm traffic.tm -routing MINIMAL -q 88
./htsim_uec -topology dragonfly -topo topologies/dragonfly/p3a6h3 -tm traffic.tm -routing MINIMAL -q 88
```

For `SOURCE` routing, host-level routing tables are loaded automatically from the `host_table/` subdirectory within the topology path.
Expand All @@ -116,12 +112,10 @@ For `SOURCE` routing, host-level routing tables are loaded automatically from th

SlimFly topologies use a two-partition structure based on optimized graph constructions. Pre-generated topology assets are provided in `topologies/slimfly/` (e.g., `p4q5` for p=4 hosts/switch, q=5 graph parameter).

Binary: `htsim_uec_sf`

Supported routing strategies: `MINIMAL`, `VALIANT`, `UGAL_L`, `SOURCE`

```bash
./htsim_uec_sf -topo topologies/slimfly/p4q5 -tm traffic.tm -routing MINIMAL -q 88
./htsim_uec -topology slimfly -topo topologies/slimfly/p4q5 -tm traffic.tm -routing MINIMAL -q 88
```

### Traffic Matrix Format
Expand Down
4 changes: 0 additions & 4 deletions htsim/sim/datacenter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@ add_executable(htsim_eqds main_eqds.cpp)
set_property(TARGET htsim_eqds PROPERTY EXCLUDE_FROM_ALL TRUE)

add_executable(htsim_uec main_uec.cpp)
add_executable(htsim_uec_sf main_uec_sf.cpp)
add_executable(htsim_uec_df main_uec_df.cpp)

# -------------------------------
# Linking Executables with Libraries
Expand All @@ -60,8 +58,6 @@ set (ALL_EXECUTABLES
htsim_hpcc
htsim_eqds
htsim_uec
htsim_uec_sf
htsim_uec_df
)
foreach(EXECUTABLE ${ALL_EXECUTABLES})
# Link each executable with the 'htsim' library defined in the parent directory.
Expand Down
Loading