Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add a get_unique_data to Extendable and test it in one example
[simgrid.git] / ChangeLog
index 345aacc..78392f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,15 @@
 SimGrid (3.32.1) not released yet (target december 22)
 
 General:
 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 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 
+ - Remove the surf module. It was replaced by the kernel/models module, and that
    refactoring took almost 10 years to properly complete.
 
 S4U:
    refactoring took almost 10 years to properly complete.
 
 S4U:
@@ -19,17 +21,26 @@ S4U:
    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.
    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:
+ - Task: They are designed to represent dataflows, i.e, graphs of repeatable Activities.
+   See the examples under examples/cpp/task-* 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.
 
 
-New plugin: Operation
- - Operations are designed to represent workflows, i.e, graphs of repeatable Activities.
- - Documentation: https://simgrid.frama.io/simgrid/Plugins.html#operation
- - Examples: examples/cpp/operation-*
-
-New plugin: Battery
- - Enable the management of batteries on hosts.
- - Documentation: https://simgrid.frama.io/simgrid/Plugins.html#battery
- - Examples: examples/cpp/battery-*
-  
 Kernel:
  - 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.
 Kernel:
  - 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.
@@ -67,8 +78,8 @@ 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.
  - 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 
+ - 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.
 
    configuration option.
  - Stateless model-checking is now usable on any system, including Mac OSX and ARM processors.
 
@@ -231,7 +242,7 @@ MSG:
 New plugin: the Chaos Monkey (killing actors at any time)
  - Along with the new simgrid-monkey script, it tests whether your simulation
    resists resource failures at any possible timestamp in your simulation.
 New plugin: the Chaos Monkey (killing actors at any time)
  - Along with the new simgrid-monkey script, it tests whether your simulation
    resists resource failures at any possible timestamp in your simulation.
- - It is mostly intended to test the simgrid core in extreme conditions,
+ - It is mostly intended to test the SimGrid core in extreme conditions,
    but some users may find it interesting too.
 
 Models:
    but some users may find it interesting too.
 
 Models:
@@ -669,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.
 
 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
  - 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
@@ -995,7 +1006,7 @@ General:
  - Network model 'NS3' was renamed into 'ns-3'.
 
 Python:
  - Network model 'NS3' was renamed into 'ns-3'.
 
 Python:
- - Simgrid can now hopefully be installed with pip.
+ - SimGrid can now hopefully be installed with pip.
 
 S4U:
  - wait_any can now be used for asynchronous executions too.
 
 S4U:
  - wait_any can now be used for asynchronous executions too.
@@ -2043,7 +2054,7 @@ SimGrid (3.12) stable; urgency=low
    - InfiniBand network model added: Based on the works of Jerome Vienne
      http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf
    - When smpi/display_timing is set, also display global simulation time and application times
    - InfiniBand network model added: Based on the works of Jerome Vienne
      http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf
    - When smpi/display_timing is set, also display global simulation time and application times
-   - Have smpirun, smpicc and friends display the simgrid git hash version on --git-version
+   - Have smpirun, smpicc and friends display the SimGrid git hash version on --git-version
  * Collective communications
    - SMP-aware algorithms are now dynamically handled. An internal communicator is created for each node, and an external one to handle communications between "leaders" of each node
    - MVAPICH2 (1.9) collective algorithms selector: normal and SMP algorithms are handled, and selection logic is based on the one used on TACC's Stampede cluster (https://www.tacc.utexas.edu/stampede/).
  * Collective communications
    - SMP-aware algorithms are now dynamically handled. An internal communicator is created for each node, and an external one to handle communications between "leaders" of each node
    - MVAPICH2 (1.9) collective algorithms selector: normal and SMP algorithms are handled, and selection logic is based on the one used on TACC's Stampede cluster (https://www.tacc.utexas.edu/stampede/).
@@ -2784,8 +2795,8 @@ SimGrid (3.6.2) stable; urgency=low
 
  Portability
  * Create an installer for windows with nsis (amd64 and win32)
 
  Portability
  * Create an installer for windows with nsis (amd64 and win32)
-   - Add an hello world project to illustrate simgrid project creation.
-   - Embed libpcre into the Simgrid installer to avoid
+   - Add an hello world project to illustrate SimGrid project creation.
+   - Embed libpcre into the SimGrid installer to avoid
      its compilation burden
  * The raw execution contexts should work on Apple now
  * Port to Windows 64 bits
      its compilation burden
  * The raw execution contexts should work on Apple now
  * Port to Windows 64 bits
@@ -2818,7 +2829,7 @@ SimGrid (3.6.1) stable; urgency=low
 SimGrid-java (3.6) unstable; urgency=low
 
  * Initial release.
 SimGrid-java (3.6) unstable; urgency=low
 
  * Initial release.
- * Split of every thing from simgrid v3.5 into a separate package.
+ * Split of every thing from SimGrid v3.5 into a separate package.
 
  -- 2011-10-05 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 
  -- 2011-10-05 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
@@ -3332,7 +3343,7 @@ SimGrid (3.4) stable; urgency=low
   * Greatly improved our cdash/ctest interactions
     Check http://cdash.inria.fr/CDash/index.php?project=Simgrid
   * Added memory checking tests with valgrind; lot of memleak fixing.
   * Greatly improved our cdash/ctest interactions
     Check http://cdash.inria.fr/CDash/index.php?project=Simgrid
   * Added memory checking tests with valgrind; lot of memleak fixing.
-    This may be the first release of simgrid with so few memory issues
+    This may be the first release of SimGrid with so few memory issues
   * Added code coverage tests.
     Our coverage is still improvable, but at least we see it on cdash.
 
   * Added code coverage tests.
     Our coverage is still improvable, but at least we see it on cdash.
 
@@ -3638,7 +3649,7 @@ SimGrid (3.3.2) stable; urgency=low
 
  Timing report of this version:
   This version seem to be more than 5% faster than 3.3.1 (on linux
 
  Timing report of this version:
   This version seem to be more than 5% faster than 3.3.1 (on linux
-    64bits with contextes). The gain is less than expected, we are
+    64bits with contexts). The gain is less than expected, we are
     investigating this for next release.
 
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Wed, 19 Aug 2009 17:07:12 +0200
     investigating this for next release.
 
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Wed, 19 Aug 2009 17:07:12 +0200
@@ -3731,7 +3742,7 @@ SimGrid (3.3.1) stable; urgency=low
     - Linux(debian)/amd64/context
     - Linux(debian)/amd64/pthreads
     These targets fail about 1/10 of times on gras/pmm, but we believe
     - Linux(debian)/amd64/context
     - Linux(debian)/amd64/pthreads
     These targets fail about 1/10 of times on gras/pmm, but we believe
-      that this is because of the test, not because of simgrid.
+      that this is because of the test, not because of SimGrid.
     amok/saturate_sg fails even more rarely, and the test may not be
       the problem.
 
     amok/saturate_sg fails even more rarely, and the test may not be
       the problem.
 
@@ -3788,7 +3799,7 @@ SimGrid (3.3) stable; urgency=high
     is really less memory-demanding, which should allow you to use
     larger files in SimGrid [AL].
 
     is really less memory-demanding, which should allow you to use
     larger files in SimGrid [AL].
 
-  * Inform valgrind about our contextes, so that it becomes usable
+  * Inform valgrind about our contexts, so that it becomes usable
     with the default (and more effecient) version of SimGrid
     [contributed by Sékou Diakite, many thanks]
 
     with the default (and more effecient) version of SimGrid
     [contributed by Sékou Diakite, many thanks]