Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix return type for get_maxpid().
[simgrid.git] / ChangeLog
index 9dbc2ed..b4aa5e1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,8 @@
 SimGrid (3.25.1) UNRELEASED (target: March 20 2020 or v3.26 on 3/26/20)
 
 Important user-visible changes:
+ - SimGrid now requires a compiler with C++14 support.
+   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 difficult to understand issues when using high bandwidth or
    small latency events. The new value was already the default for SMPI and
@@ -10,23 +12,79 @@ Important user-visible changes:
    timings if simulation was skipping a lot of small events (which was actually
    an issue of said simulation). The value can still be changed back using
    --cfg=surf/precision:1e-5.
+ - On some network models (L07, CM02, LV08), an implicit loopback link is created
+   for local communication. Default bandwidth was 500MBps and latency was 15µs,
+   which was rather bad. Default values have been changed to 10GBps and 0 latency.
+   Options network/loopback-lat and network/loopback-bw have been added to adapt
+   these values if needed. Network and routing models already providing separate
+   loopbacks (clusters and such) are not impacted by this change.
+ - SMPI now adds 16 bytes of header to each message sent, in order to simulate
+   metadata that are added to each MPI message by MPI libraries (tag,
+   src/dest, and communicator information). This may change simulation times
+   for very small message sizes, but should be more realistic.
+
+New features:
+ - New routing 'WiFi' that makes it easier to specify a wifi network zone.
+ - New plugins: wifi_energy and link_load. See the associated examples.
+ - New examples: wifi networks, and communication suspend.
 
 General:
  - LTO is now enabled for Intel/clang compilers.
  - LTO behavior on GCC can be parameterized using LTO_EXTRA_FLAG in cmake.
    Setting it to "auto" will use all available cores, while setting it to n will
    use n cores to speedup link step (usage: cmake -DLTO_EXTRA_FLAG=4).
+ - Remove obsolete option --cfg=contexts/parallel-threshold.
+ - Further improve the documentation.
 
-C interface:
+S4U:
+ - the on_exit() of each actor is also executed when the simulation deadlocks.
+ - New functions: s4u::Activity:: suspend(), resume() and is_suspended()
+   An example is provided for s4u::Comm but it should work with Exec and Io.
+
+SMPI:
+ - Update proxy apps coverage of new ECP apps: 60+ apps now tested nightly on
+   https://framagit.org/simgrid/SMPI-proxy-apps
+ - MPI/IO: supports names starting with "./"
+ - Fortran: many MPI/IO bindings, support for MPI_UB/LB, C MPI_INT/FLOAT/DOUBLE
+   datatypes.
+ - smpicc/cxx/ff/f90 now will actually perform definition checks at link time. When
+   building shared libraries, this may cause issues, so environment variable
+   SMPI_NO_UNDEFINED_CHECK can be added to disable this.
+
+C binding and interface:
+ - The return type of the sg_actor_on_exit() callbacks is now 'void'
+   (int value was previously ignored)
+ - Many C functions were renamed to follow a common naming style
+   (sg_object_get_something and sg_object_set_something). As usual, the deprecated
+   names are kept until version 3.30.
  - Many MSG tests were converted to the new S4U's interface in C, that
    was extended for that.
 
-Fixed bugs (FG#.. -> framagit bugs; FG!.. -> framagit merge requests):
+Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
+ (FG: issues on Framagit; GF: issues on GForge; GH: issues on GitHub)
  - FG#41: Add sg_actor_create C interface
  - FG#43: xbt::random needs some care
  - FG#48: The Impossible Did Happen (yet again)
+ - FG#50: Suspending an actor executed at the current timestamp fails
+ - FG#52: Zero-seconds timeout : "That's in the past already"
+ - FG#53: Crash while using ns-3 network model
+ - FG#54: How to suspend a comm?
+ - FG!22: Stochastic Profiles
  - FG!24: Documentation and fix for xbt/random
+ - FG!35: Add a modeling hint for parallel links in doc
+ - FG!36: [xbt/random] Read/Write the state of the RNG
+ - FG!42: Link cumulated load plugin
+ - FG!44: Test condition variable wait_until+notify_all
+ - GF#18137: Allow different stack sizes?
+ - GH#128: Parallelization of simulation with --cfg=contexts/nthreads
  - GH#139: Allow pthread creation in SMPI
+ - GH#336: Packet-level simulation using SMPI?
+ - GH#345: Error in the LMM while migrating a VM
+ - GH#346: [SMPI] error while loading shared libraries: libsimgrid.so
+ - GH#352: pip install / python setup.py install fail to find pybind11
+ - GH!337: Fix link_energy plugin for wifi platforms
+ - GH!339: Add Mailbox set_receiver method to python binding
+ - GH!344: Cast hugepages macros parameters to int64
 
 ----------------------------------------------------------------------------
 
@@ -413,7 +471,7 @@ Documentation:
    (documenting all internals this way is overkill + doxygen scales badly)
  - New tutorial on S4U (highly inspired from the old MSG one, but with
    a git repository to fork as a starting point, and a docker image)
- - Started but not finished a SMPI tutorial inspired from the JLPC'14 one.
+ - Started but not finished an SMPI tutorial inspired from the JLPC'14 one.
  - The Developper manual is still to be converted (not compiled until then)
  - Some parts are still missing in this conversion (such as the
    platform and deployment sections) while others were blindly converted
@@ -549,7 +607,7 @@ Plugins:
  - Rename Energy plugin into host_energy
  - Rename Load plugin into host_load
 
-simix:
+Simix:
  - Add parameter --cfg=simix/breakpoint to raise a SIGTRAP at given time.
  - kill simix::onDeadlock() that was somewhat dupplicating s4u::on_deadlock()
  - Improve performance when handling timeouts of simix synchros.
@@ -841,7 +899,7 @@ SimGrid (3.16) Released June 22. 2017.
  * This is (mainly) a backward compatible change: v4 are valid v4.1 files
    - <zone> can be used as a synonym for the now deprecated <as>
    - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
-   - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
+   - <bypassZoneRoute> can be used as a synonym for the now deprecated <bypassAsRoute>
    - <actor> can be used as a synonym for the now deprecated <process>
    - state_file and avail_file periodicity is now easier to express
      (check the documentation) the old behavior should still work.
@@ -1777,7 +1835,7 @@ SimGrid (3.8) stable; urgency=low
  TRACE:
  * Two new tracing options for adding comments to trace file so you
    can track your experiments (see --help-tracing for details).
- * New option to generate a impoverished trace file (--cfg=tracing/basic:1)
+ * New option to generate an impoverished trace file (--cfg=tracing/basic:1)
  * Adding the SimGrid version that generated the trace file as a comment.
  * Instrumenting other MSG functions (MSG_task_isend_with_matching and MSG_task_dsend)
  * Fix to avoid key clashes on Paje links
@@ -3728,7 +3786,7 @@ SimGrid (2.90) unstable; urgency=low
     MSG but a few things really had to disappear. The main differences
     with the previous version are:
        1) no more m_links_t and the corresponding functions. Platforms are
-         directly read from a XML description and cannot be hard-coded
+         directly read from an XML description and cannot be hard-coded
          anymore. The same format is used for application deployment
          description. The new format is described in the documentation.
          Have a look in tools/platform_generation. There is a tiny script