Version 3.0.0 Changelog from v2.0.0 is below. Also available on https://batsim.rtfd.io Changed (**breaks protocol**) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Removal of the ``NOP`` event. - ``SUBMIT_PROFILE`` has been renamed :ref:`proto_REGISTER_PROFILE`. Trying to register an already existing profile will now fail. - ``SUBMIT_JOB`` has been renamed :ref:`proto_REGISTER_JOB`. Trying to register an already existing job will now fail. The possibility to register profiles from within a :ref:`proto_REGISTER_JOB` event has been discarded. Now use :ref:`proto_REGISTER_PROFILE` then :ref:`proto_REGISTER_JOB`. - The :ref:`proto_SIMULATION_BEGINS` event has been changed: - The ``resources_data`` array has been split into the ``compute_resources`` and ``storage_resources`` arrays. - The content of the ``config`` object has been flattened and now contains the following keys: ``redis-enabled``, ``redis-hostname``, ``redis-port``, ``redis-prefix``, ``profiles-forwarded-on-submission``, ``dynamic-jobs-enabled`` and ``dynamic-jobs-acknowledged``. - The ``submission_finished`` :ref:`proto_NOTIFY` event has been renamed ``registration_finished``. - The ``continue_submission`` :ref:`proto_NOTIFY` event has been renamed ``continue_registration``. Changed (**breaks command-line interface**) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Removal of the ``--config-file`` option. Everything should now be doable via the Batsim CLI. - Removal of the ``--enable-sg-process-tracing`` option. You can now use ``--sg-cfg`` to do the same. - ``--batexec`` has been renamed ``--no-sched``. - ``--allow-time-sharing`` has been split into two options ``--enable-compute-sharing`` and ``--disable-storage-sharing``, as resource roles have been introduced. Changed (**breaks workload format**) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Profile types using parallel tasks have been renamed: - ``msg_par`` into ``parallel`` (see :ref:`profile_parallel`) - ``msg_par_hg`` into ``parallel_homogeneous`` (see :ref:`profile_parallel_homogeneous`) - ``msg_par_hg_tot`` into ``parallel_homogeneous_total`` (see :ref:`profile_parallel_homogeneous_total`) - ``msg_par_hg_pfs`` into ``parallel_homogeneous_pfs`` (see :ref:`profile_parallel_homogeneous_pfs`) Changed (**breaks platform format**) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Batsim now uses SimGrid version **TO BE DEFINED** and therefore the SimGrid platform version 4.1, which broke things on how to define platforms. Please refer to SimGrid documentation for more information on this. Changed (jobs/schedule output file format) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Breaks**: The columns ``requested_number_of_processors`` and ``allocated_processors`` have been respectively renamed ``requested_number_of_resources`` and ``allocated_resources`` in the jobs output file. - **Breaks**: The order of the columns has changed in the jobs output file. - The columns ``final_state`` and ``profile`` have been added in the jobs output file. - The rejected jobs are now present in the jobs and the schedule output files. Changed (new dependencies) ~~~~~~~~~~~~~~~~~~~~~~~~~~ - `docopt-cpp`_ and pugixml_ are now external dependencies and no longer provided with Batsim sources. - New intervalset_ dependency, which replaces the previous ``MachineRange`` class. - batexpe_ is now an optional dependency to test batsim. Added (protocol) ~~~~~~~~~~~~~~~~ - Addition of the ``no_more_static_job_to_submit`` :ref:`proto_NOTIFY` event, which is sent by Batsim when all the jobs described in the static workloads/workflows have been submitted. - Addition of the ``profiles`` object in the :ref:`proto_SIMULATION_BEGINS` event. The key is the workload_id and the value is the list of profiles of that workload. - Addition of the optional ``storage_mapping`` object in the :ref:`proto_EXECUTE_JOB` event, which allows to define which resource id should be used for a named IO resource. - Addition of the optional ``additional_io_job`` object in the :ref:`proto_EXECUTE_JOB` event, which allows to add IO movements to a job execution. This is done by merging a traditional parallel task (within the allocated hosts that *compute* the job) with another parallel task that define IO movements (within the allocated hosts that compute the jobs, but also potentially with IO resources). Added (platform format) ~~~~~~~~~~~~~~~~~~~~~~~ - Roles can now be specified for the hosts of a platform. This is done by setting the ``role`` XML property of a host. A default master host can be specified this way by using the ``master`` role value. The ``storage`` value is for hosts that describe storage resources ; such hosts are allowed to send and receive bytes but not to compute. The ``compute_node`` value (used by default if no role is specified) is for hosts that describe computing resources that can both compute and communicate. More information in :ref:`platform_host_roles`. Added (command-line interface) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - New ``--add-role-to-hosts`` option, that allows to add a role to some hosts. - New ``--sg-cfg`` option, that allows to set SimGrid configuration options. - New ``--sg-log`` option, that allows to set SimGrid logging options. - New ``--dump-execution-context`` option, that dumps the command execution context on the standard output. This allows external tools to understand the execution context of a batsim command without actually parsing it. Known issues ~~~~~~~~~~~~ - Killing jobs may now crash in some (corner-case) situations. This happens since Batsim upgraded its SimGrid version. Tracked on `issue 37 (inria) <https://gitlab.inria.fr/batsim/batsim/issues/37/>`_. - SMPI profiles only handle relative trace filenames. Tracked on `issue 97 (inria) <https://gitlab.inria.fr/batsim/batsim/issues/97/>`_. - Batsim does not check job size correctly when executed with ``--no-sched``. Tracked on `issue 70 (inria) <https://gitlab.inria.fr/batsim/batsim/issues/70/>`_. Miscellaneous ~~~~~~~~~~~~~ - Various bug fixes. - Removed the python experiment scripts that were located in ``tools/experiments``, as robin_ became the standard tool to execute Batsim experiments. - Removed git submodules. Please now use schedulers directly from their repositories or from kapack_. - Removed dependencies to GMP and cppzmq. - Batsim now mainly uses the s4u SimGrid interface. If you used to set SimGrid configuration/logging options through Batsim CLI, the name of such options should therefore have changed. - Documentation moved to readthedocs. - The ``workload_profiles`` directory has been renamed ``workloads``. - New generator for heteregenous platforms (code and documentation in ``platforms/heterogeneous``). - New demo (in ``demo/``).