X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9e9309e4a5ecb467a4f3fbfa20f168517d47a4f5..4f595ad4a6a3cca52474d9ce1d61567a0fc68e62:/ChangeLog diff --git a/ChangeLog b/ChangeLog index c744af89d9..dd9552bb4a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,236 @@ -SimGrid (3.20) NOT RELEASED YET (Release target: June 21. 2018 10:07 UTC) +SimGrid (3.23) NOT RELEASED (Release Target: June 21. 2019, 15:54 UTC) + +XBT: + - Drop xbt_dict_dump. + +Fixed bugs: + - #326: Valgrind-detected error for join() when energy plugin is activated + +---------------------------------------------------------------------------- + +SimGrid (3.22) April 1. 2019 + +The Easter Chrismas Release (this one is somewhat late). + +Python: + - We are excited to introduce the SimGrid/S4U interface to your neighborhood + - Not complete yet: asynchronous activities (amongst others) are still missing + - Still ongoing: the interface may change in the future. We need more + testers! Please report any glitches. + - No new project using Java should start now. Please switch to Python. + +General: + - Some of the internal cleanups may lead to speed improvements: + - The hard limitation on the amount of simulated actors with + Java+Mac was removed. Now, the available memory is the only limit. + - Our refcounting was tidyied, leading to 10% speedups in some cases. + - We are still working on making our code robust to the actor kills + and hosts' churn. Things are improving, but it's not perfect yet. + - Replaced 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. + - Bump cmake dependency to 3.5 (provided by Ubuntu 16.04). + - Stop setting random seed with srand() at initialization. + +XML + - In and , 'availability_file' is now 'speed_file'. + XML file version remains 4.2 since old files are still compatible. + +Java: + - Process termination which was broken at version 3.21 has been repaired. + - Expose host load plugin: loadInit, getCurrentLoad, getComputedFlops, getAvgLoad + - Hide the examples into examples/deprecated. New users should use Python. + +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. + - Hide the examples into examples/deprecated. New users should use S4U. + - MSG_process_create and MSG_process_attach now crash if the host used + to run this process is off. + - Fix the protype of MSG_process_on_exit() + Now use (int,void*) callbacks instead of (void*,void*) ones. + The implementation was ways too messy to actually work, I guess. + +SMPI: + - Change the way SMPI_SAMPLE_* macros work to avoid invalidating cache + too often and provide more accurate timings. + - Add -gdb, -lldb, and -vgdb shortcuts to help debug MPI codes with smpirun + - MPI_Alltoallw support + - Partial MPI nonblocking collectives implementation: MPI_Ibcast, MPI_Ibarrier, + MPI_Iallgather, MPI_Iallgatherv, MPI_Ialltoall, MPI_Ialltoallv, MPI_Igather, + MPI_Igatherv, MPI_Iscatter, MPI_Iscatterv, MPI_Ialltoallw. + - MPI_Request_get_status, MPI_Status_set_cancelled, MPI_Status_set_elements + support + - Basic implementation of generalized requests (SMPI doesn't + allow MPI_THREAD_MULTIPLE) : MPI_Grequest_complete, MPI_Grequest_start + +XBT: + - Drop sg_cmdline. Please use xbt_cmdline instead. + - Drop the C xbt_os_mutex_t; Use the C++11 std::mutex. + - 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. + - Implement the 'thread' factory with std::thread instead of xbt ones. + It is not possible to set the stack size with threads anymore, but + -fsplit-stack is the way to go nowadays when using threads. + - Drop the xbt_os_thread_t module (now unused) + - Drop xbt_ex_display(), use simgrid::xbt::log_exception() instead. + - Drop xbt_str_join_array(). + - Drop cunit, use Catch2 instead. + +Kernel: + - Many cleanups in the kernel::activity namespace. This was long + overdue, and shall open the path to many future endeavors. + +Fixed bugs: + - #132: Java: a process can not shut down its own host + - #220: S4U: detached send causes exception if sender terminates soon after sending + - #261: Document the parameters of parallel execution's constructor + - #300: [s4u] BarrierPtr is missing + - #314: SMPI args internal cleanup + - #316: Fix a bug related to the CPU utilization of multi-core VM + - #318: Invalid trace file when using option --cfg=tracing/smpi/display-sizes:yes + - #324: S4U: Attempting to create an actor on turned off host segfaults instead of throwing + - #325: Turning off a host has different behavior on sleeping actors and computing actors + +---------------------------------------------------------------------------- + +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 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. + - Basic support of MPI_Cancel. Robustness not guaranteed. + - Support of MPI_Win_allocate_shared, MPI_Win_shared_query, MPI_Comm_split_type + (only for MPI_COMM_TYPE_SHARED). + - New option: smpi/privatize-libs, to add external shared libs to be privatized + 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 + already been called. + - 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). @@ -11,10 +239,6 @@ MSG your MSG calls in src/msg/msg_legacy.cpp. - MSG can still be used, but won't evolve anymore. -S4U: - - Introduced new function simgrid::s4u::Host::get_actor_count. This function - returns the number of actors running on a specific host. - Plugins: - Allow to run the Link energy plugin from the command line with --cfg=plugin:link_energy @@ -26,25 +250,6 @@ simix: - kill simix::onDeadlock() that was somewhat dupplicating s4u::on_deadlock() - Improve performance when handling timeouts of simix synchros. -SMPI: - - 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. - - Basic support of MPI_Cancel. Robustness not guaranteed. - - Support of MPI_Win_allocate_shared, MPI_Win_shared_query, MPI_Comm_split_type - (only for MPI_COMM_TYPE_SHARED). - - New option: smpi/privatize-libs, to add external shared libs to be privatized - 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 - already been called. - - Fortran: SMPI builds a mpi.mod file which should allow use of "use mpi" - syntax without preprocessing tricks. - XBT: - Config: the C API is now deprecated (will be removed in 3.23), and the C++ API has been slightly improved. @@ -59,7 +264,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 ---------------------------------------------------------------------------- @@ -557,7 +762,7 @@ SimGrid (3.14) Released December 24. 2016 * VM I/O related things: - Ignored parameter of vm_create: core_nb, disk_path and disk_size. - Unimplemented save/restore methods - * MSG_as_router_get_property_value() was redundent with + * MSG_as_router_get_property_value() was redundant with MSG_environment_as_get_property_value(). - Removed MSG_as_router_*propert*() functions - Added MSG_environment_as_set_property_value() for consistency @@ -651,7 +856,7 @@ SimGrid (3.13) stable; urgency=low flops that a , , or can deliver per second. - In , attribute kind="POWER" is now kind="SPEED". - In and , attributes availability and state are gone. - It was redundent with state and availability traces, and with peak values. + It was redundant with state and availability traces, and with peak values. - In , attributes availability_file and state_file are gone. It was too complex and unused. - Kill . Was not doing anything.