Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update storage_basic tesh file
[simgrid.git] / ChangeLog
index 70c634d..5abdda7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.9) NOT RELEASED; urgency=low
+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.
+
+ 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
+
+ MSG:
+ * Add virtual machine
+   - creation of a VM on a PM
+   - migration of a VM from a PM to another PM
+
+ 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
+
+ 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 model for torus clusters
+ * 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.
+
+ 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.
+
+ 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++
+
+ -- $date 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.7 or something since
-   it was not really maintained with the latest versions of SimGrid as
-   nobody stepped in to take the maintainership over.
+ * If you use GRAS, you should stay at SimGrid 3.5 (at most) since it
+   was considered as experimental and badly maintained since then.
  * Keeping it was thus a trap to our potential users, that could take
-   it instead of MSG or SMPI by mistake. GRAS also induces a lot of XBT
-   code (for portability sake), that must be maintained too.
+   it instead of MSG or SMPI by mistake despite is pity state.
+ * GRAS seems to have very few users (if any), and no one volunteered
+   to maintain it further. It also induces a lot of XBT code (for
+   portability sake), that must be maintained too.
  * 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.
+ * (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
+   anything new
 
  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
 
@@ -73,7 +298,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
@@ -326,7 +551,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 <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