Crates.io | caminos |
lib.rs | caminos |
version | 0.6.3 |
source | src |
created_at | 2020-11-24 18:03:42.159703 |
updated_at | 2023-12-01 08:09:22.919979 |
description | A modular interconnection network simulator. |
homepage | |
repository | |
max_upload_size | |
id | 315903 |
size | 38,204 |
This crate provides the CAMINOS simulator as a binary. Most of the functionality is obtained from the caminos-lib
crate.
To use this simulator first install it.
$ cargo install caminos
Then you should be able to run it.
$ caminos --help
To perform a single simulation create a file my_experiment.cfg
and execute the simulator. See the caminos-lib
crate for documentation on its format.
$ caminos my_experiment.cfg
You may set the --results
flags to write the simulation result into it instead of to stdout.
For more complex experiments it is recommended to make a new directory /path/to/my/experiment
. This directory should include a file main.cfg
describing the experiment to perform and a file main.od
describing the outputs to be generated. It may contain a file remote
to help to pull
result files launched remotely. Then, to run all the simulations locally and create the outputs execute the following.
$ caminos /path/to/my/experiment
If we have access to a machine with a SLURM queue system then a way to proceed is as follows.
main.cfg
./path/to/my/experiment/remote
[
Remote{
name: "default",
host: "the.remote.host",
username: "myusername",
root: "/path/in/the/remote/machine/to/my/experiment",
binary: "/path/in/the/remote/to/caminos",
},
]
local$ caminos /path/to/my/experiment --action=push
the.remote.host$ caminos /path/in/the/remote/machine/to/my/experiment --action=slurm
local$ caminos /path/to/my/experiment --action=pull
local$ caminos /path/to/my/experiment --action=output
The special
flag enables extra modes other than simulating scenarios. Currently the only such availale mode is exporting a topology. By setting --special=export
and --special_args='Export{...}'
it will create a topology file. An example command is the following.
$ caminos --special=export --special_args='Export{topology:RandomRegularGraph{routers:500,degree:20,servers_per_router:1},seed:5,filename:"the_topology_file"}'