Home My Page Projects SimGrid
Summary Activity Forums Tracker Lists Docs News SCM Files

Project Filelist for SimGrid

File Release Notes and Changelog

Release Name: 3.16

Release Notes
The Blooming Spring Release: developments are budding.

 * S4U: Progress; Activity refcounting is now automatic.
 * XML: <AS> can now be named <zone> as they should.
 * SMPI: Further performance improvements; RMA support.
 * Cloud: Multi-core VMs (do not overcommit them yet)
 * (+ bug fixes, cleanups and documentation improvements)
Change Log
 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.

  - 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.

  - 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.

  - The netzone are now available from the MSG API.
    The old names still work, but are now deprecated.

  - 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

  - 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.

  - 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.