SimGrid (3.18) NOT RELEASED YET (target: December 24 2017)
- S4U
+ 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*.
- - simgrid::s4u::allStorages() becomes
- simgrid::s4u::getStorageList(whereTo) to have both allocation
- and deallocation of the map in user space.
+ - 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.
SURF
- LMM stuff moved to its own namespace: simgrid::kernel::lmm.
- Renamed LMM classes (e.g. s_lmm_system_t -> System).
+ 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:
Fixed bugs:
- #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