X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8d273cc02cf3c7b1d2ec1c70c306058dee9fd17b..e99ac4319ea4bab13a821b840b58a443918d5c28:/ChangeLog diff --git a/ChangeLog b/ChangeLog index dc1cc70eab..99d68e9271 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,32 +1,139 @@ -SimGrid (3.20) NOT RELEASED YET (Release target: June 21. 2018 10:07 UTC) +SimGrid (3.22) NOT RELEASED (Release Target: December 21. 2018, 22:23 UTC) -TRACE - - Change --cfg=tracing/msg/vm to --cfg=tracing/vm as virtual machine - behavior tracing is no longer limited to MSG +Java: + - Expose host load plugin: loadInit, getCurrentLoad, getComputedFlops, getAvgLoad -MSG - - The deprecation of MSG is ongoing. A lot of functions are now simple - wrappers on the C API of S4U. All these wrappers (and their S4U counterparts - can be found in src/msg/msg_legacy.cpp). +Core: + - Replace our own code to display a backtrace (that was forking addr2line) + with the Boost.Stacktrace library. + You won't see your backtraces without this optional dependency. -S4U: - - Introduced new function simgrid::s4u::Host::get_actor_count. This function - returns the number of actors running on a specific host. +MSG: + - Drop MSG_process_create_from_stdfunc() from the API. + This C++ function was a pimple in the C API, made necessary at some + point by the Java bindings. This is fixed now. -Plugins: - - Allow to run the Link energy plugin from the command line with - --cfg=plugin:link_energy - - Rename Energy plugin into host_energy - - Rename Load plugin into host_load +XBT: + - Drop sg_cmdline. Please use xbt_cmdline instead. + - Drop the C xbt_os_sem_t; Use the C++ xbt::OsSemaphore. + OsSemaphore is implemented in a portable way with C++11 threads. + This should allow much more threads to be created at the same time, + allowing Mac and Java users to simulate many more actors. + - Drop several unused xbt_os_thread_t functions: + - xbt_os_thread_get_extra_data() + - xbt_os_thread_set_extra_data() + - xbt_os_thread_self() + - xbt_os_thread_self_name() -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. +Fixed bugs: + - #261: Document the parameters of parallel execution's constructor + - #314: SMPI args internal cleanup + - #316: Fix a bug related to the CPU utilization of multi-core VM + +---------------------------------------------------------------------------- + +SimGrid (3.21) October 3. 2018 + +The Restarting Documentation (TRD) Release. + +Documentation: + - Convert the user manual to Sphinx for improved usability. + Unstable version now hosted on https://simgrid.frama.io/simgrid + Many glitches remain; stay tuned. + - Restrict the Doxygen reference API to the installed header files. + (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. + - 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 + and would need more love (such as the configuration flags). + Things will certainly further improve in the future releases. + +S4U new features: + - Fully reimplement auto_restart mechanism that was utterly broken + (fix #22, #131 and #281 that were all very related) + - Implement semaphores (fix #303 and #291) + - When creating an actor from a function and its parameters, + move-only parameters are not allowed anymore, as it would prevent + the actor to be restartable if its parameters are consumed on run. + - s4u::Io: IOs go asynchronous as activities. New methods in s4u::Storage: + - io_init(sg_size_t, s4u::Io::OpType) to create a READ or WRITE asynchronous + IO operations that can be started, waited for, or canceled as a regular + activity. + - read_async(sg_size_t) and write_async(sg_size_t) which are wrappers on + io_init() + start() + +Tracing: + - Rename 'power' and 'power_used' variables into 'speed' and 'speed_used' + - New host variable: 'core_count' + +XBT: + - Remove xbt_os_thread_specific features + - Remove portability wrapper to condition variables + - Remove xbt_os_thread_yield() + +SMPI: + - MPICH collective selector now mimics MPICH 3.3b + - OpenMPI collective selector now mimics OpenMPI 3.1.2 (default "tuned" setting) + - MPI_Init(NULL,NULL) is now allowed + - smpi/wtime option now injects time in gettimeofday or clock_gettime calls + - Command-line arguments should now be handled properly in Fortran simulations + - MPI Attributes and related callbacks should work in Fortran + - Apps using C + Fortran should now work + - MPI_* calls now check for non MPI_SUCCESS return values and emit warnings + - Support MPI_Error_String + +Java: + - Due to an internal bug, Msg.run() must now be your last line. + We hope to fix it in a future release, and we are sorry for the inconvenience. + +Fixed bugs: + - #22: Process autorestart seem to only work with CAS01 cpus + - #56: Feature request: dynamic SMPI replay + - #93: simgrid should not eat --help + - #111: How to change the loopback link characteristics? + - #116: Platform cluster radical + - #117: Platform cluster/host order + - #129: Replay_multiple on steroid + - #131: Java : autostart does not work + - #143: Setting a breakpoint at a given time + - #235: Network energy models should be integrated + - #264: Add ptask L07 resource tracing + - #271: Dynamic and manual replay of SMPI traces + - #279: Breakpoints option uses time deltas instead of absolute time + - #281: Daemonized actor no longer daemonized after an auto-restart + - #282: TIT convertor erase traces when using absolute path in the trace list file + - #285: segfault when a s4u actor kills itself with msg process tracing activated + - #286: Pajé traces are not exposing the number of cores + - #287: Command-line parsing should stop when encountering '--' + - #288: MPI_Init(NULL, NULL) + - #289: Improve documentation of Actor::on_destruction and this_actor::on_exit() + - #290: Method to check if a mailbox has a message ready to be consumed + - #291: [s4u] semaphores do not seem available yet + - #294: Alltoall collective implementation of mpich + - #295: Starting a Host as OFF is not supported + - #296: DTD too permissive + - #299: Add a s4u barrier example + +---------------------------------------------------------------------------- + +SimGrid (3.20) Released June 24. 2018 + +The proxy snake_case() release. + +S4U: + - The whole API is now using snake_case() instead of mixing it with camelCase. + Compatibility wrappers in place for one year. + - We took the opportunity to increase the consistency of the API. + Please report any remaining glitches. + - New function simgrid::s4u::Host::get_actor_count: + Returns the number of actors running on a specific host. SMPI: - - SMPI is now tested with ~45 proxy apps from various sources, with none or - only minor patching needed: check github.com/simgrid/SMPI-proxy-apps + - SMPI is now tested with ~45 proxy apps from various sources, with none or + only minor patching needed: check https://github.com/simgrid/SMPI-proxy-apps - Replay: The replay file has been re-written in C++. - Replay: Tags used for messages sent via MPI_Send / MPI_Recv are now supported. They are stored in the trace and used when replayed. @@ -37,12 +144,47 @@ SMPI: by SMPI. They will be copied locally and loaded separately by each process. Example --cfg=smpi/privatize-libs:"libgfortran.so.3;libscalapack.so". - Tracing: add tracing for MPI_Start, Startall, Testall, Testany - - Interception of getopt, getopt_long and getopt_long_only calls to avoid issues - with internal index optind with multiple processes. Only works if MPI_Init has + - Interception of getopt, getopt_long and getopt_long_only calls to avoid issues + with internal index optind with multiple processes. Only works if MPI_Init has already been called. - - Fortran: SMPI builds a mpi.mod file which should allow use of "use mpi" + - Fortran: SMPI builds a mpi.mod file which should allow use of "use mpi" syntax without preprocessing tricks. +TRACE + - Change --cfg=tracing/msg/vm to --cfg=tracing/vm as virtual machine + behavior tracing is no longer limited to MSG + - TIT (Time Independent Traces): We finally support tags. Unfortunately, + this means that traces now need to be updated or re-obtained; both Irecv + and Isend lines in your traces have now in total 5 mandatory fields: + + To update your traces, it suffices to add a 0 for the tag here. + - TIT now also supports waiting for a distinct request via MPI_Wait. + Wait/Test now wait for a specific request, not just the last one that was + issued. This unfortunately means another update, because we need to + identify which request you want to wait for. We do this via the + triplet (sender, receiver, tag), which needs to be added: + + - Actions are now in lower case (e.g., "allReduce" becomes "allreduce"). + New script simgrid_convert_TI_traces.py: upgrade your TI traces. + +MSG + - The deprecation of MSG is ongoing (but this should not impact you). + Many MSG functions are now simple wrappers on the C API of S4U. If + you wish to convert your code to S4U, find the S4U counterparts of + your MSG calls in src/msg/msg_legacy.cpp. + - MSG can still be used, but won't evolve anymore. + +Plugins: + - Allow to run the Link energy plugin from the command line with + --cfg=plugin:link_energy + - Rename Energy plugin into host_energy + - Rename Load plugin into host_load + +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. + XBT: - Config: the C API is now deprecated (will be removed in 3.23), and the C++ API has been slightly improved. @@ -57,7 +199,7 @@ Fixed bugs: - #258: daemonized actors hang after all non-daemonized actors have completed - #267: Linker error on unit_tmgr - #269: SMPI: tracing of MPI_Wait/all/any broken - - SMPI: Fix various crashes with combined use of MPI_PROC_NULL and MPI_IGNORE_STATUS + - SMPI: Fix various crashes with combined use of MPI_PROC_NULL and MPI_IGNORE_STATUS ----------------------------------------------------------------------------