Main user-visible changes:
- The SimDag API for the simulation of the scheduling of Directed Acyclic
- Graphs has been dropped. It was marked as deprecated for a couple of years.
- We finally complete the implementation of what has been called SimDag++
- internally, i.e., porting the different features of SimDag on top of S4U.
- The new way to simulate the execution of dependent activities directly by
- maestro (without any other actor) is details in the examples/cpp/dag-* series
- of examples.
+ Graphs has been dropped. It was marked as deprecated for a couple of years.
+ We finally complete the implementation of what has been called SimDag++
+ internally, i.e., porting the different features of SimDag on top of S4U.
+ The new way to simulate the execution of dependent activities directly by
+ maestro (without any other actor) is details in the examples/cpp/dag-* series
+ of examples.
- The removal of SimDag led us to also remove the export to Jedule files that
was tightly coupled to SimDag. The instrumentation of DAG simulation is still
possible through the regular instrumentation API based on the Paje format.
S4U:
- - New function: Engine::run_until(date), to split the simulation.
- - New signal: Activity::on_veto, to detect when an activity fails to start.
- - New function: Engine::track_vetoed_activities() to interrupt run()
- when an activity fails to start, and to keep track of such activities.
- Please see the corresponding example for more info.
- Introduce on_X_cb() functions for all signals, to attach a new
callback to the signal X. The signal variables are now hidden and
only these functions should be used.
Rational: this enables the usual deprecation schema where functions
- remain for 4 releases when we need to modify the signals, while the
- current code with the signal variables directly visible prevent any
+ remain for 4 releases if we need to modify the signals, while the
+ current code with the signal variables directly visible prevents any
smooth transition.
+ - New function: Engine::run_until(date), to split the simulation.
+ - New signal: Activity::on_veto, to detect when an activity fails to start.
+ - New function: Engine::track_vetoed_activities() to interrupt run()
+ when an activity fails to start, and to keep track of such activities.
+ Please see the corresponding example for more info.
SMPI:
- Dynamic costs for MPI operations: New API to allow users to dynamically
- change injected costs for MPI_Recv, MPI_Send and MPI_Isend operations.
- Alternative for smpi/or, smpi/os and smpi/ois configuration options.
+ change injected costs for MPI_Recv, MPI_Send and MPI_Isend operations.
+ Alternative for smpi/or, smpi/os and smpi/ois configuration options.
Documentation:
- New section: "SimGrid MPI calibration of a Grid5000 cluster"
- FG#95: Wrong computation time for multicore execution after pstate change
- FG#97: Wrong computation time for ptask+multicore+pstates
- FG#99: Weird segfault when not sealing an host
+
----------------------------------------------------------------------------
SimGrid (3.29) October 7. 2021