CAMINOS

CAMINOS, the Cantabrian Adaptable and Modular Interconnection Open Simulator is a interconnection network simulator in the Rust language.

Software Author
Cristóbal Camarero
Research Lines:
System networks
Software Cost:
MIT or Apache-2 License
Source:
crates.io

Overview

CAMINOS is an interconnection network simulator with emphasis on simulation performance and ease of extending its functionality. Its modular architecture makes possible to add extensions without modifying the original code, as it is distributed as a library in which you can plug your new defined modules. Its advanced configuration syntax allow to define arbitrary arguments for each new defined module without risk of collisions with others. It contains, integrated in the rust library itself, many helper tools for managing experiments in a remote host, queuing batches of simulations for slurm systems, and generating tex/pdf outputs to be inserted in other documents. The usage of the modern rust language has allowed to get performance in both memory and cpu time similar to other well-made simulators coded in C, without compromising the usage of some very high level features. The Rust language also guarantees that there is never an illegal memory access, which in many other software are the origin of the bugs requiring most time (and sanity) to fix.

Citation

Until a formal academic paper is published, cite its online documentation at https://docs.rs/caminos-lib/latest/caminos_lib/.