Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / NEWS
diff --git a/NEWS b/NEWS
index 9c9508a..bbe6e5f 100644 (file)
--- a/NEWS
+++ b/NEWS
+
+                    _               _____  _____  __
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ / / /_
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   |_ \| '_ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | ___) | (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)____/ \___/
+               (not released yet)
+
+
+                    _               _____  _________
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ / ___|
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   |_ \___ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | ___) |__) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)____/____/
+               November 23. 2023
+
+The "Thanks Giving up stateful model-checking" release. Stateless model checking remains.
+
+ * Maint: liveness checking is gone. It was fragile and buggy.
+ * API: ActivitySet make it easier to manage sets of activities.
+ * Plugins chiller, photovoltaic and battery revamped and improved.
+ * Performance improvements, both in time and memory.
+ * (+ internal refactoring, usability improvements and bug fixes)
+                    _               _____  _____ _  _
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ /| || |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   |_ \| || |_
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | ___) |__   _|
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)____/   |_|
+               June 26. 2023
+
+Save the planet, skip a release: 3.33 was due 6 months ago, so skip directly to 3.34.
+
+ * Maint: MSG and Java are gone (EOL was scheduled for 2020), move to C++17,
+          and drop 32bits support.
+ * Model: Introduce a fluid I/O model, mixing I/O and network, to represent
+          streaming from disk
+ * API: DAG/workflow loader; Introducing Tasks which are activities that can
+        be fired several times.
+ * Doc: Several new documentation sections, and a new tutorial on DAGs.
+ * MC: Safety properties now portable to every OS, activated by default
+       in all builds.
+ * MC: Introduction ODPOR/SDPOR reductions and guiding strategies (better
+       state space traversal).
+ * (+ internal refactoring, bug fixes and documentation improvement)
+
+                    _               _____  _________
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ /___ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   |_ \ __) |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | ___) / __/
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)____/_____|
+               October 3. 2022
+
+The Wiedervereinigung release. Germany was reunited 32 years ago.
+
+  * Various cleanups around the virtual machines API
+  * Improved Python platform generation (more robust, easier to use)
+  * Further complete Python bindings (Comm, Engine, ptasks)
+  * (+ internal refactoring, MANY bug fixes and documentation improvement)
+
+                    _               _____  _____ _
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ // |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   |_ \| |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | ___) | |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)____/|_|
+               March 22. 2022
+
+The ненасильство release. We stand against war.
+
+  * Refactoring the model-checker, enabling synchronization objects and future improvements
+  * Introducing BMF sharing, enabling ptasks in regular models (experimental)
+  * Further complete Python bindings (Mutex, Semaphore and Barrier)
+  * (+ internal refactoring, many bug fixes and documentation improvement)
+
+                    _               _____  _____  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ / / _ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   |_ \| | | |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | ___) | |_| |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)____/ \___/
+               January 30. 2022
+
+The Sunday Bloody Sunday release.
+
+  * SimDAG is finally removed, fully superseded by S4U.
+  * New documentation on calibrating MPI.
+  * The Algorithms tutorial can now be taken in Python.
+  * (+ many bug fixes and internal refactoring)
+
+                    _               _____  ____   ___
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \ / _ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | (_) |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/ \__, |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|  /_/
+               October 7. 2021
+
+The "Ask a stupid question" release
+
+  * Python bindings for the platform creation API
+  * Introduce non-linear resource sharing, allowing decay models
+  * New documentation section on realistic I/O modeling
+  * (+ many bug fixes and internal refactoring)
+
+                    _               _____  ____  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \( _ )
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) / _ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/ (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____\___/
+               July 14. 2021
+
+The Victoriadagarna Release (birthday of Crown Princess Victoria)
+
+  * Programmatic platform description (only C++ for now).
+  * New plugin to simplify producer/consumer applications.
+  * MC: new tutorial and associated docker image.
+  * SMPI: improve error handling for incorrect advanced usages.
+  * Many internal cleanups and refactoring to prepare the future.
+
+                    _               _____  ____ _____
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \___  |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | / /
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/ / /
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____/_/
+               March 29. 2021
+
+The Ragnar Release (anniversary of the siege of Paris by Vikings in 845)
+
+  * SMPI: can now report leaks and hint about the mallocs and kernels hindering simulation scalability
+  * Doc: Several new sections in the user manual, and start documenting the internals.
+  * S4U: Direct comms from host to host, without mailboxes.
+  * Many internal cleanups and refactoring to prepare the future.
+
+                    _               _____  ____   __
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \ / /_
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | '_ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/| (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|\___/
+               December 15. 2020
+
+The Release release (the French lockdown was eased).
+
+ * SMPI: improved support of the proxy apps (including those using petsc)
+ * WiFi: easier description in XML; energy plugin; more examples.
+ * ns-3: Many bug fixes, can use the wifi models too.
+ * (+ many bug fixes, documentation improvement and internal refactoring)
+
+                    _               _____  ____  ____
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \| ___|
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) |___ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/ ___) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|____/
+               February 2. 2020 (02 02 2020)
+
+The Palindrom Day Release.
+
+ * Improve the Python usability (stability and documentation).
+ * Further deprecate MSG: you now have to pass -Denable-MSG=ON to cmake.
+ * SimDAG++: Automatic dependencies on S4U activities (experimental).
+ * (+ many bug fixes and internal refactoring)
+
+                    _               _____  ____  _  _
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \| || |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | || |_
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/|__   _|
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|  |_|
+               October 9. 2019
+
+The Clean Disk Release.
+
+ * Introduce an experimental Wifi network model.
+ * Introduce <disk> (cleaner logic than <storage>).
+ * SMPI: Implement Errhandlers and some more MPI3.1 calls.
+ * (+ many bug fixes and internal refactorings)
+
+                    _               _____  ____  _____
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \|___ /
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | |_ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/ ___) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|____/
+               June 25. 2019
+
+The Exotic Solstice Release.
+
+ * Support for Solaris and Haiku OSes. Just for fun :)
+ * SMPI: more of MPI3.1; some MPI/IO and async collectives.
+ * Python bindings can now be installed from pip.
+ * (+ a whole load of bug fixes and internal refactorings)
+
+                    _               _____  ____  ____
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \|___ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | __) |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/ / __/
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|_____|
+               April 1. 2019
+
+The Easter Christmas Release (this one is somewhat late).
+
+ * Introducing the Python bindings (still beta)
+ * Doc: SMPI tutorial and platform description ported to RTD
+ * Many internal cleanups leading to some user-level speedups
+ * (+ the classical bug fixes and internal refactorings)
+
+                    _               _____  ____  _
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \/ |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/| |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|_|
+               October 3. 2018
+
+The Restarting Documentation (TRD) release.
+
+ * Start to overhaul the documentation, and move to Sphinx + RTD.
+ * Allow dynamic replay of MPI apps, controlled by S4U actors
+ * Rewrite the support for auto-restarted actors (was utterly broken)
+ * (+ the classical bug fixes and doc improvement)
+
+                    _               _____  ____   ___
+__   _____ _ __ ___(_) ___  _ __   |___ / |___ \ / _ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \   __) | | | |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) | / __/| |_| |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_____|\___/
+               June 24. 2018
+
+The proxy snake_case() release.
+
+ * Sanitize the public API. Compatibility wrappers in place for one year.
+ * More CI: ~45 Proxy Apps + BigDFT + StarPU now tested nightly
+ * MPI: Port the trace replay engine to C++, fix visualization
+ * (+ the classical bug fixes and doc improvement)
+
+                    _               _____  _  ___   _
+__   _____ _ __ ___(_) ___  _ __   |___ / / |/ _ \ / |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | (_) || |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || |\__, || |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|  /_(_)_|
+               March 22 2018
+
+The Fixed ABI release.
+
+ * Reduce the changes to the binary interface of MSG,
+   accidentally introduced by v3.19.
+
+                    _               _____  _  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / / |/ _ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | (_) |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || |\__, |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|  /_/
+               March 20 2018
+
+The Moscovitly-cold Spring release.
+
+ * SMPI: Allow to start new actors and ranks after simulation start.
+ * SMPI: Support ICC, better testing on classical proxy apps.
+ * Some kernel headers are now installed, allowing external plugins.
+ * (+ the classical bug fixes and doc improvement)
+
+                    _               _____  _  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / / |( _ )
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |/ _ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || | (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|\___/
+               December 24 2017
+
+The "Ho Ho Ho! SimGrid 4 beta is coming to town" release.
+  SimGrid 4 *may* be there by the next solstice.
+
+ * Convert almost all interesting MSG examples to S4U.
+ * New model: energy consumption due to the network.
+ * Major cleanups in the disk and storage subsystems.
+ * (+ further deprecate XBT, bug fixes and doc improvement)
+
+                    _               _____  _ _____
+__   _____ _ __ ___(_) ___  _ __   |___ / / |___  |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |  / /
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || | / /
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|/_/
+               October 8 2017
+
+The Drained Leaks release: (almost) no known leaks despite the tests.
+
+ * Many many internal cleanups (almost 700 commits since 3.16).
+ * The coverage of our tests is above 80%.
+ * All memleaks but one plugged; A dozen of bugs fixed.
+ * XBT: Further replace XBT with std::* constructs.
+
+                    _               _____  _  __
+__   _____ _ __ ___(_) ___  _ __   |___ / / |/ /_
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | '_ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || | (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|\___/
+               June 22 2017
+
+The Blooming Spring Release: developments are budding.
+
+ * S4U: Progress; Activity refcounting is now automatic.
+ * XML: <AS> can now be named <zone> as they should.
+ * SMPI: Further performance improvements; RMA support.
+ * Cloud: Multi-core VMs (do not overcommit them yet)
+ * (+ bug fixes, cleanups and documentation improvements)
+
+                    _               _____  _ ____
+__   _____ _ __ ___(_) ___  _ __   |___ / / | ___|
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |___ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || |___) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|____/
+               Mar 22 2017
+
+The Spring Release: continuous integration servers become green.
+
+ * S4U: progress, integrating more parts of SimDag; New examples.
+ * SMPI: Support MPI 2.2; Convert internals to C++ (TBC).
+ * Java: Massive memleaks and performance issues fixed.
+ * (+ bug fixes, cleanups and documentation improvements)
+
+                    _               _____  _ _  _    _ ____  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / / | || |  / | ___|/ _ \
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | || |_ | |___ \ (_) |
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || |__   _|| |___) \__, |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|  |_|(_)_|____/  /_/
+               Dec 28 2016
+
+The Christmas Pi Release (better approximation).
+
+ * Fix various glitches in the previous release.
+
+                    _               _____  _ _  _
+__   _____ _ __ ___(_) ___  _ __   |___ / / | || |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | || |_
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || |__   _|
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|  |_|
+               Dec 24 2016
+
+The Christmas Pi Release.
+
+ * Documentation reorganized and improved
+
+ * S4U interface further rising, toward SimGrid 4
+   - Routing code rewritten for readability
+   - Virtual Machines almost turned into a plugin
+   - MSG, SimDag, MPI interfaces mostly unchanged
+
+ * The model-checker now works on FreeBSD too.
+
+                    _               _____  _ _____
+__   _____ _ __ ___(_) ___  _ __   |___ / / |___ /
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | |_ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || |___) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|____/
+                Apr 27 2016
+
+The Half Release, a.k.a. the Zealous Easter Trim.
+
+ * Half of the lines of code are gone.
+   - v3.12: 286k lines; v3.13: 142k lines (+ comments)
+   - Experimental untested unused "features" removed
+   - We rewrote several parts in C++ instead of C
+
+ * Introducing v4 of the XML platform format
+   - Many long-due cleanups (details in the Changelog)
+
+ * MSG examples fully reorganized (in C and Java)
+
+ * The S4U interface is rising, toward SimGrid 4
+   - All host manipulations now done in S4U
+   - SimDag was mostly rewritten on top of S4U
+   - MSG & SimDag interfaces mostly unchanged
+
                     _               _____  _ ____
 __   _____ _ __ ___(_) ___  _ __   |___ / / |___ \
 \ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | __) |
  \ V /  __/ |  \__ \ | (_) | | | |  ___) || |/ __/
   \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|_____|
+                Oct 12 2015
+
+The Facelift Release. Major changes:
+
+ * Many interface glitches addressed, everywhere.
+   - Require g++-4.7, Java 7 and boost 1.48
+   - Builds on Linux, OS X, Windows and FreeBSD
+   - See ChangeLog for renamed functions and options.
+
+ * Energy plugin: major cleanups/rewrites.
+   http://simgrid.org/tutorials/simgrid-energy-101.pdf
+
+ * Model-Checker progresses toward production use:
+   - More robust (now runs in a separate process).
+   - More efficient (with snapshots' memory compaction).
+   - More usable (execution paths replayed out of MC)
+   http://simgrid.org/tutorials/simgrid-mc-101.pdf
+
+ * SMPI improvements:
+   - Better standard coverage  - SMP-aware collectives
+   - InfiniBand model          - Early support for RMA
+   - Replay: Dynamic selector  - MVAPICH2 selector
+   http://simgrid.org/tutorials/simgrid-smpi-101.pdf
 
-(to complete)
+Upcoming v3.13 will introduce new interfaces, toward SimGrid 4.
 
- * Surf internal cleanup: rename workstation into host.
-   Option "workstation/model" now reads "host/model"
- * The model checker now runs in a separate process.
- * The model checker has support for memory compaction of its snapshots.
- * MC record/replay: a interesting path found by the modelchecker can be
-   replayed outside of the modelchecker.
                     _               _____  _ _
 __   _____ _ __ ___(_) ___  _ __   |___ / / / |
 \ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | |