X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6c98d311c94b09a185a36f90f7a4a56a6a70298a..a0d7ce2cffa227ad70413b43f5e7e0d62489823c:/ChangeLog diff --git a/ChangeLog b/ChangeLog index b8acaf6e51..e1df82b8dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,33 +1,166 @@ ---------------------------------------------------------------------------- -SimGrid (3.24.1) NOT RELEASED YET (v3.25 expected December 22. 2029, 04:19 UTC) +SimGrid (3.25.1) UNRELEASED (target: March 20 2020 or v3.26 on 3/26/20) + +Important user-visible changes: + - 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 + 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. + - 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: -- Actor: Merge signals on_migration_start/end into on_host_change -- Actor: Rename migrate() into set_host() -- Disk: Allow users to get the read and write nominal bandwidth values -- Exec: Implement wait_for(timeout) -- Io: Implement wait_for(timeout) + - the on_exit() of each actor is also executed when the simulation deadlocks. + +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: + - The return type of the sg_actor_on_exit() callbacks is now 'void' + (int value was previously ignored) + +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). + +C interface: + - 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!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 + - 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!337: Fix link_energy plugin for wifi platforms + - GH!339: Add Mailbox set_receiver method to python binding + +---------------------------------------------------------------------------- + +SimGrid (3.25) February 2. 2020 (aka 02 02 2020) + +The Palindrom Day Release. + +Important user-visible changes: + - Improve the Python usability (stability and documentation). + - A nasty synchronization bug was ironed out, see also below. + - Python's doc was organized as a separate tree, now integrated with C++. + - C bindings of S4U were not part of the doc. + - The C++ doc was also improved as methods are now split by theme. + - Further deprecate MSG: you now have to pass -Denable_msg=ON to cmake. + - This is mandatory to use the Java bindings. + - OFF by default; The plan is to completely remove MSG by 2020Q4 or 2021Q1. + - SimDAG++: Automatic dependencies on S4U activities (experimental) + - Some features are already implemented but not all of them + - Cannot block an activity until it's scheduled on a resource + - No heterogeneous wait_any() that would mix Exec/Comm/Io activities. + - See examples/s4u/{io,exec,comm}-dependent for what's already there. + +General: + - Upgrade documented Java dependency to Java 8 (earlier versions don't work). + - Drop support for Viva/Triva (old visualization tools), hence removed + TRACE_get_node_types() and TRACE_get_edge_types() functions. + +Python: + - Require pybind11 version 2.4. + - Greatly improve locking during context switches with Python. + - Declaring Python callbacks to this_actor::on_exit is now working. + - No more tests are failing currently, even on win32. + +S4U: + - Actor: Merge signals on_migration_start/end into on_host_change + - Actor: Rename migrate() into set_host() + - Disk: Allow users to get the read and write nominal bandwidth values + - Exec: Implement wait_for(timeout) + - Io: Implement wait_for(timeout) XML: -- Parse errors now raise a simgrid::ParseError that you may want to catch. + - Parse errors now raise a simgrid::ParseError that you may want to catch. Kernel: -- In simgrid::kernel::resource::Model, the methods next_occuring_event*() have - been renamed to fix a spelling error. As usual, the previous definitions are - kept with a deprecation warning. However, to avoid runtime errors, it is now - forbidden to override these deprecated methods in a derived class. Please use - the new names immediately if you need to override them. + - In simgrid::kernel::resource::Model, the methods next_occuring_event*() have + been renamed to fix a spelling error. As usual, the previous definitions are + kept with a deprecation warning. However, to avoid runtime errors, it is now + forbidden to override these deprecated methods in a derived class. Please use + the new names immediately if you need to override them. XBT: -- Remove unused parameter 'free_ctn' for xbt_dict_set() and xbt_dict_set_ext(). -- New module: random, providing classical random numbers generators. + - Remove unused parameter 'free_ctn' for xbt_dict_set() and xbt_dict_set_ext(). + - Drop unused functions for dicts and dynars: xbt_dict_cursor_get_elm, + xbt_dict_get, xbt_dict_get_elm, xbt_dict_get_ext, xbt_dict_get_key, + xbt_dict_remove, xbt_dict_reset, xbt_dynar_compare, xbt_dynar_dump, + xbt_dynar_foreach_ptr, xbt_dynar_free_data, xbt_dynar_free_voidp, + xbt_dynar_init, xbt_dynar_insert_at_as, xbt_dynar_merge, + xbt_dynar_remove_n_at, xbt_dynar_replace, xbt_dynar_search, xbt_dynar_set. + - New module: random, providing classical random numbers generators. + +SMPI: + - New option : "smpi/auto-shared-malloc-thresh" which sets a value for + allocations' size above which they are considered "shared" by default (as if + they were performed through SMPI_SHARED_MALLOC macros). + Default = 0 = disabled feature. + Note : malloc, calloc and free are now overriden by smpicc/cxx by default. + This can cause some troubles if codes are already overriding these. If this + is the case, defining SMPI_NO_OVERRIDE_MALLOC in the compilation flags can + help, but will make this feature unusable. + - Input check is now performed much more consistently and outputs precise + warnings for each error found + - New supported calls : MPI_File_set_view, MPI_File_get_view + - MPI I/O now only supports disks, as storage is discontinued. + - MPI I/O allows opening files without specifying absolute path + - Note : SMPI configuration options are now initialized by smpi_init_options() + call, which should be called if SMPI is not being used through smpirun. Fixed bugs (FG#.. -> framagit bugs; FG!.. -> framagit merge requests): + - FG#9: Python bindings crashing + - FG#39: Missing s4u::Comm::wait_any_for example + - FG#42: Add support for ThreadSanitizer (TSan) + - FG!19: Removing RngStream + - FG!20: A module for RNG calls + - FG!21: Choice between ad-hoc and standard distributions implementations + - FG!23: Master + - FG!25: Fix link in Mutex doc + - FG!26: Fix links in SMPI interface doc - GH#31: [MC] please provide an option to make MPI_Send asynchronous - GH#305: Unscheduled tasks are still excuted + - GH#313: smpirun: manual outdated w.r.t. --help + - GH#321: [S4U] Get task remaining work ratio - GH#323: Crash when an actor turn off his physical host - - FG!19: Removing RngStream + - GH#335: Missing links on dragonfly example svg + - https://lists.gforge.inria.fr/pipermail/simgrid-user/2019-November/004653.html: + MPI_Cart_sub was not working properly. Kudos to Jonathan Borne for the report. ---------------------------------------------------------------------------- @@ -455,7 +588,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.