X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/02a0b077329593921105001a7f27463ba2d82ced..a6d147a321380a0bf97caa3c69b5d0589548c1de:/ChangeLog diff --git a/ChangeLog b/ChangeLog index a70a5dcfa0..ba67d904ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,26 +1,54 @@ SimGrid (3.32.1) not released yet (target december 22) General: + - SimGrid now requires a compiler with C++17 support for public headers too. + Sibling projects should upgrade their FindSimGrid.cmake - Remove the MSG API: its EOL was scheduled for 2020. - Remove the Java bindings: they were limited to the MSG interface. - On Windows, you now need to install WSL2 as the native builds are now disabled. It was not really working anyway. - Support for 32bits architecture is not tested anymore on our CI infrastructure. It may break in the future, but we think that nobody's using SimGrid on 32 bits. + - Remove the surf module. It was replaced by the kernel/models module, and that + refactoring took almost 10 years to properly complete. S4U: - Activity::set_remaining() is not public anymore. Use for example Comm::set_payload_size() to change the size of the simulated data. - New function: Engine::flatify_platform(), to get a fully detailed vision of the configured platform. + - Full simDAG integration: Activity::start() actually starts only when all dependencies + are fullfiled. If it cannot be started right away, it will start as soon as it becomes + possible. + - Allow to set a concurrency limit on disks and hosts, as it was already the case for links. + - Rename Link::get_usage() to Link::get_load() for consistency with Host:: + - Every signal now come with a static version that is invoked for every object of that class, + and an instance version that is invoked for this specific object only. For example, + s4u::Actor::on_suspend_cb() adds a callback that is invoked for the suspend of any actor while + s4u::Actor::on_this_suspend_cb() adds a callback for this specific actor only. + - Activity::on_suspended_cb() is renamed to Activity::on_suspend_cb(), and fired right before the suspend. + - Activity::on_resumed_cb() is renamed to Activity::on_resume_cb(), and fired right before the resume. + - Resource::on_state_change_cb() is renamed to Resource::on_onoff_cb() to distinguish from the + Activity::on_state_change_cb() that is related to the activity state machine, not on/off. + - Activity signals (veto, suspend, resume, completion) are now specialized by activity class. + That is, callbacks registered in Exec::on_suspend_cb will not be fired for Comms nor Ios. + +New S4U plugins: + - Operation: They are designed to represent workflows, i.e, graphs of repeatable Activities. + See the examples under examples/cpp/operation-* and the documentation in the Plugins page. + - Battery: Enable the management of batteries on hosts. + See the examples under examples/cpp/battery-* and the documentation in the Plugins page. + - Photovoltaic: Enable the management of photovoltaic panels on hosts. + See the examples under examples/cpp/photovoltaic-* and the documentation in the Plugins page. Kernel: - - optimize an internal datastructure, leading to a potentially big - performance gain (in particular with many detached comms) + - optimize an internal datastructure (use a set instead of a list for ongoing activities), + leading to a potentially big performance gain, in particular with many detached comms. MPI: - New option smpi/barrier-collectives to add a barrier to some collectives to detect dangerous code that /may/ work on some MPI implems. + - New function SMPI_app_instance_start() to easily start a MPI instance in your S4U simulation. Models: - Write the section of the manual about models, at least. @@ -36,9 +64,28 @@ Models: - Allow to disable the TCP windowing modeling by setting network/TCP-gamma to 0. - Finally kill the 'compound' host model. You can change the CPU or network model with the default host model, as it should. + - Rename option "surf/precision" to "precision/timing" for clarity. + - Rename option "maxmin/precision" to "precision/work-amount" for clarity. + - New function: Engine::flatify_platform() to debug your platform. sthread: - Implement pthread_join in MC mode. + - Implement semaphore functions in sthread. + - Add an intricated way to verify the access to non-reentrant data structures + It requires code annotation, as shown in examples/sthread/stdobject/stdobject.cpp + +Model checking: + - Synchronize the MBI tests with upstream. + - Show the full actor bactraces when replaying a MC trace (with model-check/replay) + and the status of all actors on deadlocks in MC mode. + - The safety/stateless aspects of the MC are now enabled by default in all simgrid builds. + Liveness and stateful aspects are still controled by the enabling_model-checking + configuration option. + - Stateless model-checking is now usable on any system, including Mac OSX and ARM processors. + +XBT: + - simgrid::xbt::cmdline and simgrid::xbt::binary_name are gone. + Please use simgrid::s4u::Engine::get_cmdline() instead. Documentation: - New section in the user guide on the provided performance models. @@ -633,7 +680,7 @@ The Release release (the French lockdown was eased today). Important user-visible changes: - SimGrid now requires a compiler with C++14 support. - Sibling projects should upgrade their FindSimgrid.cmake + Sibling projects should upgrade their FindSimGrid.cmake - Surf precision default value is now 1e-9, instead of 1e-5. This was changed as several users had difficulties to understand issues when using high bandwidth or small latency events. The new value was already the default for SMPI and