Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Document my last changes (documentation improvement)
[simgrid.git] / ChangeLog
index fb5114a..0619cec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,121 @@
+SimGrid (3.1.1) unstable; urgency=low
+
+  * Documentation update:
+    - New FAQ: "Valgrind spits tons of errors!"
+    - GRAS tutorial containing an introduction both to the GRAS framework
+      and to the used communication model as well as an initiatic tour
+      introducing the most proheminent features. Current tour TOC:
+      # Lesson 0: Installing GRAS
+      # Lesson 1: Setting up your own project
+      # Lesson 2: Exchanging simple messages
+      # Lesson 3: Passing arguments to the processes (in SG)
+      # Lesson 4: Attaching callbacks to messages
+      # Lesson 5: Using globals in processes
+      # Lesson 6: Logging informations properly
+      # Lesson 7: Using internal timers
+      # Lesson 8: Handling errors through exceptions
+      More a due, of course. At least the one explaining how to add data
+       into messages. In the meanwhile, you can check the examples which are
+       still here.
+
+ --
+
+SimGrid (3.1) unstable; urgency=low
+
+  General:
+  * Port to gcc 4.x   
+    There was a stack corruption somewhere, visible only when optimizing
+    with these versions. [Vince]
+
+  SIMDAG:
+  * This is a NEW module! SimDAG (SD for short) is a revival of the old SG
+    module that enabled to play with Directed Acyclic Graphs. It is built
+    directly on top of SURF and provides an API rather close to the old
+    SG. Some old codes using SG are currently under rewrite to check that
+    all needful functions are provided.   [Christophe Thiery]  
+       
+  SURF:
+  * Complete rewrite of the KCCFLN05 workstation model. It is now an
+    extension of the classical CLM03 model that gracefully handles
+    failures. This is now the default model for MSG and GRAS. It doesn't
+    handle parallel tasks yet though. [AL]
+  * Bug fix: Weights were not correctly set in the network part. 
+    WARNING: This may have resulted in incorrect results with simulations
+    where there are more than one flow on a given link. [AL]
+
+  SURF, MSG, GRAS:
+  * After a (long ?) discussion on simgrid-devel, we have decided that the
+    convention we had on units was stupid. That is why it has been decided
+    to move from (MBits, MFlops, seconds) to (Bits, Flops, seconds). 
+    WARNING : This means that all previous platform files will not work as
+    such with this version! A warning is issued to ask users to update
+    their files. [AL]
+    A conversion script can be found in the contrib module of the CVS, under
+    the name contrib/platform_generation/surfxml_update.pl [MQ]
+
+  MSG,GRAS:
+  * Bug fix: Processes were started in reverse order, wrt deployment file.
+    WARNING: if your code relies on this bug, please fix it.    [AL]
+  * Bug fix: Add a test in MSG_task_execute to stop whenever a task is
+    being executed on two different locations.                  [AL]
+  * Bug fix: Failures are now better supported thanks to Derrick's tests
+    (there was many failure situations I hadn't thought of and that weren't
+    correctly handled). [AL]
+  * New function: MSG_host_is_avail indicates you whether a given m_host_t
+    is up or down. [AL]
+
+  GRAS:
+  * New! a real RPC mecanism, as it ought to be since too long. [MQ]
+      Exception occurring on server-side are propagated back to client (!).
+      
+    API CHANGE: the callback changed their prototype. Change:
+        int my_handler(gras_socket_t expeditor, void *payload_data) {
+      to:
+        int my_handler(gras_msg_cb_ctx_t ctx  , void *payload_data) {
+          gras_socket_t expeditor=gras_msg_cb_ctx_from(ctx);
+      and you're set.
+  * New! function: gras_msg_handleall to deal with all messages arriving
+      within a given period.
+  * New! function: gras_socket_server_range to get a server socket in a
+    range of port numbers (ease to avoid port number conflicts) [MQ]
+  * New! gras processes display their backtrace when they get a SIGUSR1
+      or when Ctrl-C is pressed. Use Ctrl-C Ctrl-C to exit.
+      Sweet to debug RL processes [MQ]
+
+  AMOK:
+  * Bandwidth module: 
+    - Do not force experiment sizes to be expressed in kb, or it becomes
+      impossible to measure the latency this way (needs one byte-long tests)
+    WARNING: this changes the amok_bw_* function semantic. [MQ]
+    - Implements the link saturation stuff. [MQ]
+  * Peer management module: 
+    New! module factorizing code that we wrote over and over [MQ].
+      
+  XBT:
+  * New module: cunit (my jUnit implementation in ansi C) [MQ]
+    - Test units are placed directly into the library code, they get extracted
+      automatically and placed into the src/testall binary.
+    - Convert most of the XBT tests to this system.
+  * New functions: xbt_dynar_getfirst_as() and xbt_dynar_getlast_as() [MQ]
+  * XML parsing: rewrote parts of flexml to enable multiple xml parsers to
+    live in the same C code. This required to change a little bit the API
+    of surfxml parsing but shouldn't be an issue for end-users. [AL]
+  * New module: sparse graph structure with basic algorithms (this is work
+    in progress and the API is not considered to be frozen yet). [AL]
+  * Display more information on backtraces: source line & function names are
+    now displayed just like valgrind does (rely on addr2line tool) [MQ]
+  * New function: xbt_backtrace_display(). Sweet while debuging [MQ]
+  * Reworked a little bit some #include statements to load only required
+    headers. Some user code that relied on SimGrid to include stdlib or
+    stdio may need to include it by themselves. [AL]
+  * Fixed xbt/log.h. A missing SG_BEGIN_DECL prevented compilation with
+    g++. [AL]
+  * Renamed xbt_host_t into xbt_peer_t since it betterly describes what I
+    meant. This breaks the API of AMOK and of xbt/config. Sorry about this,
+    but I guess that almost nobody used those parts. [MQ]
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri, 14 Jul 2006 01:32:27 +0200
+
 SimGrid (3.0.1) unstable; urgency=low
 
   XBT:
@@ -16,20 +134,54 @@ SimGrid (3.0.1) unstable; urgency=low
     [AL]
   * Bugfix: really disconnect fifo items which are remove_item()ed [AL]
   * Documentation: xbt_log module unmercifully reworked [MQ]
+  * Bugfix: there was a problem with the ending of contexts with 
+    the pthread backend. It caused some weird deadlock or behavior
+    depending on the pthread implementation. [AL]
+  * Bugfix: get the exceptions raised in the simulator repport where
+    and why they come from when they are not catched in time [AL, MQ]
+
+  SURF:
+  * Bugfix: Do repport the error when two non-connected hosts try to
+    exchange data (Thanks to Flavien for stumbling into this one) [AL]
   
+  SURF:
+  * Add additionnal checkings on communications. Assert that two
+    communicating hosts are connected by a set of links... [AL]
+       
   MSG:
-  * Add addtionnal checkings on channel values in communicating functions.
-
-  GRAS performance improvements:
+  * Add additionnal checkings on channel values in communication [AL]
+  * New: MSG_task_get_source to see on which host a task was generated [HC]
+  * New: int MSG_task_probe_from_host(int channel, m_host_t host): returns
+    the number of tasks waiting to be received on channel and sent
+    by host. [AL]
+  * New: MSG_error_t MSG_task_get_from_host(m_task_t * task, int channel, m_host_t host); 
+    waits for the first task coming from a given host.. [AL]
+       
+  GRAS new functionnalities: [MQ]
+  * Enhance the parsing macro to allow the size of multidimentional objects
+    to be given thru annotations.
+  * New example (and documentation): Matrix Multiplication a la RPC 
+    (as when I was young!) and fix a bunch of bugs found on the way.
+
+  GRAS performance improvements: [MQ]
+  [DataDesc]
+  * Reduce the amount of cbps creation/destruction by making it static to 
+    datadesc_send/recv() and using a (newly created) cbps_reset (based on 
+    dynar_reset ())
+  [Virtu]
+  * Change libdata to a set so that we can search for stuff by ID (and thus 
+    reduce the insane amount of dict lookups)     
+  
+  [Transport]
   * Actually implement gras_datadesc_copy() so that we don't have to mimick
     RL communication on top of SG since it's so uneffective. 
-    It may also be used for inter-thread communication in RL, one day. [MQ]
-  * Use gras_datadesc_copy() to exchange messages on top of SG [MQ]
+    It may also be used for inter-thread communication in RL, one day. 
+  * Use gras_datadesc_copy() to exchange messages on top of SG 
     Allows to:
     - improve message exchange performance on top of SG
     - deprecate transport_plugin_sg.c:gras_trp_sg_chunk_send() & recv()
   * Don't exchange on the network the size of the used part of buffer,
-    instead, specify the possible buffer size to read(). [MQ] 
+    instead, specify the possible buffer size to read(). 
     Advantages:
      - reduces the amount of read/write calls (one pair per exchange)
      - reduces the amount of exchanged data (the size)
@@ -41,13 +193,13 @@ SimGrid (3.0.1) unstable; urgency=low
     Extra difficulty: 
      - take care of the data with non-stable storage (like stacked data),
        and bufferize them.
-  * If possible, TCP send uses vector I/O (when writev() is here) [MQ]
+  * If possible, TCP send uses vector I/O (when writev() is here) 
      - Don't use it for receive since we send data sizes and data on the
        same stream, so we wouldn't be able to chain large amount of chunks
        before having to flush the stuff to read the size.
   * Rework the transport plugin mecanism to simplify it and reduce the
     amount of pointer dereferencement when searching for the right function 
-    to use. [MQ]
+    to use. 
 
   * I guess that now, we do almost as few system calls as possible while
     doing as few data copy as possible.
@@ -58,8 +210,8 @@ SimGrid (3.0.1) unstable; urgency=low
     dimension is data of the first dimension, so you need 3 streams.
 
     I'm not sure the potential performance gains justify the coding burden.
-    
- --
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>  Fri, 21 Oct 2005 14:42:20 +0200
 
 SimGrid (3.00) stable; urgency=low