Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Tesh files for 32 bits arch.
[simgrid.git] / ChangeLog
index 3a10c54..f06b233 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,19 @@
-SimGrid (3.3.5-svn) unstable; urgency=low
+SimGrid (3.4-svn) unstable; urgency=low
 
 
- The "C spoken, se habla Java, Ruby 話せます, fala-se Lua" release.
+ The "Easter in Cargese" release. Also known as (major changes):
+  * the "se habla Java, Ruby 話せます, fala-se Lua (and deaf-friendly)"
+    ~> bindings were greatly improved
+    ~> new tracing infrastructure for better visualization introduced
+    
+  * the "Welcome to configury modernity" release.
+    ~> we switched from autotools to cmake, and improved our cdash
+
+
+ A more detailled list of changes follow (full detail in svn log).
 
  Java Bindings: Various Cleanups
 
  Java Bindings: Various Cleanups
+  * (install java-gcj-compat-dev on debian-like to use them)
   * Remove put/get: no need to export deprecated interface in Java
     Use send/receive instead.
   * Cleanup the examples and add a README per directory
   * Remove put/get: no need to export deprecated interface in Java
     Use send/receive instead.
   * Cleanup the examples and add a README per directory
@@ -13,7 +24,10 @@ SimGrid (3.3.5-svn) unstable; urgency=low
     nobody will ever want to survive such error.
   * Create specific errors for each MSG case of failure:
     host failure, transfer failure, timeout, task cancelled
     nobody will ever want to survive such error.
   * Create specific errors for each MSG case of failure:
     host failure, transfer failure, timeout, task cancelled
+  * Cleanup the exceptions that may get thrown by each function
+  * Other internal cleanups in Java bindings. Performance still bad :/
  Ruby and Lua Bindings: create them
  Ruby and Lua Bindings: create them
+  * (install ruby1.8-dev/liblua5.1-0-dev on debian-like to use them)
   * That's new and great, you should try them out. 
     Same functionalities than Java bindings, only even less polished
  SimDag:
   * That's new and great, you should try them out. 
     Same functionalities than Java bindings, only even less polished
  SimDag:
@@ -22,19 +36,71 @@ SimGrid (3.3.5-svn) unstable; urgency=low
     semantic of a possible use wasn't even clear.
   * SD_SCHED_NO_COST: Constant to use as cost in SD_task_schedule()
     either as comm costs or compute costs to mean that there is no
     semantic of a possible use wasn't even clear.
   * SD_SCHED_NO_COST: Constant to use as cost in SD_task_schedule()
     either as comm costs or compute costs to mean that there is no
-    such thing for that specific task. 
+    such thing for that specific task.
+  * Add a SD_task_set_name() function
+  * Fix SD_task_unschedule() on typed tasks
+  * Fix SD_task_get_execution_time() to return seconds, not flop*sec
+  * In DAX loader, accept useless 'level' attributes to <job> since
+    LIGO DAGs have them (seem to be to ease graphical representation).
  MSG: 
  MSG: 
-  * In trace replay, allow to have one trace file per process.
-    Give the specific trace file as argument of each process, 
-      and call MSG_action_trace_run(NULL)
-    You can still have one merged file for each processes.
+  * Add an example masterslave_mailbox.c using send/receive and not
+    the deprecated put/get interface.
   * Kill the MSG_paje_output() function. It's a noop since 2 years.
   * Kill MSG_WARNING and MSG_FATAL return codes: they were not used
     anywere in source.
   * Kill the MSG_paje_output() function. It's a noop since 2 years.
   * Kill MSG_WARNING and MSG_FATAL return codes: they were not used
     anywere in source.
+  * Rename MSG_TIMEOUT_FAILURE into MSG_TIMEOUT for sake of logic
+    (declare MSG_USE_DEPRECATED to still have the old name)
   * Add a MSG_task_set_data() function
   * Add a MSG_task_set_data() function
+  * About trace replay (see examples/msg/actions):
+    - implement barrier
+    - Allow to work with splitted trace files for each process
+      Give the specific trace file as argument of each process, 
+        and call MSG_action_trace_run(NULL)
+      You can still have one merged file for all processes.
+    - Fix implementation of collective operations
+ SMPI:
+  * This is the first release of SimGrid where SMPI is not considered
+    beta anymore (even if some corners should still be improved)
+  * Port over the new SIMIX_network submodule (internal refactoring)
+  * Basic support to log events as with SMPE (use --cfg=SMPE:1)
+  * Implement more missing elements of the standard:
+    - MPI_COMM_SELF 
+    - MPI_MAXLOC MPI_MINLOC + all associated datatype MPI_DOUBLE_INT,
+      MPI_FLOAT_INT, etc.
+    - MPI_Address() MPI_Get_count() MPI_Type_free() MPI_Type_extent()
+      MPI_Scan() MPI_Get_processor_name()
+    - Added implementation of missing case for Alltoall (warning: it's
+      *not* the bruck variant from OpenMPI; based on Alltoallv instead)
+    - SMPI_MPI_Gather() SMPI_MPI_Gatherv() SMPI_MPI_Scatterv()
+      SMPI_MPI_Reduce_scatter() SMPI_MPI_Allgather()
+      SMPI_MPI_Allgatherv() 
+  * Bug fixes include:
+    - MPI_Waitsome() was broken
+    - Allow relative includes in smpicc
+    - Command line cfg argument 'reference_speed' was ignored...
+    - Some functions did not properly lead to auto-benching of user code
+    - smpicc passes -O2 by default (just like openmpi one)
  SIMIX:
  SIMIX:
-  * add a SIMIX_sem_get_capacity() function
+  * add SIMIX_action_suspend() and SIMIX_action_resume() functions
+  * Bug fixes about timeouts during communications
+  * add SIMIX_message_sizes_output() as a pimple to write to file the
+    amount of messages per size. Use gnuplot to get histogram. 
+    Pimple because that's the only user-visible function of simix,
+     defined directly in xbt.h (irk, sorry)
+  * About semaphores:
+     - Add a SIMIX_sem_get_capacity() function
+     - Fix interactions with processe resume/suspende
+     - release_forever() was stupidly broken
+     - Fix SIMIX_display_process_status() for processes in a semaphore
+     - Make SIMIX_sem_block_onto() user-visible
+  * Refactoring context stuff:
+    - Use pseudo-OOP for better modularity
+    - reimplement SIMIX_process_kill() without process_schedule() so
+      that the latter can take as invariant that it is called from
+      maestro.
+    - Merge context_start into context_new for sake of simplicity
  SURF:
  SURF:
+  * Add a Vivaldi network model, coded live during SUD'10 ;)
   * Rename configuration variables to start a hierarchy:
     o cpu_model -> cpu/model
     o network_model -> network/model
   * Rename configuration variables to start a hierarchy:
     o cpu_model -> cpu/model
     o network_model -> network/model
@@ -46,8 +112,6 @@ SimGrid (3.3.5-svn) unstable; urgency=low
   * Add a long description to the models, that users can see with such
     argument on the command line: --cfg=cpu/model:help
   * --help-models display the long description of all known models
   * Add a long description to the models, that users can see with such
     argument on the command line: --cfg=cpu/model:help
   * --help-models display the long description of all known models
- SMPI:
-  * Implement MPI_Get_count, MPI_MAXLOC, MPI_MINLOC
  XBT:
   * config: add the ability to set a default value after registration
     Does not override any previously set value (e.g. from cmd line)
  XBT:
   * config: add the ability to set a default value after registration
     Does not override any previously set value (e.g. from cmd line)
@@ -59,7 +123,28 @@ SimGrid (3.3.5-svn) unstable; urgency=low
     In contrary to regular dicts, the key is not malloced before copy.
     Mixing scalar and regular elements in the same dict is not tested 
       (but may work).
     In contrary to regular dicts, the key is not malloced before copy.
     Mixing scalar and regular elements in the same dict is not tested 
       (but may work).
-      
+  * Allow to use xbt_dynar_shrink() to expend the dynar instead
+ Tracing for Visualization:
+  * SimGrid is now instrumented in order to generate a trace file for
+    visualization analysis: to use it, need to compile SimGrid with the
+    "tracing" option enabled, and instrument the program using SimGrid with
+    TRACE_start, TRACE_category, TRACE_msg_set_task_category and TRACE_end
+    (among other functions).
+  * The instrumentation only traces the platform utilization for now
+  * Documentation to use the tracing functions and how to analyze the
+    traces with the Triva tool is written.
+  * More information about: SimGrid FAQ (in the section Tracing Simulations
+    for Visualization)
+ Build system:
+  * We moved to cmake as default build system. Autotools support will
+    be dropped soon. Check the FAQ for more info about how to use it.
+  * Greatly improved our cdash/ctest interactions
+    Check http://cdash.inria.fr/CDash/index.php?project=Simgrid
+  * Added memory checking tests with valgrind; lot of memleak fixing.
+    This may be the first release of simgrid with so few memory issues
+  * Added code coverage tests. 
+    Our coverage is still improvable, but at least we see it on cdash.
+   
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>