Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Setup the framework allowing to add backtraces to the malloc meta-data
[simgrid.git] / ChangeLog
index 63e07ed..593884b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,21 +1,90 @@
 SimGrid (3.7) NOT RELEASED; urgency=low
 
-  The "Simplicity does not preceed complexity, but follows it" release.
+  The "sprint cleanups (before spring)" release.
 
   Models:
+  * We can specify the smpi latency/bandwidth factor with command line
+    add --cfg=smpi/bw_factor:"threshold0:value0;...;thresholdN:valueN"
+    or add --cfg=smpi/lat_factor:"threshold0:value0;...;thresholdN:valueN"
+    You can also use the "config tag" from platform file by adding this line
+    <prop id="smpi/bw_factor" value="threshold0:value0;...;thresholdN:valueN"></prop>
+    (see "example/platforms/tag_config.xml" to use "config tag").
+    Note that the command line supersedes the platform file configuration.
+  * Change the correction factors used in LMM model, according to
+    the lastest experiments described in INRIA RR-7821. 
+    Accuracy should be improved this way.
+    (TODO: this is not true in the code, yet)
   * Use the partial invalidation optimization by default for the
     network too. Should produce the exact same results, only faster.
+  * Major cleanup in surf to merge models and split some optimization
+    mechanisms from the core of the models. As a result you can now
+    specify which model to use (e.g., --cfg=network/model:LV08
+    --cfg=cpu/model:Cas01) and which optimization mode to use
+    (e.g., --cfg=network/optim:lazy --cfg=cpu/optim:TI).
+    Incompatible combinations should err at initialization. See
+    --help-models for the list of all models and optimization modes.
+  * The CLM03 workstation model were dropped for simplicity because it
+    used the deprecated CM02 network model. Use default instead.
+  * Rename the TCP_gamma configuration option to network/TCP_gamma
+  * Rename the coordinates configuration option to
+    network/coordinates, and document it
+  * Use now crosstraffic keyword instead of the terribly missleading 
+    fullduplex keyword. It is activated by default now in the current
+    default model, use --cfg=network/crosstraffic:0 to turn it off.
+  * Experimental: new configuration option --cfg=surf/nthreads:N to run
+    analytical models in parallel with N threads (default is 1).
+  * Ongoing refactoring the model parsing to make XML files optional
+    (more work is needed here to fully achieve this goal)
+    
+  MSG:
+  * Deprecate the MSG_task_{get,put} functions and friends. 
+    This interface were considered as deprecated since over 2 years,
+     it's time to inform our users that it is.
+    Switch to MSG_task_{send,recv} instead, or declare
+     SIMGRID_DEPRECATED before loading the msg.h if you really need to
+     use these (crappy) functions in your code.
+    These functions will be removed at some point. Stop using them now.
+
+  Simix:
+  * Stabilize the parallel execution mode of user contexts
+  * Introduce configuration variables to control parallel execution:
+    - contexts/synchro: Synchronization mode to use when running
+      contexts in parallel (either futex, posix or busy_wait)
+    - contexts/parallel_threshold: Minimal number of user contexts
+      to be run in parallel (raw contexts only)
+      
+  SURF:
+  * Introduce a parallel mode for the models (see surf/nthreads
+     configuration item). In our tests, running the models in parallel
+     never lead to any speadups because they are so fast that the gain
+     of computing each model in parallel does not amortizes the
+     synchronization costs, even when ultra fast futexes are used.
+    This is released anyway because YMMV.
 
   SimDag:
   * Performance boost by using a swag internally to compute the set of
     tasks that are finished and should constitute the return value of
     SD_simulate.
 
+  SMPI:
+  * Enable it by default now that it is considered rather stable.
+
   XBT:
   * Mallocators: allow value NULL for the reset function.
   * Dicts: new function xbt_dict_new_homogeneous(void(*)(void*)) to
     create homogeneous dictionaries, where all the elements share the
-    same free function.
+    same free function. Non homogeneous dictionnaries will be
+    deprecated in the next release.
+  * mmalloc module: 
+    - cleanups and simplifications to make it maintainable again
+    - exotic features (such as memalign and valloc) were removed
+    - The metadata were extended and improved so that the
+      model-checker becomes able to explore and inspect the heaps.
+    - This may induce a performance drop when enable_model-checking is
+      ON in cmake (even if it's not used in the simulation), but it is
+      necessary at this point to get MC working. 
+      
+      Turn model-checking OFF if simulation performance matters to you.
 
   -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>