-SimGrid (3.11) NOT RELEASED; urgency=low
-
- TENTATIVE RELEASE GOALS for 3.11:
- * Switch to tesh.pl, and kill the now unused parts of xbt that seem fragile
- * Clean up CMake files (may need a full rewrite).
- Non exhaustive list of subgoals:
- - Use genuine cmake mechanisms and variables when available,
- instead of reinventing the wheel.
- - Correctly determine system and architecture (e.g. x32).
- - Correctly determine compiler type and version (e.g. clang).
- - Correctly set compiler flags according to compiler type and version.
- - Correctly set compiler flags for C++, Java, and Fortran compilers too.
- - Use git to generate the dist archive. Either use git-archive to
- generate the tarball, or keep using cmake -E tar, but use git-ls-files
- to get the list of files to pack.
+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
+ - 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
+ * 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])
+
+
+ -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.11) stable; urgency=low
The Class Release.
- 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:
* Add virtual machine
- creation of a VM on a PM
- migration of a VM from a PM to another PM
- * New function
+ * New functions
- MSG_process_join(msg_process_t process, double timeout)
- * New option "msg/debug_multiple_use" to help debuging when a task is used
+ - 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
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)
+ - 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 action state change
- Handle Energy as a plugin
* Replace swag by boost::intrusive
- * Add new routing model for torus clusters
+ * 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
+ * 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
+ Tracing:
+ * Options defined in XML work correctly now.
Java:
* New cmake option, enable_lib_in_jar, to control whether native libraries are
are kept installed elsewhere.
* Surf binding with SWIG (code generated in maintainer mode only):
- plugin to handle callbacks
- - cpu model only for the moment
+ - CPU model only for the moment
Build System:
* Supernovae build mode is definitively removed. It was used to improve
- ADD_TESH(name <tesh_args>)
- ADD_TESH_FACTORIES(name "thread;ucontext;raw" <tesh_args>)
- -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ 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
* 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