Installation
Required libraries
ElastiSim requires four libraries to be installed (or available):
- SimGrid to simulate the underlying platform
- ZeroMQ for C++ (cppzmq binding) to communicate with the scheduler process
- JSON for Modern C++ to read input files and wrap messages (provided with ElastiSim)
- ExprTk to evaluate performance models (provided with ElastiSim)
- Activity Indicators for Modern C++ to indicate the progress of processed jobs (provided with ElastiSim)
Depending on the scheduling interface, an additional ZeroMQ binding is required. ElastiSim currently supports a Python interface to write scheduling algorithms and therefore requires:
- PyZMQ to communicate with the simulator process
Build (on Linux systems)
To build and install ElastiSim, install CMake, and execute the following commands (replacing the values in the angle brackets):
git clone https://github.com/elastisim/elastisim.git
cd elastisim/
cmake -DCMAKE_INSTALL_PREFIX=<desired_installation_path> -DSIMGRID_SOURCE_DIR=<simgrid_installation_path> -DCMAKE_BUILD_TYPE="Release" .
make -j<num_recipes>