X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3928c9b3860770cd5efbaa3515e9df6d09273e52..250c899f9b144be6fb7f79bad790f9819ff1d634:/ChangeLog diff --git a/ChangeLog b/ChangeLog index f704fe6277..12ba249ed4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,203 @@ -SimGrid (3.11) NOT RELEASED; urgency=low +SimGrid (3.12) NOT RELEASED; urgency=low + + cMSG: + * Interface improvement: + - Rename MSG_host_is_avail(h) to MSG_host_is_on(h) + jMSG: + * Interface improvement: + - Rename Host.isAvail() to Host.isOn() + + SIMIX: + * New functions + - SIMIX_process_throw: raises an exception in a remote process + * Refactoring: Separate submodules + - 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_*: the handling of each simcalls + * 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. + + 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 + - 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 + * 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 + SURF + * Bug fixes + - "Full" network optimization flag was broken since Surf++ + - Better handling of precision flags in maxmin + - Fix bug causing sometimes "Impossible" errors + 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]) - (to complete) -- $date Da SimGrid team -SimGrid (3.10-rc1) unstable; urgency=low +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:. + * 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 ) + - ADD_TESH_FACTORIES(name "thread;ucontext;raw" ) + + 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 (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 @@ -31,6 +224,12 @@ SimGrid (3.10-rc1) unstable; urgency=low - 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 @@ -41,11 +240,13 @@ SimGrid (3.10-rc1) unstable; 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 (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 @@ -84,13 +285,15 @@ SimGrid (3.10-rc1) unstable; urgency=low --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. --- Mon Oct 7 2013 Da SimGrid team + -- Sun Nov 17 00:26:44 CET 2013 Da SimGrid team SimGrid (3.9) stable; urgency=low @@ -166,7 +369,7 @@ SimGrid (3.9) stable; urgency=low TRACING: * Transfer the tracing files into the corresponding modules. - -- Tue Feb 5 11:31:43 CET 2013 Da SimGrid team + -- Tue Feb 5 11:31:43 CET 2013 Da SimGrid team SimGrid (3.8.1) stable; urgency=low @@ -213,7 +416,7 @@ SimGrid (3.8) 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 @@ -466,7 +669,7 @@ SimGrid (3.7) stable; urgency=low 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 + -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team SimGrid (3.6.2) stable; urgency=low