-SimGrid (3.12) NOT RELEASED; urgency=low
+SimGrid (3.13) UNRELEASED; urgency=low
+
+ The Easter Trim Release.
+
+ Backwards Compatibility breaks
+ - Some command line options were renamed for consistency sake:
+ - model-check/sparse-checkpoint -> model-check/sparse_checkpoint
+ - smpi/async_small_thres -> smpi/async_small_thresh
+ - smpi/send_is_detached_thres -> smpi/send_is_detached_thresh
+
+ - Removed Lua simulation bindings (switch to C or Java for that).
+ Lua can still be used to describe platforms
+ - Removed Java kernel plug-ins.
+ Will be reintroduced after the ongoing major internals reorg.
+ - In SimDag
+ - the SD_application_reinit function was removed. It was a noop for a while.
+ - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be
+ replaced by a more flexible mechanism.
+ - The following functions thus do not exist anymore
+ - SD_workstation_get_access_mode
+ - SD_workstation_set_access_mode
+ - SD_workstation_get_current_task
+ - Basic estimation functions have been removed but can easily be replaced
+ - SD_route_get_communication_time => SG_route_get_latency() + amount / SD_route_get_bandwidth()
+ - SD_workstation_get_computation_time => amount / sg_host_speed()
+ - In Java
+ - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics. Use VM.getSpeed()*load/100 for the legacy behavior.
+ - In CMake
+ - option enable_tracing was removed. It was not doing anything since a while.
+
+ XML platforms:
+ * Switch to platform v4 format.
+ - Rename from 'power' to 'speed' the attributes describing the amount of
+ flops that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
+ - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
+ - In <host> and <link>, attributes availability and state are gone.
+ It was redundent with state and availability traces, and with peak values.
+ - Kill <gpu>. Was not doing anything.
+ - The DOCTYPE points to the right URL:
+ http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
+ (the file at this address now documents the changelog since its v1)
+ - A warning is emitted for unit-less values (they are still accepted).
+ - speed. Default: 'f' or 'flops'. Also defined:
+ 'Yf', 'Zf', 'Ef', 'Pf', 'Tf', 'Gf', 'Mf', 'kf'
+ 'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
+ - bandwidth. Default: 'Bps' bytes per second (or 'bps' for bits but 1 Bps = 8 bps)
+ Also defined in bytes: 'TiBps', 'GiBps', 'MiBps', 'KiBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
+ And the same in bits: 'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
+ - latency. Default: 's' second. Also defined:
+ 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
+
+ * bin/simgrid_update_xml can upgrade your files automatically (won't convert unit-less values)
+ tools/sg_xml_unit_converter.py may help (but it's just a warning and will probably ever be).
+
+ S4U
+ * s4u::Host is now the preferred public interface to the Host features.
+ sg_host_* functions are C bindings to the exact same behavior
+ MSG_host_* and SD_workstation_* are #define to the sg_host_* ones
+
+ MSG
+ * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED).
+ They were deprecated since a few years, and probably did not even compile anymore.
+
+ SimDag
+ * The API has been profoundly modified to directly use the core objects instead of redefining its own.
+ SD_Workstation_t and SD_link_t are now sg_host_t and sg_link_t respectively.
+ Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are
+ encouraged to update their codes. A list of the modified functions can be found at the end of
+ include/simgrid/simdag.h
+
+ Simix
+ * simgrid::simix::kernel() is the closure callback. It ensures that
+ the lambda or closure passed as a parameter will run in kernel mode.
+ Every callbacks should be rewritten to that interface at some point.
+
+ Surf
+ * Reorganizing and cleaning the internals all around the place.
+
+ SMPI
+ * Remove old default barrier/bcast buggy algorithms (see #18407)
+ * Various bug fixes to handle more codes
+
+ XBT
+ * Kill the setset data container: MC don't use it anymore.
+ * Kill the queue data container: it made more sense with GRAS.
+ * Kill the xbt_peer_t data type: it's useless without GRAS.
+ * Kill rm_cb feature of config sets: it was never useful.
+ * Kill graphxml parsing feature. It was not used.
+ * Kill the deprecated code protected by XBT_USE_DEPRECATED
+ * New functions:
+ - xbt_dynar_sort_strings(), when the content is char*
+ - xbt_str_parse_int / xbt_str_parse_double, wrapping strtol/strtod
+ They throw exceptions on invalid input.
+
+ -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.12) stable; urgency=low
+
+ The Facelift Release.
+
+ Build System
+ * Require g++ v4.7 at least to not speak prehistorical C++.
+ * Require Boost 1.48 (for signal2 component).
+ * Java must be version 7 at least when activated.
+ * Builds on Windows again (including Java bindings).
+ * Tracing is now always enabled (no way to turn it out)
+ * Remove GTNetS. It was not working anyway.
+ * Various cleanups in the cmake scripts.
+ * Move headers around to sort them out on installed systems:
+ - instr/instr.h -> simgrid/instr.h
+ - instr/jedule/* -> simgrid/jedule
+ - simdag/datatypes.h was removed
+ - simdag/simdag.h -> simgrid/simdag.h
+ - msg/datatypes.h was removed
+ - msg/msg.h -> simgrid/msg.h
cMSG:
* Interface improvement:
- Rename MSG_host_is_avail(h) to MSG_host_is_on(h)
+ - Sanitize the interface in MSG_task_ module:
+ - Merge two functions that were close enough but misleading:
+ set_compute_duration(t) -> set_flops_amount(t)
+ get_remaining_computation(t) -> get_flops_amount(t)
+ - set_data_size(t) -> set_bytes_amount(t)
+ get_data_size(t) -> get_bytes_amount(t)
- Massive cleanups in the functions related to the energy
+ - MSG_host_get_pstate_number() -> MSG_host_get_nb_pstates()
+ - New: MSG_host_get_pstate()
+ * New example:
+ - msg/energy/onoff: switching hosts on and off
jMSG:
* Interface improvement:
- Rename Host.isAvail() to Host.isOn()
-
+ - Rename Process.currentProcess() to Process.getCurrentProcess()
+ - Rename Task.setDataSize() to Task.setBytesAmount()
+ - Merge Task.getRemainingDuration() and Task.getComputeDuration() into Task.getFlopsAmount()
+ * Bug fixes:
+ - #18874: Actually allows the GC to reclaim tasks
+
SIMIX:
* New functions
- SIMIX_process_throw: raises an exception in a remote process
- * Refactoring: Separate submodules
+ * Refactoring: Separate sub-modules
- libsmx: the public interface, as libc in a real system
- popping: the strange dance that converts a user request into a kernel handling
- - smx_context_*: the virtualization mechanisms that embeed the user code
+ - smx_context_*: the virtualization mechanisms that embed the user code
- smx_*: the handling of each simcalls
+ * Interface cleanup:
+ - simcall_host_set_power_peak_at -> simcall_host_set_pstate
* Rename smx_action_t into smx_synchro_t, making explicit that these
- things are used to synchronize processes with their environment.
+ things are used to synchronize processes with their environment.
For example, a communication is a sort of synchronization involving
the communicating processes (that may block until the exchange) and
the platform. The same can be said from computations, etc.
-
- SMPI:
+ * Bug fixes:
+ - #18888: segfault when a process ends before its kill_time
+
+ SMPI:
* New functions
- - Onesided early support for : MPI_Win_(create, free, fence, get_name, set_name, get_group), MPI_Get, MPI_Put, MPI_Accumulate, MPI_Alloc_mem, MPI_Free_mem.
+ - Onesided early support for : MPI_Win_(create, free, fence, get_name, set_name, get_group), MPI_Get, MPI_Put, MPI_Accumulate, MPI_Alloc_mem, MPI_Free_mem.
- MPI_Keyval*, MPI_Attr* functions, as well as MPI_Comm_attr*, MPI_Type_attr* variants (C only, no Fortran support yet)
- MPI_Type_set_name, MPI_Type_get_name
- MPI_*_c2f and MPI_*_f2c functions
- MPI_Info_* functions (beware, get_nthkey may not follow the insertion order)
- MPI_Pack, MPI_Unpack and MPI_Pack_size functions
- Activate a lot of new tests from the mpich 3 testsuite
- * Features
+ * Features
- Constant times can be injected inside MPI_Wtime and MPI_Test through options smpi/wtime and smpi/test
- - InfiniBand network model added : Based on the works of Jerome Vienne (http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf )
+ - InfiniBand network model added : Based on the works of Jerome Vienne
+ http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf
- When smpi/display_timing is set, also display global simulation time and application times
- Have smpirun, smpicc and friends display the simgrid git hash version on --git-version
* Collective communications
- SMP-aware algorithms are now dynamically handled. An internal communicator is created for each node, and an external one to handle communications between "leaders" of each node
- MVAPICH2 (1.9) collective algorithms selector : normal and SMP algorithms are handled, and selection logic is based on the one used on TACC's Stampede cluster (https://www.tacc.utexas.edu/stampede/).
- Support for Rabenseifner Reduce/Allreduce algorithms (https://fs.hlrs.de/projects/par/mpi//myreduce.html)
- * Replay
+ * Replay
- Replay now uses algorithms from wanted collective selector
- Replay can be used with SMP-aware algorithms
- Memory occupation of replay should now be contained (temporary buffers allocated in collective algorithms should be shared between processes)
- Replay can now replay several traces at the same time (check examples/smpi/replay_multiple example), to simulate interactions between several applications on a given platform. User can specify the start time of each instance. This should also allow replay + actual applications to run.
- * Bug fixes
+ * Bug fixes
- [#17799] : have mpi_group_range_incl and mpi_group_range_excl better test some corner cases
- Correctly use loopback on fat-tree clusters
- Asynchronous small messages shouldn't trigger deadlocks anymore
+ * Energy/DVFS cleanup and improvement
+ - smpi_set_host_power_peak_at() -> smpi_set_host_pstate()
+ - new: smpi_get_host_pstate()
SURF
- * Bug fixes
+ * Bug fixes
- "Full" network optimization flag was broken since Surf++
- Better handling of precision flags in maxmin
- Fix bug causing sometimes "Impossible" errors
- Properly pass cluster properties to included hosts
* Improvement of the Energy plugin.
- Always update the consumption before returning that value
- - New property: watt_off to denote the disipation when the host is off
+ - New property: watt_off to denote the dissipation when the host is off
+ - New functions getWattMinAt and getWattMaxAt to retrieve the
+ dissipation of pstates that we are not currently at.
+ * Java: class NetworkLink renamed to Link
+ * New function: simcall_process_get_kill_time()
+ * Massive rename s/workstation/host/
+ - That's intrusive, but that's good for the project consistency. Sorry.
+ - Change config option "workstation/model" into "host/model"
XBT
* New functions
- - Add a xbt_heap_update function, to avoid costly xbt_heap_remove+xbt_heap_insert use
+ - Add a xbt_heap_update function, to avoid costly xbt_heap_remove+xbt_heap_insert use
- Add a xbt wrapper for simcall_mutex_trylock (asked in [#17878])
- Add two new log appenders : rollfile and splitfile. Patch by Fabien Chaix.
+ - xbt_dirname and xbt_basename for non-POSIX systems
+ MC
+ * The model checker now runs as a separate process.
+ * The model checker runs must now be launched with the new simgrid-mc program.
+ * Record/Replay: the MC can display a textual representation of a path in the
+ execution graph. It can then be replayed outside of the model checker.
-
- -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Mon Oct 12 06:02:41 CEST 2015 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.11) stable; urgency=low
-- Thu Oct 25 17:30:06 CEST 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+SimGrid-java (3.8.1) stable; urgency=low
+
+ * New module: org.simgrid.trace.Trace (SimGrid trace bindings)
+ Warning: all methods are visible, but only some of them are
+ implemented so far. Check the source (src/jtrace.c)
+ for further information.
+ * New module: org.simgrid.msg.File (SimGrid File management functions)
+ * New Module: org.simgrid.msg.VM (SimGrid interface to mimick IAAS clouds)
+ * Change the meaning of Process.restart: now restart the process from
+ the begining, like MSG_process_restart in C.
+ * Add Process.setAutoRestart: handling of process restart when failed
+ host comes back.
+ * Add Process.getProperty, Host.getProperty, Host.getProperty: allows
+ you to retrieve the properties of the processes/hosts
+ * Deprecate Msg.clean(): you can just forget about it now.
+ * New function Process.getCount(), that only works when compiling
+ with the not yet released version 3.9 of the C library.
+
+ * New context factory based on Coroutines. It mandates a modified JVM
+ but then, the simulations run about five times faster, and there is
+ no limit to the amount of processes (beside of the available memory).
+
+ -- 2012-12-04 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
SimGrid (3.7.1) stable; urgency=low
MSG:
-- Thu Jun 7 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid-java (3.7.1) stable; urgency=low
+
+ The "Java aint got to be bloated and slow" release
+
+ Major cleanups:
+ * Various internal cleanups and performance improvement
+ Simulations are expected to run up to twice faster or so
+ * Make Process.kill(process) an instance method, not a static one
+ * User processes are not java.lang.Thread subclasses.
+ This breaks the compatibility (sorry), but previous API was
+ brain-dead, making it impossible to have non-trivial
+ initializations in the process constructor.
+ * Require a full constructor per Process sub-class.
+ Kinda breaks the compatibility (sorry), but this allows a much more
+ efficient way to launch the processes at simulation startup.
+ * Do not embeed our version of semaphores, java 1.5 can be considered
+ as sufficiently prevalent for us to not dupplicate its features.
+ * Lot of bug fixes
+
+ Extend the API:
+ * Add examples for almost every part of the API
+ We spotted and fixed a lot of bugs in the process
+
+ * New module: asynchronous communication API
+ * New function: Process.sleep()
+ It takes milliseconds as argument, just as java.lang.Thread.sleep()
+ * New module: org.simgrid.msg.Mutex (SimGrid mutexes)
+ * New module: org.simgrid.msg.RngStream (RngStreams random generators)
+
+ -- 2012-06-12 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
SimGrid (3.7) stable; urgency=low
The "spring cleanups (before the next Big Project kicks in)" release.
-- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
SimGrid (3.6.2) stable; urgency=low
The "Not coding new stuff allows to polish old things" release.
-- Mon Jun 27 13:59:03 CEST 2011 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+SimGrid-java (3.6) unstable; urgency=low
+
+ * Initial release.
+ * Split of every thing from simgrid v3.5 into a separate package.
+
+ -- 2011-10-05 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
SimGrid (3.6) stable; urgency=medium
The Summer Release, also known as the "OMG! They Killed Kenny!" version