X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8bbfe13824ddf0cc95d518ade3fdde07d64054f8..7c9980810729d416d0121995e9c5de52b4e78df4:/ChangeLog diff --git a/ChangeLog b/ChangeLog index f08586e526..ccdd6eca46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,129 @@ -SimGrid (3.16) UNRELEASED +SimGrid (3.17) UNRELEASED (release target: September 22 2017) -SimDag - - New and Backwards Compatibility break: - SD_simulate_with_update (double how_long, xbt_dynar_t changed_tasks_dynar) - When one wants to get the list of tasks whose states have changed during a - simulation round, s/he has to allocate and free a dynar and use it as argument - to this function. The former SD_simulate (double how_long) now returns void. + The Drained Leaks release: (almost) no known leaks despite the tests. - -- Release target: June 21 2017 -- Da SimGrid team + Even very long simulations will preserve your memory: our testsuite + stresses SimGrid for over 45mn on fast machines, and there is only + one single known leak, of about 4kb. -SimGrid (3.15) stable; urgency=low + + S4U + - Comm.detach(): start and forget about asynchronous emission. A cleanup + handler may be given to free resources if the comm cannot be completed. + - this_actor::send(mailbox) is now mailbox->put() + - New: simgrid::s4u::Comm::wait_all() + - New: Host.execute() for remote executions. + + SURF + - Unused option network/sender-gap is removed. + + MSG + - Deprecate MSG_task_isend_with_matching(): This unused feature + really complicates our internals. Will be removed in v3.20. + + Simix + - Improved context termination. It is now possible to free resources, even + when a process is forcibly killed. + - ContextBoost: add support for Boost versions above 1.61. + + XBT + - Bring back run-time option --cfg=exception/cutpath to remove exception + backtraces. + + Misc + - Removed header files obsolete since SimGrid 3.12: + msg/datatypes.h, msg/msg.h, simdag/datatypes.h, simdag/simdag.h. + - Fix many bugs: + - #3: SD_exit should be made optional + - #120: Memory leak when the processes are forcefully killed + - #159: Threading test regression in Actor refcounting + - #170: simgrid::s4u::Comm::wait_any() returns too many comms + - #185: simgrid::s4u::Engine::instance()->shutdown() segfaults + - #186: Actor::killAll() segfaults if some process is blocked on wait() + - #191: VM migration and pstate + - #192: Updating the energy consumptions of all hosts crashes with VMs + - #195: All actors have PID=0 in the logs + - #204: Sometimes segfault with thread contexts and mmap privatization + - #222: Actor::kill() doesn't really kill and segfaults + - #225: Actor::kill() doesn't really kill when victims are doing a join() + +SimGrid (3.16) Released June 22. 2017. + + The Blooming Spring Release: developments are budding. + + Portability status: + - FreeBSD: Disable SMPI mmap privatization, switch automatically to dlopen. + - Mac, BSD: dlopen+thread broken, switch automatically to raw contexts. + - Java JAR file should be finally fully working on Mac OSX too. + + XML platforms: Switch to platform v4.1 format. + * This is (mainly) a backward compatible change: v4 are valid v4.1 files + - can be used as a synonym for the now deprecated + - can be used as a synonym for the now deprecated + - an be used as a synonym for the now deprecated + - can be used as a synonym for the now deprecated + - state_file and avail_file periodicity is now easier to express + (check the documentation) the old behavior should still work. + * Storage: not backward compatible, but it seems that nobody ever used it + - Remove attribute 'content_type' of : was never used + - Make attribute 'model' of optional: for future usage + - Remove Bconnection model property: was never (in)validated. Replaced by + the maximum of the read and write bandwidth as a resource constraint. + + SimDag + - New and Backwards Compatibility break: + SD_simulate_with_update (double how_long, xbt_dynar_t changed_tasks_dynar) + When one wants to get the list of tasks whose states have changed during a + simulation round, s/he has to allocate and free a dynar and use it as + argument to this function. The former SD_simulate (double how_long) + now returns void. + + Virtual Machines + - Allow multicore VMs, with the correct sharing (unless you overcommit) + BUG: vCPU overcommitting still leads to buggy sharing, though. WIP. + + Energy + - New function to update the consumption of all hosts at once. + - Fix the model for multi-core hosts, linear in the amount of busy + cores with an abnormality for pIdle (see paper). + BUG: Still not satisfactory for ptask on mono-cores. + + MSG + - The netzone are now available from the MSG API. + The old names still work, but are now deprecated. + + SMPI + - New algorithm to privatize globals: dlopen, with dynamic loading tricks + - New option: smpi/keep-temps to not cleanup temp files + - New option : smpi/shared-malloc-blocksize . Relevant only when global shared + mallocs mode is used, allows to change the size of the fake file used + (default 1MB), to potentially limit the number of mappings for large runs. + - Support for sparse privatized malloc with SMPI_PARTIAL_SHARED_MALLOC() + - Fortran ifort and flang compilers support + - New RMA calls supported (experimental) : + - MPI_Win_allocate, MPI_Win_create_dynamic, MPI_Win_attach + - MPI_Win_detach, MPI_Win_set_info, MPI_Win_get_info + - MPI_Win_lock_all, MPI_Win_unlock_all, MPI_Win_flush + - MPI_Win_flush_local, MPI_Win_flush_all, MPI_Win_flush_local_all + - MPI_Op_commutative, MPI_Fetch_and_Op, MPI_Compare_and_swap + - MPI_Rput, MPI_Rget, MPI_Raccumulate, MPI_Rget_accumulate + + S4U + - New: this_actor::isMaestro() returns whether we are in kernel mode. + - Behind the scene, ActivityImpl are now automatically refcounted. + Removing this nasty bottleneck will greatly simplify our internals. + + XBT + - Replay: New function xbt_replay_action_get(): + Retrieve the function previously associated to an event type. + - DROPPED FUNCTION: xbt_str_varsubst() + - DROPPED MODULE: strbuff. We don't need it anymore. + - DROPPED MODULE: matrix. We don't need it anymore. + - DROPPED MODULE: lib. We don't need it anymore. + + -- Thu Jun 22 22:48:12 CEST 2017 -- Da SimGrid team + +SimGrid (3.15) Released March 22. 2017 The Spring Release: continuous integration servers become green We fixed even the transient bugs on all target architectures: @@ -22,7 +136,7 @@ SimGrid (3.15) stable; urgency=low MSG - New: MSG_process_yield(). Stop and yield to other processes. - - New: MSG_process_daemon(). Daemon processes are automatically killed + - New: MSG_process_daemon(). Daemon processes are automatically killed when the last non-daemon process terminates - New: MSG_process_ref/unref(). Fiddle with the process refcounting. - Renamed MSG_energy_plugin_init() -> MSG_host_energy_plugin_init() @@ -34,13 +148,13 @@ SimGrid (3.15) stable; urgency=low - Kill the obscure NativeException. Nobody want to survive the issues it denotes, so use JniException that is a RuntimeException (not to be caught explicitly). - - Partial bug fix in initialization. SimGrid flags on command line were - consumed at C level but stayed in the original Java String[] args. + - Partial bug fix in initialization. SimGrid flags on command line were + consumed at C level but stayed in the original Java String[] args. This could mess users' args[i] if SG flags were not put at the end of the command line. - The SimGrid flags are now removed from the Java arguments. However, + The SimGrid flags are now removed from the Java arguments. However, the number of arguments REMAINS UNCHANGED. It is then UNSAFE to test - if args.length is greater than the number of YOUR OWN ARGUMENTS. + if args.length is greater than the number of YOUR OWN ARGUMENTS. It might be if you have --log or --cfg flags in the command line. - Fix numerous memleaks all around the place. In particular, around VMs. @@ -62,21 +176,21 @@ SimGrid (3.15) stable; urgency=low SimDag - Backwards Compatibility breaks - - The SD_route_get_list and SD_route_get_size functions have been removed. - They are replaced by the unique + - The SD_route_get_list and SD_route_get_size functions have been removed. + They are replaced by the unique void sg_host_route(sg_host_t src, sg_host_t dst, xbt_dynar_t links) - The route from src to dst is built in the links dynar whose size can + The route from src to dst is built in the links dynar whose size can be obtained with xbt_dynar_length. - The SD_route_bandwidth and SD_route_latency functions have been replaced by - sg_host_route_bandwidth and sg_host_route_latency. + sg_host_route_bandwidth and sg_host_route_latency. Macros ensure the backwards compatibility, but you should fix your code SMPI - - Major C++ rewrite ongoing (SMPI used to be C compiled in C++). + - Major C++ rewrite ongoing (SMPI used to be C compiled in C++). This can break codes using SMPI internals (from private.h instead of the public smpi.h). - - Bump our claim of support from MPI 1.1 to MPI 2.2. + - Bump our claim of support from MPI 1.1 to MPI 2.2. We don't support 100% of it, but it should be enough. Contact us if not. - - MPI_Win_lock/unlock, MPI_Get_accumulate support added (as for all RMA, implementation is + - MPI_Win_lock/unlock, MPI_Get_accumulate support added (as for all RMA, implementation is naive and probably inaccurate) - New algorithm for SMPI_SHARED_MALLOC: global, where all blocks are mapped onto a unique small file using some system magic. @@ -98,9 +212,7 @@ SimGrid (3.15) stable; urgency=low - A can now be created with different speed values to represent pstates. see examples/platforms/energy_cluster.xml for an example. - -- Wed Mar 22 17:50:21 CET 2017 -- Da SimGrid team - -SimGrid (3.14.159) stable; urgency=low +SimGrid (3.14.159) Released December 28. 2016 The previous release was only a crude approximation of a Pi release; this one should be a bit better. @@ -110,9 +222,7 @@ SimGrid (3.14.159) stable; urgency=low - Improve the documentation, in particular of the routing module. - Integrate some patches flying around in Debian. - -- Wed Dec 28 17:14:49 CET 2016 Da SimGrid team - -SimGrid (3.14) stable; urgency=low +SimGrid (3.14) Released December 24. 2016 Documentation * The whole documentation was reworked and reorganized. There is @@ -127,13 +237,13 @@ SimGrid (3.14) stable; urgency=low SMPI * Privatization now works on FreeBSD - + * Privatization is now activated by default in smpirun You can turn it off with -no-privatize if something goes wrong. * Call-location tracing for SMPI. - You can add the exact location (filename / linenumber) of an MPI call to - your trace files and slow down or speed up the simulation between two + You can add the exact location (filename / linenumber) of an MPI call to + your trace files and slow down or speed up the simulation between two consecutive calls by using an adjustment file (see the documentation). * Fixed computation of timings for MPI_Send, MPI_Recv & possibly also others @@ -145,8 +255,8 @@ SimGrid (3.14) stable; urgency=low * smpi/cpu-threshold:-1 should become smpi/simulate-computation:no smpi/running-power is renamed to smpi/host-speed - * smpi/grow-injected-times option to enable or disable multiplication of the - timings injected in MPI_Iprobe, or MPI_Test. Enabled by default, which can + * smpi/grow-injected-times option to enable or disable multiplication of the + timings injected in MPI_Iprobe, or MPI_Test. Enabled by default, which can make simulation less precise (but also much faster). * smpirun script should be (much) faster for large deployments. @@ -176,11 +286,11 @@ SimGrid (3.14) stable; urgency=low - 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_environment_as_get_property_value(). + MSG_environment_as_get_property_value(). - Removed MSG_as_router_*propert*() functions - Added MSG_environment_as_set_property_value() for consistency - * xbt heterogeneous dictionnaries (created with xbt_dict_new()). - Well, they are still there for now, but deprecated with a warning. + * xbt heterogeneous dictionnaries (created with xbt_dict_new()). + Well, they are still there for now, but deprecated with a warning. Please switch to xbt_dict_new_homogeneous() before this is removed for real. * Task affinity. Its intended behavior (that was very badly tested @@ -188,8 +298,8 @@ SimGrid (3.14) stable; urgency=low would have hoped here. * xbt_os_sem_get_value: unused internally, deprecated on OS X El Capitan * Option network/coordinates is now useless and should be dropped. - - Storage: + + Storage: * Added option storage/max_file_descriptors to allow more than 1024 files opened SURF: @@ -198,31 +308,29 @@ SimGrid (3.14) stable; urgency=low XML: * Add Exa- and Peta- units such as EiB, EB, Eib, Eb for size, and - EiBps, EBps, Eibps, Ebps for bandwidth. + EiBps, EBps, Eibps, Ebps for bandwidth. They may become useful to some lucky ones. - + Java: * New functions: msg.Comm.waitAll() and msg.Comm.waitAny() * ex/app_tokenring: new example, very similar to the MSG Token Ring * ex/async_waitAll: new example, on asynchronous communications MSG: - * Memory usage should be decreased for simulations with a large number + * Memory usage should be decreased for simulations with a large number of processes. This also helps for SMPI. - -- Sat Dec 24 22:34:26 CET 2016 Da SimGrid team - SimGrid (3.13) stable; urgency=low The Half Release, a.k.a. the Zealous Easter Trim. - + - We removed half of the lines, that were mostly experimental cruft. v3.12 lasted 286000 lines of code, v3.13 is only 142000 lines (not counting blanks and comments -- according to openhub.net) - The internals are now compiled in C++ (and will soon be clean C++) - - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake, + - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake, 59 klines of C, etc. We added only 29 klines of C++ in replacement. - + * Backwards Compatibility breaks - Removed Lua simulation bindings (switch to C or Java for that). Lua can still be used to describe platforms @@ -234,11 +342,11 @@ SimGrid (3.13) stable; urgency=low way, with filter function. - MSG_task_listen_from_host - MSG_mailbox_get_count_host_waiting_tasks - - MSG_mailbox_put_with_timeout was removed. + - MSG_mailbox_put_with_timeout was removed. Please use MSG_task_send_with_timeout instead. - - In SimDag - - the SD_application_reinit function was removed. It has been a noop for a while. - - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be + - In SimDag + - the SD_application_reinit function was removed. It has been a noop for a while. + - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be replaced by a more flexible mechanism. - The following functions thus do not exist anymore - SD_workstation_get_access_mode @@ -248,7 +356,7 @@ SimGrid (3.13) stable; urgency=low - SD_route_get_communication_time => SG_route_get_latency() + amount / SD_route_get_bandwidth() - SD_workstation_get_computation_time => amount / sg_host_speed() - In Java - - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics. + - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics. Use VM.getSpeed()*load/100 for the legacy behavior. - In CMake - option enable_tracing was removed. It was not doing anything for a while. @@ -287,7 +395,7 @@ SimGrid (3.13) stable; urgency=low And the same in bits: 'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps' - latency. Default: 's' second. Also defined: 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond - + * bin/simgrid_update_xml can upgrade your files automatically (won't convert unit-less values) tools/sg_xml_unit_converter.py may help (but it's just a warning and will probably ever be). @@ -298,14 +406,14 @@ SimGrid (3.13) stable; urgency=low MSG * The examples were completely reorganized (in C and Java), for your browsing pleasure. - * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED). + * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED). They were deprecated since a few years, and probably did not even compile anymore. SimDag - * The API has been profoundly modified to directly use the core objects instead of redefining its own. + * The API has been profoundly modified to directly use the core objects instead of redefining its own. SD_Workstation_t and SD_link_t are now sg_host_t and sg_link_t respectively. - Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are - encouraged to update their codes. A list of the modified functions can be found at the end of + Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are + encouraged to update their codes. A list of the modified functions can be found at the end of include/simgrid/simdag.h Simix @@ -341,7 +449,7 @@ SimGrid (3.13) stable; urgency=low * refactoring and cleanup of the code; * ongoing process to cleanly separate the model-checking algorithms from the code model-checking support. - + -- Wed Apr 27 21:00:53 CEST 2016 Da SimGrid team SimGrid (3.12) stable; urgency=low