Version 4.0.0 Changelog from v3.1.0 is below. Also available on https://batsim.rtfd.io Changed (**breaks some schedulers**) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Profiles and jobs are now cleaned from memory over time (instead of at the end of the whole simulation). This is done with a reference counting mechanism: When a job or profile is no longer needed **according to what batsim knows**, it is removed from memory. This can break schedulers that rely on dynamic profile/job submission, especially when several :ref:`proto_REGISTER_JOB` using the same profile are decided at different simulation times — as the profile can be garbage collected when its first execution finishes. The new ``--enable-profile-reuse`` :ref:`cli` option should keep previous behavior. Removed (**breaks CLI**) ~~~~~~~~~~~~~~~~~~~~~~~~ - As unit tests are now done with gtest_, the ``--unittest`` :ref:`cli` option has been removed. Added ~~~~~ - Scheduler configuration can be given to Batsim (via ``--sched-cfg`` or ``--sched-cfg-file`` :ref:`cli` options). This configuration string is forwarded to the scheduler in the :ref:`proto_SIMULATION_BEGINS` event. - Basic tests for the external events mechanism. - Retrieval of the zone properties in the XML platform description. - Platform properties declared within SimGrid zones are now retrieved and attached to each Batsim resource. - These properties are forwarded to the scheduler via the field ``zone_properties`` or each resource in the ``compute_resources`` and ``storage_resources`` arrays of the :ref:`proto_SIMULATION_BEGINS` event. Fixed ~~~~~ - Workflows crashed at the beginning and the end of the simulation. This should be fixed, and workflows are now tested under CI. - Killing jobs should no longer issue memory issues (invalid reads and writes), which caused segmentation fault in corner cases — cf. `issue 37 (inria) <https://gitlab.inria.fr/batsim/batsim/issues/37/>`_. - Killing sequences of delays should no longer crash with "Internal error" — cf. `issue 108 (inria) <https://gitlab.inria.fr/batsim/batsim/issues/108/>`_. - SMPI profiles should now be automatically killed when their walltime is reached — cf. `issue 95 (inria) <https://gitlab.inria.fr/batsim/batsim/issues/95/>`_. Miscellaneous ~~~~~~~~~~~~~ - Various performance improvements. - The jobs output file is now written over time (was only written on disk at the end of the simulation). - Batsim no longer uses SimGrid's MSG interface. Everything is done with S4U now. - Smart pointers are used in most parts of the code (for reference counting memory deallocations). - Old markdown documentation has been removed. - Removal of CMake Find functions, pkgconfig is used instead.