Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
document last changes
[simgrid.git] / ChangeLog
index 2685565..9f70fdb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.14) UNRELEASED; urgency=low
+SimGrid (3.17) UNRELEASED (release target: September 22 2017)
+
+ S4U
+  - Comm.detach(): start and forget about asynchronous emission
+  - this_actor::send(mailbox) is now mailbox->put()
+
+SimGrid (3.16) Released June 22. 2017.
+
+ The Blooming Spring Release: developments are budding.
+
+ Portability status:
+  - FreeBSD: Disable SMPI mmap privatization, switch automatically to dlopen.
+  - Mac, BSD: dlopen+thread broken, switch automatically to raw contexts.
+  - Java JAR file should be finally fully working on Mac OSX too.
+
+ XML platforms: Switch to platform v4.1 format.
+ * This is (mainly) a backward compatible change: v4 are valid v4.1 files
+   - <zone> can be used as a synonym for the now deprecated <as>
+   - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
+   - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
+   - <actor> can be used as a synonym for the now deprecated <process>
+   - state_file and avail_file periodicity is now easier to express
+     (check the documentation) the old behavior should still work.
+ * Storage: not backward compatible, but it seems that nobody ever used it
+   - Remove attribute 'content_type' of <storage_type>: was never used
+   - Make attribute 'model' of <storage_type> optional: for future usage
+   - Remove Bconnection model property: was never (in)validated. Replaced by
+      the maximum of the read and write bandwidth as a resource constraint.
+
+ SimDag
+  - New and Backwards Compatibility break:
+    SD_simulate_with_update (double how_long, xbt_dynar_t changed_tasks_dynar)
+    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.
+
+ Virtual Machines
+  - Allow multicore VMs, with the correct sharing (unless you overcommit)
+    BUG: vCPU overcommitting still leads to buggy sharing, though. WIP.
+
+ Energy
+  - New function to update the consumption of all hosts at once.
+  - Fix the model for multi-core hosts, linear in the amount of busy
+    cores with an abnormality for pIdle (see paper).
+    BUG: Still not satisfactory for ptask on mono-cores.
+
+ MSG
+  - The netzone are now available from the MSG API.
+    The old names still work, but are now deprecated.
+
+ SMPI
+  - New algorithm to privatize globals: dlopen, with dynamic loading tricks
+  - New option: smpi/keep-temps to not cleanup temp files
+  - New option : smpi/shared-malloc-blocksize . Relevant only when global shared 
+    mallocs mode is used, allows to change the size of the fake file used
+    (default 1MB), to potentially limit the number of mappings for large runs.
+  - Support for sparse privatized malloc with SMPI_PARTIAL_SHARED_MALLOC()
+  - Fortran ifort and flang compilers support
+  - New RMA calls supported (experimental) :
+      - MPI_Win_allocate, MPI_Win_create_dynamic, MPI_Win_attach
+      - MPI_Win_detach, MPI_Win_set_info, MPI_Win_get_info
+      - MPI_Win_lock_all, MPI_Win_unlock_all, MPI_Win_flush
+      - MPI_Win_flush_local, MPI_Win_flush_all, MPI_Win_flush_local_all
+      - MPI_Op_commutative, MPI_Fetch_and_Op, MPI_Compare_and_swap
+      - MPI_Rput, MPI_Rget, MPI_Raccumulate, MPI_Rget_accumulate
+
+ S4U
+  - New: this_actor::isMaestro() returns whether we are in kernel mode.
+  - Behind the scene, ActivityImpl are now automatically refcounted.
+    Removing this nasty bottleneck will greatly simplify our internals.
+
+ XBT
+  - Replay: New function xbt_replay_action_get():
+    Retrieve the function previously associated to an event type.
+  - DROPPED FUNCTION: xbt_str_varsubst()
+  - DROPPED MODULE: strbuff. We don't need it anymore.
+  - DROPPED MODULE: matrix. We don't need it anymore.
+  - DROPPED MODULE: lib. We don't need it anymore.
+
+ -- Thu Jun 22 22:48:12 CEST 2017   -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.15) Released March 22. 2017
+
+ The Spring Release: continuous integration servers become green
+ We fixed even the transient bugs on all target architectures:
+   Linux (CentOS, Debian, Ubuntu, Fedora), Mac OSX (Mavericks, El Capitan)
+   Windows, FreeBSD, NetBSD.
+
+ - Rename NetCards to NetPoints.
+   This was intended to help NS3 users, but that's not a netcard.
+   That's a point in the routing algorithm, let's avoid wrong simplifications.
+
+ 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 many room for improvement here, but we're on it.
+   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.
 
@@ -25,16 +212,56 @@ SimGrid (3.14) UNRELEASED; urgency=low
  * smpi/cpu-threshold:-1 should become smpi/simulate-computation:no
    smpi/running-power    is renamed to smpi/host-speed
 
- Dropped functions and features
+ * 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. 
+   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
@@ -46,7 +273,9 @@ SimGrid (3.14) UNRELEASED; urgency=low
  * ex/app_tokenring: new example, very similar to the MSG Token Ring
  * ex/async_waitAll: new example, on asynchronous communications
 
- -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ 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