Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
XBT: Add xbt_str_from_file(FILE*)
[simgrid.git] / ChangeLog
index 95df710..f8feaa9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,174 @@
-SimGrid (3.3-cvs) unstable; urgency=low
+SimGrid (3.3.2-svn) unstable; urgency=low
+
+ SMPI:
+  * Implement some more MPI primitives: 
+    MPI_Waitany, MPI_Waitall, MPI_Reduce, MPI_Allreduce
+  * Add support for optimized collectives (Bcast is now binomial by default)
+  * Port smpirun and smpicc to OS X
+
+ SURF: 
+  * Extract the routing logic into its own object.
+    (was dupplicated in network.c and workstation_LV07.c;
+     Allows to implement other ways of storing that info)
+    => kill now useless network_card concept
+    - Use dynar to represent routes (instead of void** + int*)
+    - kill link_set (use surf_network_model->resource_set instead)
+    - Add a command-line option to choose the routing schema to use
+
+  * Simplify model declaration
+    (less redirections, less function to write when defining a model)
+    - Factorize stuff between models:
+      - model_init/exit
+      - Set of resources:
+        surf_model_resource_set(model)
+        surf_model_resource_by_name(model, name)
+    - Unify the types of models in s_surf_model_t (using an union)
+    - Embeed fields of common_public directly into s_surf_model_t
+    - Rename model methods:
+      action_free ~> action_unref
+      action_change_state ~> action_state_set
+      action_get_state    ~> action_state_get
+    - Change model methods into functions :
+      (model)->common_public->action_use  ~> surf_action_ref
+      
+  * Implement a generic resource; use it as ancestor to specific ones
+    (allows to kill duplicated code in models)
+    Drawback: timer command don't need no name nor properties;
+              workstation_CLM03 don't need no properties
+    (but I guess we can live with those few bytes wasted)
+    
+  * Improve the action object model
+    - implement a constructor avoiding dupplicated code about field
+      initialization in generic_action part.
+      
+  * Kill the SDP model: it has an external dependency, is deprecated
+    in flavor of modern lmm models, and didn't compile since a while
+ SimDag:
+  * Kill SD_link_get_properties: hard to maintain and makes very little sense
+    Shout out if you used it.
+    
+ GRAS:
+  * Display the list of still queued messages in SG mode when existing
+    the process.
+
+ XBT:
+  * Add xbt_set_get_by_name_or_null() [Silas De Munck]
+  * Add xbt_graph_node_get_outedges() [Silas De Munck]
+  * Add xbt_str_from_file(FILE*)
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.3.1) stable; urgency=low
+
+ OVERALL CHANGES:
+  * Implement a --cfg-help to show existing configuration variables
+  * Build chain do not require doxygen in maintainer mode
+
+ GRAS:
+  * fix a bug on struct sizeof computation, which prevented the
+    exchange of arrays of structs in some conditions
+    - added a regression test about this in datadesc_usage
+  * Allow the exchange of 0-long dynamic vectors.
+    - for that, use -1 as indicator of dynamic size instead of 0
+    - This implied to change any size from unsigned long to long,
+      reducing a bit communication abilities, but I guess that with
+      64bits being quite common, this is more than enough.
+    - This also induce a protocol change, thus bumping network protocol
+      version from 0 to 1 (if we have external users, we have to get
+      clean on that point too ;)
+    - added two regression tests about this in datadesc_usage
+  * Be more verbose when propagating local exceptions
+    This helps debugging.
+  * Display the status of simulated processes when receiving SIGINT in
+    simulation mode
+
+ MSG:
+  * Allow to control the simulation from a trace file.
+    New functions MSG_action_register() and MSG_action_trace_run()
+    The first one allows to associate a function execution to each
+     kind of action while the second one parses a trace file and
+     triggers the corresponding actions within the system.
+    For now, only a toy example is provided in examples/msg/actions
+  * Add an exemple of process migration in examples/msg/migration
+  * Fix a bug in task exchange which broke MSG_task_get_sender()
+    Add a teshsuite regression test for that.
+    [Bug: if MSG_task_get_sender() is called after sender exit,
+     bad things happen]
+  * Fix a bug which prevented suspend/resume to work properly
+  * Display the status of simulated processes when receiving SIGINT
+    This fixes a regression of v3.3. due to the introduction of SIMIX
+  * Bug fixing in failure management:
+    - trace could not start by a failure at time 0
+    - failure during communications were not working
+       
+ SIMIX:
+  * Add SIMIX_process_set_name() to change the name of the current
+    process in the log messages.
+  * Store smx_hosts in a dict since we only retrieve them by name
+  * Move the configuration infrastructure to surf
+
+ SIMDAG:
+  * Move the configuration infrastructure to surf
+
+ SMPI: 
+  * Massive internal cleanups:
+    - Store internal structures on processes instead of hosts (allows
+      to have more than one process per host, in addition of being more 
+      logical)
+    - Cleanup the initialization/finalization process
+    - Kill a whole bunch of unneeded synchronization: 
+      processes run in exclusive manner within the simulator
+    - Move queues from global tables to process data fields
+  * Improve smpirun:
+    - now accept -platform and -hostfile arguments
+    - Pass the right rank value to processes according to the hostfile
+  * Compile the examples by default, and use them as regression tests
+  * Implement MPI_Wtime()
+  * Change the reference speed to a command line option
+  
+ SURF:
+  * TCP_gamma can now be specified as command line option using
+    --cfg=TCP_gamma:10000000.0
+  * Change the --surf-path cmd line option into --cfg=path:
+  
+ XBT:
+  * Also include strbuff from xbt.h public header
+  * xbt_ex_display(): do not free the exception after displaying 
+    This allows to do more with the given exception afterward.
+    Users should call xbt_ex_free() themselves.
+    
+    
+
+ Portability report of this version:
+  * Main portability targets:
+    - Linux(debian)/x86/context   
+    - Linux(debian)/x86/pthreads 
+    - Linux(debian)/amd64/context 
+    - Linux(debian)/amd64/pthreads
+    These targets fail about 1/10 of times on gras/pmm, but we believe
+      that this is because of the test, not because of simgrid.
+    amok/saturate_sg fails even more rarely, and the test may not be
+      the problee.
+      
+    - Mac OSX Leopard/x86/context
+    The test suite still spits tons of errors because some obscure
+      force prevents us from removing the temporary directories
+      arguing that they still contain some metadata I've never heard of.
+    Smpi fails because seq is not installed.
+    Everything seems to work properly beside of that.
+    
+  * Exotic platforms:
+    - AIX version 5.3 (both contexts and pthread)
+      Smpi still fails there because mktemp is not installed. 
+      XML inclusions seems rosty on AIX.
+    
+  * Windows: it's still lagging behind. If you want to help, please
+    stand up.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>  Sat, 27 Jun 2009 00:14:30 +0200
+
+SimGrid (3.3) stable; urgency=high
 
  OVERALL CHANGES:
 
@@ -22,7 +192,10 @@ SimGrid (3.3-cvs) unstable; urgency=low
     not scheduled in the same order with the old and new version. This
     may be enough to completely change the execution of simulations in
     some cases. Sorry for the inconvenience.
-  
+
+  * Cleanup and upgrade the XML format to push further scalability
+    issues (check http://hal.inria.fr/inria-00256883/ for more info)
+
   * Improve the testing infrastructure with tesh. Now a very large part of
     the code is tested not only by being run but also by checking that the
     output match an expected output [Mt].
@@ -30,8 +203,18 @@ SimGrid (3.3-cvs) unstable; urgency=low
   * Move on to FleXML v1.7 for the embeeded XML parsers. This version
     is really less memory-demanding, which should allow you to use
     larger files in SimGrid [AL].
+    
+  * Inform valgrind about our contextes, so that it becomes usable
+    with the default (and more effecient) version of SimGrid
+    [contributed by Sékou Diakite, many thanks]
 
  GRAS:
+  * Introduce a listener thread in charge of receiving incomming
+    messages from the network. It allows to overlap communication and
+    computation but most notably, it removes some stupid deadlocks due
+    to the fact that so far, a process could not send and receive at
+    the same time. This made most non trivial communication schema
+    impossible.
   * Convert the PIDs from long int to int to match the MSG ones (and
     linux ones too) [Mt]
   * New function: gras_agent_spawn() to launch a new process on
@@ -44,6 +227,8 @@ SimGrid (3.3-cvs) unstable; urgency=low
   * New module: xbt/str [Mt]
     a ton of string utility functions (split, join, printf to a newly
     allocated buffer, trim, etc)
+  * New module: xbt/hash [Mt]
+    SHA1 hashing algorithm (more to come if needed)
   * New module: xbt/synchro [Mt]
     synchronization tools (mutex and conditions) working the same way
     in simulation and in real life (mainly useful for GRAS, but not
@@ -82,9 +267,9 @@ SimGrid (3.3-cvs) unstable; urgency=low
   * Use the SURF command line configuration mechanism.
   * 0-size tasks (for synchronization) should now work.
 
- -- 
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Sun Apr 12 05:20:36 CEST 2009
 
-SimGrid (3.2) unstable; urgency=low
+SimGrid (3.2) stable; urgency=high
 
   OVERALL CHANGES:
    * Port to windows.
@@ -189,7 +374,7 @@ SimGrid (3.2) unstable; urgency=low
 
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri Mar 16 21:11:46 CET 2007
 
-SimGrid (3.1) unstable; urgency=low
+SimGrid (3.1) stable; urgency=high
 
   General:
   * Port to gcc 4.x   
@@ -285,7 +470,7 @@ SimGrid (3.1) unstable; urgency=low
 
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri, 14 Jul 2006 01:32:27 +0200
 
-SimGrid (3.0.1) unstable; urgency=low
+SimGrid (3.0.1) stable; urgency=low
 
   XBT:
   * Unfortunately, I had missed 5 misnamed functions:
@@ -382,7 +567,7 @@ SimGrid (3.0.1) unstable; urgency=low
 
  -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>  Fri, 21 Oct 2005 14:42:20 +0200
 
-SimGrid (3.00) stable; urgency=low
+SimGrid (3.00) stable; urgency=high
   
  SURF:
   * New! Give the possibility to hijack the surf parser and thus bypass 
@@ -1155,3 +1340,7 @@ SimGrid (2.90) unstable; urgency=low
   - Get rid of libgrasutils.a since it makes more trouble than it solves.
     Build examples against the RL library, since there is no way to disable
     its creation for now.
+
+For information, the beginning of coding on GRAS was back in june
+2003. I guess that every line has been rewritten at least twice since
+then.