+ MSG
+ - New: MSG_process_yield(). Stop and yield to other processes.
+ - 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()
+ to make room for the upcoming network energy plugin.
+ - Drop MSG_host_get_current_power_peak: duplicates MSG_host_get_speed
+
+ Java
+ - Ensure that an actor can kill itself with Process::exit()
+ - 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.
+ 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 number of arguments REMAINS UNCHANGED. It is then UNSAFE to test
+ 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.
+
+ S4U
+ - New callbacks:
+ - s4u::onPlatformCreated: right before the simulation starts
+ - s4u::onSimulationEnd: right after the main simulation loop
+ - s4u::onTimeAdvance: right after a clock change (time is discrete)
+ - s4u::Host::onSpeedChange: when the pstate is changed, or when an
+ event from the availability_file changes the avail speed.
+ - Links are now usable from s4u
+ - New: Engine::hostList() and Engine::hostCount(). Still clumsy.
+ - New: Actor::suspend(), Actor::resume(), and Actor::migrate(new_host)
+ - New examples: The conversion of MSG examples to S4U has begun
+ - Actors: create, kill, migration, and suspend
+ - Applications: master-worker and token-ring
+ - Action replay: communications and storage
+ - Drop Host::getPstateSpeedCurrent() which duplicates Host::speed()
+
+ SimDag
+ - Backwards Compatibility breaks
+ - 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
+ 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.
+ Macros ensure the backwards compatibility, but you should fix your code
+
+ SMPI
+ - 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.
+ 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
+ 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.
+ - Bugfix: smpirun was sometimes misusing hostfile when wrongly terminated
+ - Fortran: cleanups, fixes, support of user-added operations
+ - RMA: MPI_Accumulate are applied in correct order.
+ - RMA: MPI_Win_{complete/post} shouldn't miss messages anymore.
+ - Better support for MPI_IN_PLACE
+ - Support for MPI_Win attrs and keyvals.
+ - Support MPI_Comm_group_create, MPI_Type_size_x
+ - MPI ops should be properly applied to all allowed types
+ - Replace implementation of MPI_Bcast "scatter followed by rdb allgather"
+ algorithm by a non failing one from mpich.
+
+ XBT
+ - Kill the fifo data container: we don't use it anymore.
+
+ XML
+ - A <cluster> can now be created with different speed values to represent pstates.
+ see examples/platforms/energy_cluster.xml for an example.
+
+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.
+
+ - Revert a last minute change that broke on Mac OSX.
+ - Fix the changelog and NEWS files.
+ - Improve the documentation, in particular of the routing module.
+ - Integrate some patches flying around in Debian.
+
+SimGrid (3.14) Released December 24. 2016
+
+ Documentation
+ * The whole documentation was reworked and reorganized. There is
+ still much room for improvement here, but we're on it.
+
+ Infrastructure
+ * We now need python3 for our testing infrastructure.
+ * Model checking needs libevent
+
+ MC
+ * Now works on FreeBSD
+
+ 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
+ consecutive calls by using an adjustment file (see the documentation).
+
+ * Fixed computation of timings for MPI_Send, MPI_Recv & possibly also others
+ We've found a bug that prevented SMPI to account for MPI_Send, MPI_Recv
+ and others (in some cases) in a correct way. That is, the smpi/os, smpi/or
+ values were ignored in some cases. The timings of these functions can now
+ be significantly different.
+
+ * 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
+ make simulation less precise (but also much faster).
+
+ * smpirun script should be (much) faster for large deployments.
+
+ * SMPI tracing : fixed issue with poor matching of send/receives.
+
+ * Replay : Fix broken waitall
+
+ New functions and features
+ * MSG_parallel_task_execute_with_timeout, to timeout computations.
+
+ Dropped / renamed functions and features
+ * msg_mailbox_t and associated functions. Use s4u::Mailbox instead.
+ - MSG_mailbox_is_empty() -> Mailbox::empty()
+ - MSG_mailbox_front() -> Mailbox::front()
+ - MSG_mailbox_get_by_alias() -> simgrid::s4u::Mailbox::byName(name)
+ - MSG_mailbox_get_task_ext() -> MSG_task_receive_ext()
+ - MSG_mailbox_get_task_ext_bounded -> MSG_task_receive_ext_bounded
+ - MSG_host_(get/set)_params -> MSG_vm_(get/set)_params
+ * Don't pass the free_f parameter to property related functions:
+ - MSG_host_set_property_value()
+ - MSG_as_router_set_property_value()
+ - MSG_storage_set_property_value()
+ * VM properties. Since msg_vm_t are msg_host_t, just use
+ MSG_host_get_property_value() and friends
+ * 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_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.
+ Please switch to xbt_dict_new_homogeneous() before this is removed
+ for real.
+ * Task affinity. Its intended behavior (that was very badly tested
+ and probably not really working) was deceiving what most users
+ 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:
+ * Added option storage/max_file_descriptors to allow more than 1024 files opened
+
+ SURF:
+ * Added option maxmin/concurrency_limit to allow more than 100 processes per host
+ * Added Dragonfly topology support
+
+ XML:
+ * Add Exa- and Peta- units such as EiB, EB, Eib, Eb for size, and
+ 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
+ of processes. This also helps for SMPI.
+
+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,
+ 59 klines of C, etc. We added only 29 klines of C++ in replacement.
+
+ * Backwards Compatibility breaks