Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix #257: Fix (ab)use of CMake install
[simgrid.git] / ChangeLog
index b6d0e20..5bcd912 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.18) NOT RELEASED YET (target: December 24 2017)
+SimGrid (3.19) NOT RELEASED YET (target: March 20 2018, 16:15:27 UTC)
+
+ MSG
+ - Fix MSG_task_get_remaining_work_ratio() to return 1.0 for tasks that have
+   not started.
+ - Remove parameter of MSG_process_killall().
+   Resetting the PID was bogus anyway (several actors could have the same PID).
+
+ Documentation
+ - Use a graphical TOC to make it easier to find the documentation you need
+ - Revamp the MSG tutorial
 
  S4U
+ - Execution->setHost() can be called after start() to migrate it.
+ - Comm::test_any() is now implemented.
+ - s4u::Actor now has onCreation() and onDestruction() signals.
+
+ XBT
+ - Remove XBT_LOG_CONNECT, it should be useless nowadays.
+
+ SimDag
+ - SD_task_dependency_add(): remove unused parameters 'name' and 'data'.
+
+ SMPI
+ - The privatization of global variables via mmap() is now significantly more
+   flexible and allows the use of daemons with SMPI and to add new processes
+   while the simulation is running. (Adding new SMPI instances after the
+   simulation has already started should also be technically doable now.)
+ - Removed index notion from SMPI -- no more "getPid() - 1"!
+   This also means that the trace files
+   now contain actors called rank-<PROCESS-ID>. These are NOT the real
+   ranks, because tracing several communicators right now is not supported.
+ - Because of this, smpi_process_index() has now been deprecated and will
+   be removed in 3.21
+
+ Fixed bugs:
+ - #245: migrating an actor does not migrate its execution
+ - #246: Modernize FindSimGrid.cmake
+ - #257: Fix (ab)use of CMake install
+
+ PLATFORM:
+ - Rename FULLDUPLEX into SPLITDUPLEX (old name still accepted)
+
+ TRACING
+ - Remove unused run-time parameter "tracing/onelink-only".
+
+ Fixed bugs:
+ - #254: Something seems wrong with s4u::Actor::kill(aid_t)
+
+SimGrid (3.18) Released December 24 2017
+
+ The "Ho Ho Ho! SimGrid 4 beta is coming to town" release.
+
+ MSG IS NOW DEPRECATED. Please use S4U for new projects.
+ - Support for MSG should not be removed from SimGrid before 2020,
+   but future evolutions will be limited to the integration of
+   user-provided patches.
+
+ S4U New features
+ - s4u::onDeadlock() signal, run before stopping the simulation.
+ - s4u::Exec: asynchronous executions (abstraction of background
+   threads)
+ - s4u::Host->getLoad() returns the achieved speed in flops/s
+
+ S4U API changes
  - Link::name() is deprecated and will be removed in v3.21, use
    Link::getCname() instead.
  - Mailbox::getName() changed to return a std::string, use
    Mailbox::getCname() instead to get a char*.
  - Storage::getName() changed to return a std::string, use
    Storage::getCname() instead to get a char*.
+ - s4u::allStorages() becomes s4u::getStorageList(whereTo)
+   to have both allocation and deallocation of the map in user space.
 
  MSG
- - Deprecate MSG_task_get_flops_amount(). Its semantic was weird:
-    before the start it returned the total amount of flops;
-    after it returned the ratio of remaining work. Split it:
-   MSG_task_get_initial_flops_amount() for first behavior
-   MSG_task_get_remaining_work_ratio() for the second one.
-   This fixes GitHub's #223 using PR #237. Thanks Michael Mercier.
+ - Forbid the use of MSG_task_get_flops_amount() on parallel tasks:
+   The amount of flops remaining to do is a vector, not a scalar.
+ - Introduce MSG_task_get_remaining_work_ratio(), which does what its
+   name implies on both sequential and parallel tasks.
+ - Both changes fix GitHub's #223 using PR #237 as a basis.
+   Thanks Michael Mercier.
+ - Most examples were converted to S4U and hidden elsewhere at tests.
+   Rationale: we still want MSG to work; we want newcomers to use S4U.
+
+ SURF
+ - LMM stuff moved to its own namespace: simgrid::kernel::lmm.
+ - Renamed LMM classes (e.g. s_lmm_system_t -> System).
+
+ SMPI
+ - Switch to the faster dlopen privatization mechanism by default
+ - Documentation improvments
+
+ Virtual Machines
+ - Live migration is getting moved to a plugin. Dirty page tracking is
+   the first part of this plugin. This imply that VM migration is now
+   only possible if one this function is called :
+    - C/MSG: MSG_vm_live_migration_plugin_init()
+    - C/C++: sg_vm_live_migration_plugin_init()
+    - Java:  Msg.liveMigrationInit()
+   For C and C++, "simgrid/plugins/live_migration.h" also has to be
+   included.
 
  XBT
  - Define class simgrid::xbt::Path to manage file names.
  - Removed unused functions:
    - xbt/file.h: xbt_basename(), xbt_dirname(), xbt_getline()
+   - xbt/graph.h: xbt_graph_edge_get_length(), xbt_graph_edge_set_length,
+       xbt_graph_export_graphviz()
    - xbt/str.h: xbt_str_join()
+ - Remove unused datatypes:
    - xbt/heap.h: use std::priority_queue or boost::heap instead
+   - xbt/swag.h: use boost::intrusive::list instead
 
  PLUGINS:
  - New link_energy plugin for the consumption of the links.
- - Most of the operations on files and storage contents have been
+ - All of the operations on files and storage contents have been
    packaged into a plugin (src/plugins/file_system). The current
-   public interface can be found in 
+   public interface can be found in
    include/simgrid/plugins/file_system.h
-   To use these functions you now have to initialize the plugin by 
-   calling MSG_storage_file_system_init() just after calling 
-   MSG_init() or sg_storage_file_system_init() just after creating 
+   To use these functions you now have to initialize the plugin by
+   calling MSG_storage_file_system_init() just after calling
+   MSG_init() or sg_storage_file_system_init() just after creating
    the Engine.
 
  XML
@@ -41,7 +129,15 @@ SimGrid (3.18) NOT RELEASED YET (target: December 24 2017)
  - Remove viva specific tracing as the tool is no longer maintained
 
  Fixed bugs:
- - #248: Kill of finished MSG processes leads to segfault
+ - #248: Kill of finished processes leads to segfault
+ - #240: xbt_cond_wait_timeout should gracefully return for C apps
+ - #239: please implement signal s4u::onDeadlock()
+ - #230: segfaults when exit() without run()
+ - #225: s4u::Actor::kill() doesn not really kill victims in a join()
+ - #223: MSG_task_get_flops_amount() not working with parallel tasks
+ - #222: Actor::kill() doesn't really kill and segfaults
+ - #221: odd LMM warning when killing an actor
+ - #120: Memory leak when the processes are forcefully killed
 
 SimGrid (3.17) Released October 8 2017
 
@@ -127,7 +223,7 @@ SimGrid (3.16) Released June 22. 2017.
     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.
+    now returns void.
 
  Virtual Machines
   - Allow multicore VMs, with the correct sharing (unless you overcommit)