Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Modified some functions and datatypes. Simix API changed too.
[simgrid.git] / ChangeLog
index 295b765..775fae5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,24 @@
-SimGrid (3.1.1) unstable; urgency=low
-
-  GRAS:
+SimGrid (3.2) unstable; urgency=low
+
+  OVERALL CHANGES:
+   * Port to windows.
+     We still experience issues on this platform, but we belive that at
+     least MSG is usable.
+
+  GRAS API BREAKAGE (for simplification purpose, sorry):
+   * the gras_msgtype_by_name is not used anymore. Instead of 
+       gras_msg_send(toserver, gras_msgtype_by_name("request"), &request);
+     you can write (and must)
+       gras_msg_send(toserver, "request", &request);
+   - If you still want to pass a gras_msgtype_t to the function (to cache
+     the type and avoid the lookup time), use the gras_msg_send_() variant.
+   - Impacted functions:
+     gras_cb_register, gras_cb_unregister, gras_msg_send, gras_msg_wait,
+     gras_msg_rpccall, gras_msg_rpc_async_call, gras_msg_wait_ext
+   * The callbacks are now expected to return 0 when everything went well
+     (just like the main() function)
+
+  GRAS new features and improvements:
   * New module mecanism where user code can use per process globals [Mt]
     This is similar to gras_userdata_*() functions, but for libraries. It
       factorize some code developped over and over in the examples and AMOK.
@@ -8,13 +26,26 @@ SimGrid (3.1.1) unstable; urgency=low
       converted for now).
   * Fix a vicious bug in the TCP buffering mecanism which leaded to message
     loss when they were small enough to fit into the buffer and sent quickly
-    enough so that they can all get received in one shoot.
+    enough so that they can all get received in one shoot.   
+  * gras_datadesc_by_name and gras_msgtype_by_name: now raise an exception
+    if not found. Use the *_or_null() variant for the old semantic.
+  * In gras_msg_handle, do not discard messages without callback.
+    They are probably messages to be explicitly awaited later (ie, proofs of
+    mis-synchronization in userland since they are sent before being awaited)
+    No big deal usually.
+  * gras_socket_meas_send/recv: semantic changed!
+    The numerical arguments used to be (1) the total amount of data to send
+    and (2) msg_size. This was changed to (1) msg_size and (2) amount of
+    messages. This was need for the fool willing to send more than MAXINT
+    bytes on quite fat pipes.       
        
   AMOK:
   * Do really rename the hostmanagement module to peermanagement. [Mt]
     Ie, rename functions from amok_hm_* to amok_pm_*. This breaks the API,
     but this is rather new and this was documented in the module
     documentation (poor excuses, I admit)
+  * Bandwidth measurement semantic changed! This follows the changes to
+    gras_socket_meas_send/recv explained above.
     
   SIMDAG:
   * A sequential mode has been added to the workstations. When a workstation
@@ -43,14 +74,17 @@ SimGrid (3.1.1) unstable; urgency=low
     - "Valgrind spits tons of errors!" [Mt]
     - "How to repport bugs" [Mt]
     - "Cross-compiling a Windows DLL of SimGrid from Linux" [Mt]
+    - "What is the difference between MSG, SimDag, and GRAS?" [Mt]
+    - Communication time measurement within MSG [AL]
+    - I experience weird communication times when I change the latency [AL]
   * GRAS tutorial [Mt]
     It contains:
      - an introduction to the framework and to the used communication model
      - an initiatic tour introducing the most proheminent features:
-       # Part 1: Bases
+       o Part 1: Bases
          . Lesson 0: Installing GRAS
          . Lesson 1: Setting up your own project
-       # Part 2: Message passing
+       o Part 2: Message passing
          . Lesson 2: Exchanging simple messages
          . Lesson 3: Passing arguments to the processes (in SG)
          . Lesson 4: Attaching callbacks to messages
@@ -59,6 +93,11 @@ SimGrid (3.1.1) unstable; urgency=low
          . Lesson 7: Using internal timers
          . Lesson 8: Handling errors through exceptions
          . Lesson 9: Exchanging simple data
+        . Lesson 10: Remote Procedure Calling (RPC)
+        . Lesson 11: Explicitely waiting for messages
+        . Recapping of message passing features in GRAS
+     - A HOWTO section containing:
+       o HOWTO design a GRAS application
        More are due, of course. They will come latter. In the meanwhile, you can 
        check the examples which are still here.