SimGrid (3.18) NOT RELEASED YET (target: December 24 2017)
- S4U
- - Link::name() is deprecated and will be removed in v3.21, use instead
- Link::getCname().
- - Mailbox::getName() changed to return a std::string, use instead
- Mailbox::getCname() to get a char*.
- - Storage::getName() changed to return a std::string, use intead
- Storage::getCname() to get a char*.
+ 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.
+
+ SURF
+ - LMM stuff moved to its own namespace: simgrid::kernel::lmm.
+ - Renamed LMM classes (e.g. s_lmm_system_t -> System).
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.
+ - 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
+ 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
+ the Engine.
XML
- Remove the undocumented/untested tag <include>
- 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
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)