X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/43eb1a6bb8ff6c4e6d2a98c34dd28402c1e0a372..0a10d4c0e00009f7ec443c589eabc823fcce02e5:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 181642a48c..b1d47060a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,171 @@ -SimGrid (3.11) NOT RELEASED; urgency=low +SimGrid (3.13) UNRELEASED; urgency=low + + The Easter Trim Release. + + S4U + * s4u::Host is now the prefered 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. They were deprecated since a few + releases anyway, and probably did not even compile anymore. + + 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. + + MC + * BC breaks: + - The option "model-check/sparse-checkpoint" was renamed to + "model-check/sparse_checkpoint" as we attempt to unify our naming + schemes. + + Surf + * Reorganizing and cleaning the internals all around the place. + + SMPI + * BC breaks: + - The option smpi/async_small_thres was renamed to smpi/async_small_thresh + as we attempt to unify our naming schemes -> smpi/send_is_detached_thresh + * Remove old default barrier/bcast buggy algorithms (see #18407) + * Various bugfixes 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. + + JAVA: + * Remove the ability to write internal plugins in Java. + It may be reintroduced once the ongoing cleanup is done. + + -- $date Da SimGrid team + +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 (3.11) stable; urgency=low The Class Release. @@ -42,6 +209,11 @@ SimGrid (3.11) NOT RELEASED; urgency=low - 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 @@ -69,10 +241,14 @@ SimGrid (3.11) NOT RELEASED; urgency=low - Add callback functions for action state change - Handle Energy as a plugin * Replace swag by boost::intrusive - * Add new routing model for torus clusters - - topology="TORUS" and topo_parameters="ndim1,ndim2,...,ndimn" parameters - for cluster tag - - see examples/platforms/torus_cluster.xml + * 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: @@ -81,18 +257,18 @@ SimGrid (3.11) NOT RELEASED; urgency=low * 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_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, + - 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 + 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: @@ -124,7 +300,7 @@ SimGrid (3.11) NOT RELEASED; urgency=low - void XBT_barrier_destroy(xbt_bar_t barrier) * Make the xbt_os_time module public - -- $date Da SimGrid team + -- Sat May 31 22:39:38 CEST 2014 Da SimGrid team SimGrid (3.10) stable; urgency=low @@ -171,7 +347,8 @@ SimGrid (3.10) stable; urgency=low * 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. + * 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