Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Storage-kill: no more check disk attachement
[simgrid.git] / ChangeLog
index e302c5e..7567984 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 ----------------------------------------------------------------------------
 
-SimGrid (3.25.1) UNRELEASED (target: March 20 2020 or v3.26 on 3/26/20)
+SimGrid (3.26.1) NOT RELEASED YET (v3.27 expected March 20. 2021, 09:37 UTC)
+
+User-visible changes:
+ - Removed some option aliases that were deprecated since v3.23 (June 2019)
+   - 'verbose-exit' is now 'debug/verbose-exit'
+   - 'simix/breakpoint' is now 'debug/breakpoint'
+   - 'clean-atexit' is now 'debug/clean-atexit'
+
+S4U:
+ - Define new template functions Mailbox::get_unique(), returning a std::unique_ptr.
+ - Functions Mailbox::get() and Mailbox::get_async() are now templated with the
+   type of the pointee. Untyped functions are deprecated. Use Mailbox::get<void>()
+   or Mailbox::get_async<void>() if you really want to play with void*.
+ - Unify the interface of Activity::on_{start/activity}
+ - New function: Comm::get_dst_data()
+ - New function: Comm::set_payload_size() to set the amount of bytes to simulate.
+ - New functions: Comm::sendto_{init,async} to initiate a communication
+   on between two (possibly remote) hosts.
+
+Documentation:
+ - New section: Configuring the logs from the command line.
+ - New section: Programming API of logs.
+
+----------------------------------------------------------------------------
+
+SimGrid (3.26) December 15. 2020
+
+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
  - 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
+   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
    should not cause too much performance hit. It can change some simulation
    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.
+   an issue per see). The old value can be restored with --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.
 
-S4U:
- - the on_exit() of each actor is also executed when the simulation deadlocks.
-
-C binding:
- - The return type of the sg_actor_on_exit() callbacks is now 'void'
-   (int value was previously ignored)
+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 runtime option 'contexts/parallel-threshold'.
+ - Runtime option 'tracing/msg/process' renamed to 'tracing/actor'. The old name
+   has been kept for compatibility.
+ - Finally remove obsolete snake_case() aliases for runtime options.
+ - 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.
+ - most temporary files should now be created in /tmp dir (or equivalent).
+   If this one does not allow execution of code (noexec flag), this may cause issues.
+   Please use another tmp directory (using TMPDIR or equivalent system variable)
+   in this case.
+
+Model-Checker:
+ - A large refactoring is ongoing, but this should be transparent for users so far.
+
+XBT:
+ - Drop xbt_str_split().
+
+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.
 
-Simix:
- - Remove obsolete option --cfg=contexts/parallel-threshold.
-
 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
 
 ----------------------------------------------------------------------------
 
@@ -437,7 +510,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
@@ -865,7 +938,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.
@@ -1801,7 +1874,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
@@ -3752,7 +3825,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