-SimGrid (3.9) NOT RELEASED; urgency=low
+SimGrid (3.13) UNRELEASED; urgency=low
+
+ -- $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 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 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.
+ 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.
+ * 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.
+ - 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
+ - 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
+ - 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 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
+ - [#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
+ - "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 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 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.
+
+ -- Mon Oct 12 06:02:41 CEST 2015 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.11) stable; urgency=low
+
+ The Class Release.
+
+ Tools:
+ * Normalizing pointers addresses tool for better diff between logs
+
+ Examples:
+ * Add cloud examples using new VMs
+ - examples/msg/cloud/two_tasks_vm.tesh
+ - examples/msg/cloud/simple_vm.tesh
+ - examples/java/cloud/cloud.tesh
+ - examples/java/cloud/migration/migration.tesh
+ * Add java surf examples:
+ - examples/java/surfPlugin/surf_plugin.tesh
+ - examples/java/reservationSurfPlugin/reservation_surf_plugin.tes
+ - examples/java/surfCpuModel/surf_cpu_model.tesh
+ * Add SMPI+MSG example:
+ - examples/smpi/smpi_msg_masterslave/
+
+ TeshSuite:
+ * Add tests:
+ - msg process test
+ - msg task destroy cancel test
+ - msg_host on/off test
+ * Move all tests in testsuite to teshsuite (adding tesh files)
+ * Restructure teshsuites
+ - one folder for each kind of test
+ * Restructure AddTests.cmake
+ - unify tests names
+ - structure the order of tests (with sections)
+
+ MSG:
+ * Add virtual machine
+ - creation of a VM on a PM
+ - migration of a VM from a PM to another PM
+ * New functions
+ - MSG_process_join(msg_process_t process, double timeout)
+ - msg_bar_t MSG_barrier_init(unsigned int count)
+ - int MSG_barrier_wait(msg_bar_t barrier)
+ - void MSG_barrier_destroy(msg_bar_t barrier)
+ - msg_as_t MSG_environment_as_get_by_name(const char * name)
+ * New option "msg/debug_multiple_use" to help debugging when a task is used
+ several times
+ * MSG IO
+ - Improvements and finalization of MSG_storage, MSG_file APIs and their
+ documentation
+ - Increase code coverage in test suites
+ - Bug fixes
+
+ SIMIX:
+ * Protect context stacks against stack overflow. The number of protected memory
+ pages allocated on the top of each stack (1 by default) can be configured
+ with the new command line option --cfg=contexts/guard_size:<value>.
+ * Simcalls are now generated by a python script that
+ - generates files included by SimGrid
+ - checks that all the functions exist, and proposes prototypes
+ * Clean simcalls
+ - remove sem_destroy, file_set_data, comm_destroy, vm_set_state,
+ host_set_data, host_get_data
+ * New simcalls
+ - simcall_process_join(smx_process_t process, double timeout)
+ * Fix bug where sleeping processing could not be suspended.
+
+ SURF:
+ * Translate surf models from C to C++
+ - Generic classes for all models: Model, Resource, Action
+ - A generic interface for each kind of model (CPU, Network, Storage
+ Workstation, WorkstationVM)
+ - C bindings
+ * Translate surf routings from C to C++
+ * Add callbacks using sigc++ or boost::signals2
+ - Add callback functions for resource creation/destruction
+ - Add callback functions for action state change
+ - Handle Energy as a plugin
+ * Replace swag by boost::intrusive
+ * Add new routing models for clusters. For documentation, see
+ http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html#pf_cluster
+ - tori, with topology="TORUS" and topo_parameters="ndim1,ndim2,...,ndimn"
+ parameters for cluster tag
+ - Fat trees, with topology="FAT_TREE" and
+ topo_parameters="h;m1,...,mh;w1,...,wh;p1,...,ph" parameters for cluster tag
+ - see examples/platforms/torus_cluster.xml and
+ examples/platforms/fat_tree_cluster.xml
+ * More documentation
+
+ SMPI:
+ * Hostfiles support host:nb_processes construct to deploy several processes on
+ one node.
+ * Collective communication algorithms should not crash if used with
+ improper number of nodes and report the error.
+ * SMPI now partially supports MPI_Topologies : MPI_Cart_create, MPI_Cart_shift,
+ MPI_Cart_rank, MPI_Cart_get, MPI_Cart_coords, MPI_Cartdim_get,
+ MPI_Dims_create, MPI_Cart_sub are supported.
+ * New interface to use SMPI programmatically (still depends on MSG for
+ some parts, see examples/smpi/smpi_msg_masterslave) :
+ - SMPI_app_instance_register(const char *name, xbt_main_func_t code,
+ int num_processes)
+ - SMPI_init()
+ - SMPI_finalize();
+ * Global variables privatization in MPI executables is now performed at runtime
+ with the option smpi/privatize_global_variables (default:no).
+ Limitations : Linux/BSD only, with mmap enabled. Global variables inside
+ dynamic libraries loaded by the application are not privatized (static
+ linking with these libraries is advised in this case)
+
+ Tracing:
+ * Options defined in XML work correctly now.
+
+ Java:
+ * New cmake option, enable_lib_in_jar, to control whether native libraries are
+ copied into simgrid.jar or not (ON by default). Use this option if you want
+ to reduce the size of the installed simgrid.jar, *and* the native libraries
+ are kept installed elsewhere.
+ * Surf binding with SWIG (code generated in maintainer mode only):
+ - plugin to handle callbacks
+ - CPU model only for the moment
+
+ Build System:
+ * Supernovae build mode is definitively removed. It was used to improve
+ inlining and inter-module optimizations. It is nowadays superseded by
+ link-time optimizations commonly available in compilers.
+ * Update ns-3 find lib. Bindings for ns-3 should work again now.
+ * Add boost dependency for surf++
+ * Add new macro for tests
+ - ADD_TESH(name <tesh_args>)
+ - ADD_TESH_FACTORIES(name "thread;ucontext;raw" <tesh_args>)
+
+ XBT:
+ * New functions
+ - xbt_bar_t XBT_barrier_init(unsigned int count)
+ - int XBT_barrier_wait(xbt_bar_t barrier)
+ - void XBT_barrier_destroy(xbt_bar_t barrier)
+ * Make the xbt_os_time module public
+
+ -- Sat May 31 22:39:38 CEST 2014 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.10) stable; urgency=low
+
+ The Clean Diaper Release, a.k.a. SimGrid is leak-free.
+
+ Java:
+ * Reintegrate Java to the main archive as desynchronizing these
+ package is not acceptable anymore (Java is now considered stable)
+ * Add explicit synchronization facilities through semaphores
+ * Bug fix: Task.setDataSize() only changed the C world, not the value
+ cached in the Java world
+
+ MSG:
+ * Dramatically change the way files are handled. API and internals changed, but
+ this part of MSG was not considered as production grade either.
+ * Add explicit synchronization facilities through semaphores
+ * Add a new function MSG_host_get_process_list()
+ * Preliminary DVFS support (see examples/msg/energy/ for details)
+
+ SMPI:
+ * SMPI is now included directly in the libsimgrid as the windows
+ linker doesn't force us on splitting it anymore.
+ * Improvements of the SMPI replay tool:
+ - Most of the collective communications are now rooted in the same process as
+ in the original application.
+ - Traces now rely on the same MPI data type as the application (MPI_BYTE was
+ used until now). Multiple data types can now be used in a trace.
+ - The replay tool now supports traces produce either by TAU or a modified
+ version of MPE.
+ - Bug Fix: the compute part of the reduce action is now taken into account.
+ - Gatherv collective is now supported
+ - SimGrid (SMPI for now) can generate replay traces as well. Option -trace-ti
+ of smpirun outputs time independent traces for the current run. One file
+ is created per process. If too many processes are simulated, this behavior
+ can be changed to one file for all processes by using the
+ tracing/smpi/format/ti_one_file flag
+ * smpirun generates the host file if needed (with given host count and platform)
+ * Integration of more than 100 STAR-MPI, MPICH, OpenMPI collective algorithms
+ - allows to select one in particular with --cfg=smpi/coll_name:algorithm
+ - allows to use the decision logic of OpenMPI(1.7) or MPICH(3.0.4) by setting
+ --cfg=smpi/coll_selector:(mpich/ompi)
+ * Support for new functions : MPI_Issend, MPI_Ssend, Commutative operations in
+ Reduce
+ * Add a --cfg:tracing/smpi/internals option, to trace internal communications
+ happening inside a collective SMPI call.
+ * Fix the behavior of complex data types handling.
+ * Make MPI_Wtime another synchronization point to take computations into
+ account.
+ * Replace MPICH-1 test suite by the one from MPICH 3.0.4. Can be built using
+ enable_smpi_MPICH3_testsuite flag in cmake. Run with ctest.
+ * Add all missing Fortran bindings, SMPI should work with Fortran 90
+ (no privatization of global variables yet)
+ * Preliminary DVFS support (see examples/smpi/energy/ for details)
+
+ Model-Checking;
+ * Verification of liveness properties is now available for SMPI applications
+ (in addition to MSG applications)
+ * Bugged examples using SMPI in examples/smpi/mc/
+ * Add --cfg=model-check/visited option. Allows the verification of infinite
+ programs. Detection of loops in the execution thanks to the system state
+ comparison and reduction of the state space to explore. Can be combined with
+ DPOR for safety properties.
+
+ SimDag:
+ * Allow to change SimGrid configuration (see --help) within the code
+ thanks to SD_config() as it can be done in MSG.
+ * Add a new function SD_task_set_amount() upon user request.
+
+ PLATFORM:
+ * Handle units for values (10ms, 10kiloflops, 10Bps, 1GB, ...)
+ * Remove rule based routing (no more PCRE dependency)
+ * Add a limiter_link option to cluster tag, to specify a maximum reachable
+ bandwidth in fullduplex mode when it is less than twice the nominal bandwidth.
+ * Add a loopback_bw and loopback_lat options to cluster tag.
+ * Fix the peer tag that could not be mixed with other AS within a Vivaldi
+ routing. Now peers are encapsulated in an AS and have their own private
+ router but this is transparent.
+
+ XBT:
+ * Our own implementation of getline is renamed xbt_getline, and gets
+ used even if the OS provide a getline(). This should reduce the
+ configuration complexity by using the same code on all platforms.
+ * New type: xbt_cfg_elm_boolean.
+ * Allow to use yes/no for boolean configuration options in the command line.
+ * Allow to disable SimGrid cleanups at exit from command line option.
+ There are situations where one may want a simulation to end with an exit.
+ Unfortunately, calling exit may cause SimGrid to segfault, which is quite
+ annoying when scripting around the simulator. Adding a
+ --cfg=clean_atexit:no allows to circumvent this issue.
+
+ Build System:
+ * Lots of memory leaks were corrected in this release.
+ There is no known memory leaks anymore, in all of our 600+ tests.
+ * New command line option --version, to get SimGrid version information.
+ Packagers may want to add extra words to SIMGRID_VERSION_EXTRA defined in
+ CMakeLists.txt.
+ * Supernovae builds are deprecated, and expected to be removed in the next
+ version of SimGrid.
+
+ -- Sun Nov 17 00:26:44 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.9) stable; urgency=low
The Grasgory release: GRAS is really dead now.
+ * Complete overhaul of the internal host structures scheme.
+
GRAS:
* If you use GRAS, you should stay at SimGrid 3.5 (at most) since it
was considered as experimental and badly maintained since then.
* For all these reasons, we killed GRAS. If someone wants to revive it
in the future, don't cry, our git history still remembers of GRAS.
+ Documentation:
+ * Major overhaul. Merge our documentation again as time proved that
+ splitting it was really not helping our users.
+ * Further improve the developer documentation to help newcomers
+ hacking on SimGrid itself. The user documentation (and in
+ particular, the beginner documentation) is still in a sorry state.
+
SMPI:
* Now works on Windows too!
* Much more extensive test suite, from MPICH
+ SIMDAG:
+ * Add a new loader (SD_PTG_dotload) that creates a parallel task graph
+ (i.e., a DAG whose nodes are parallel tasks) from a dot file. Creates a
+ dynar of SD_TASK_COMP_PAR_AMDAHL and SD_TASK_COMM_MXN_1D_BLOCK tasks.
+ * Bug fix: let task be scheduled when the last dependency to be solved is
+ a control dependency.
+ * Remove SD_load_environment_script function.
+ Use the C sg_platf function if you want to declare a platform
+ programmatically.
+
MSG:
* New function: MSG_process_get_number()
* Old function documented: MSG_config()
+ * Remove MSG_load_platform_script function
+ Use the C sg_platf function if you want to declare a platform
+ programmatically.
SURF:
* Change the default value of the TCP_gamma constant (maximal size of TCP
congestion window) to a more realistic 4MiB value. If you notice changes in
your simulation results, you can fall back to the previous 20k tiny window
by adding --cfg=network/TCP_gamma:20000 on command line.
- * Bug fix about the way periodic availability/state traces are handled.
- * Bug fix: use default values at start when first event in availability/state
+ * (Hopefully) fix a bug wrt periodic availability and state traces
+ * Bug fix: use default values at start when first event in availability/state
trace is not at time 0.
-
+
PLATFORM:
* remove the "new_" part of function name sg_platf_new_trace_connect
(resulting in sg_platf_trace_connect), since it does not create
XBT:
* Kill synchronized dynars, and xbt_dynar_dopar(). We cannot think of a
- usecase where it's really mandatory, and maintaining it was a pain in
- our codebase.
+ use case where it's really mandatory, and maintaining it was a pain in
+ our code base.
* New: xbt_fifo_search(), search an item with a user-provided
comparison function instead of dumb pointer comparison.
- -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ LUA:
+ * Fix the lua deployment:
+ Use `simgrid.init_application()` before deployment instead of
+ `simgrid.msg_register_application()` after.
+
+ TRACING:
+ * Transfer the tracing files into the corresponding modules.
+
+ -- Tue Feb 5 11:31:43 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.8.1) stable; urgency=low
* New option "enable_mallocators" to disable mallocators, for debugging
purpose ("on" by default).
- Simix:
+ SIMIX:
* Bug fixes around the resource failures: don't let the processes
survive the host they are running onto.
* Add an interface to auto-restart processes when the host in which they are
Turn model-checking OFF if simulation performance matters to you.
Not enabling it at runtime is not enough, disable it in cmake.
- -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.6.2) stable; urgency=low