Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
let the actor clean for itself
[simgrid.git] / ChangeLog
index f53f1af..28d9dd1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.21) NOT RELEASED (Release Target: September 23. 2018, 1:54 UTC)
+SimGrid (3.22) NOT RELEASED (Release Target: December 21. 2018, 22:23 UTC)
+
+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.
+
+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.
+ - Bump cmake dependency to 3.5 (provided by Ubuntu 16.04).
+ - Stop setting random seed with srand() at initialization.
+
+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.
+
+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 cunit, use Catch2 instead.
+
+XML
+ - In <host> and <peer>, availability_file is now speed_file.
+   XML file version remains 4.2 since old files are still compatible.
+
+Internal:
+ - 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
+ - #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
+ - #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
 
 ----------------------------------------------------------------------------
 
@@ -597,7 +721,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
@@ -691,7 +815,7 @@ SimGrid (3.13) stable; urgency=low
      flops that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
    - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
    - In <host> and <link>, 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 <cluster>, attributes availability_file and state_file are gone.
      It was too complex and unused.
    - Kill <gpu>. Was not doing anything.