X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f06041cf2c450457a0b47a49b66b19cb9133c18e..a9c1799a01ac7a24338877a8e9d321450aa8f082:/ChangeLog diff --git a/ChangeLog b/ChangeLog index dc3e85d4e0..0de63f54c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,86 +1,118 @@ SimGrid (3.12) NOT RELEASED; urgency=low + 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. + * Tracing is now always enabled (no way to turn it out) + * Remove GTNetS. It was not working anyway. + * 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) -> 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. - Build System - * Tracing is now always enabled (no way to turn it out) - * 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 + - 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