Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Lua: rename simgrid.task.name() to simgrid.task.get_name()
[simgrid.git] / ChangeLog
index 35da579..b9cbe84 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.6) unstable; urgency=low
+SimGrid (3.7) NOT RELEASED; urgency=low
+
+  The "Simplicity does not preceed complexity, but follows it" release.
+
+  Models:
+  * Use the partial invalidation optimization by default for the
+    network too. Should produce the exact same results, only faster.
+
+  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.
+
+  -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.6.2) stable; urgency=low
+
+ The "Not coding new stuff allows to polish old things" release.
+
+ General
+ * New bindings to the NS3 packet level simulator (experimental)
+ * Use the raw (efficient) execution contextes instead of the sysv
+   (portable) ones when possible.
+ * libpcre is now mandatory in any cases since not using it led to
+    severe performance loss and possibly other issues
+ * Update the XML platforms:
+   - G5K: include the lastest machine in Nancy
+   - GridPP and LCG: new platforms
+ * Documentation was partially updated, at least (more to come)
+
+ Bug fixes, cosmetics and small improvements
+ * Free terminated processes before the end of the simulation to avoid
+   exhausting the memory of users having very dynamic amount of
+   processes.
+ * Bug fix and cosmetics about canceling non-running tasks
+ * Bug fix about the dot loader's issues when using libcgraph
+
+ Portability
+ * Create an installer for windows with nsis (amd64 and win32)
+   - Add an hello world project to illustrate simgrid project creation.
+   - Embed libpcre into the Simgrid installer to avoid
+     its compilation burden
+ * The raw execution contextes should work on Apple now
+ * Port to Windows 64 bits
+    - Sysv contextes now have an implementation for this arch
+    - GRAS communication features now support this arch
+ * Drop support for borland compiler on windows
+    - this code was not maintained, and we kinda depend on gcc nowadays
+ * Fix portability issues on kfreebsd/gnu: build error about semaphores
+ * Fix portability issue on unstable ubuntu: linker became picky on
+   argument order
+
+ -- Wed Oct  5 15:51:01 CEST 2011 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+
+SimGrid (3.6.1) stable; urgency=low
+
+ The "Oops, we broke Macs too" release
+
+ Portability
+ * Fixed contextes detection so that raw ones are used when possible
+ * On Mac, do not use Posix Ucontextes with gcc v4.[1-5] since this
+   leads to a strange error, with user code segfaulting sometimes when
+   the generated code is not perfectly aligned (which is not
+   controlable from the user side, depends on the amount of code)
+
+ XBT
+ * New macro: CATCH_ANONYMOUS, which is like CATCH(e) but without argument.
+
+ -- Mon Jun 27 13:59:03 CEST 2011 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.6) stable; urgency=medium
+
+ The Summer Release, also known as the "OMG! They Killed Kenny!" version
+
+ Java and Ruby:
+ * Bindings now constitute their own package, separated from the main one.
+   Rationale: reduce our maintainance nightmare by reducing the module coupling
+   They will soon be released on their own on gforge.
+ * In the meanwhile:
+   svn co svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/simgrid-java
+   svn co svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/simgrid-ruby
+
+ GRAS: It is not considered as stable anymore, but experimental. Sorry.
+ * It's not quite deprecated for now because we have no replacement,
+   but it may soon become the case.
+
+ SMPI
+ * New MPI functions supported: MPI_Comm_disconnect, MPI_Comm_get_name
+ * Fortran: New user-level cache variable to store the rank of the running
+   process. This improves performance by an order of magnitude.
+ * C: New coccinelle script to automatically locate and modifiy global and
+   local static variables.
+ * Improved SMPI network model with a sender-side gap to account for multiple
+   parallel sends.
 
  MSG
- * Change the prototypes of action replay. Sorry for inconvenience,
-   but this is really more efficient this way (and to adapt your code,
-   you just have to fix the initialization, that shouldn't be too long)
- * Kill the braindead MSG_task_refcount_dec() function. I guess nobody
-   ever managed to do anything useful with it.
- * New function MSG_comm_testany(). Similarly to MSG_comm_waitany(), it
-   takes a dynar of communications. It returns immediately and gives the
-   index of a finished communication (if any).
  * New function MSG_comm_get_status(). MSG_comm_test() and MSG_comm_testany()
    only say if a communication is finished, no matter whether it succeeded or
    failed. You can call MSG_comm_get_status() to know the status of a finished
@@ -17,12 +103,21 @@ SimGrid (3.6) unstable; urgency=low
    communication is detached, you are never notified of its success or failure
    and the memory is released automatically once it is finished. This function
    is useful when you don't care about the end nor the success of a
-   communication you send.
+   communication.
+ * Change the prototypes of action replay. Sorry for inconvenience,
+   but this is really more efficient this way (and to adapt your code,
+   you just have to fix the initialization, that shouldn't be too long)
+ * Kill the braindead MSG_task_refcount_dec() function. I guess nobody
+   ever managed to do anything useful with it.
+ * New function MSG_comm_testany(). Similarly to MSG_comm_waitany(), it
+   takes a dynar of communications. It returns immediately and gives the
+   index of a finished communication (if any).
+ * New example: a basic implementation of the Chord P2P algorithm.
 
  SURF
  * New model for multi-core CPUs. You can now use the core attribute to
    precise the number of cores of a host. This is a basic model. Every
-   process running on the host receive at most the power provided in
+   process running on the host receives at most the power provided in
    the DTD (throughput<=power). Total throughput of process cannot exceed
    power * num_cores.
  * New peer tag. This peer tag creates a tiny AS comprising a host and a
@@ -34,8 +129,8 @@ SimGrid (3.6) unstable; urgency=low
    into a Vivaldi routing model (based on the rule-based model). This allows to
    combine Vivaldi based latencies with last-mile platforms.
 
- Simix
- * Added a check for NaN of IEEE754 infinite in the double entries of 
+ SIMIX
+ * Added a check for NaN of IEEE754 infinite in the double entries of
    the smx_user.c file
  * Introduce a new context factory "raw", highly inspirated from the
    ucontext factory, but using manually crafted functions in assembly to
@@ -49,14 +144,17 @@ SimGrid (3.6) unstable; urgency=low
    with N parallel threads (the default is 1, meaning no parallelism).
  * Allow to decide dynamically between sequential and parallel modes.
    When nthreads > 1, you can use --cfg=contexts/threshold:P to run the user
-   processes in parallel only when their number is greater than or equal to P.
+   processes in parallel only when their number is greater than or equal to P
+   (the default is 2).
+ * Added a check for NaN of IEEE754 infinite in the double entries of
+   the smx_user.c file
 
  XBT
  * New command line option: if you pass --cfg=verbose-exit:0, SimGrid
    won't output the state of processes when interrupted with Ctrl-C
  * Add a new function xbt_dynar_to_array that transforms a dynar into a
    NULL-terminated array. This may solve backward compatibility issues
-   due to the change to return type of SD_Simulate. See also:
+   due to the change to return type of SD_simulate. See also:
    http://lists.gforge.inria.fr/pipermail/simgrid-user/2010-December/002206.html
  * Add new macros with variable number of arguments.
    - in xbt/log.h: XBT_DEBUG, XBT_VERB, XBT_INFO, etc.
@@ -66,6 +164,8 @@ SimGrid (3.6) unstable; urgency=low
    Define XBT_USE_DEPRECATED if you want to use the old numbered macros like
    INFO1, INFO2, etc.
  * Change xbt_die() to accept a format string with arguments, just like printf.
+ * New data structure: xbt_lib_t, like a dict but more general and with better
+   memory handling.
 
  INSTR
  * New configuration options
@@ -75,7 +175,8 @@ SimGrid (3.6) unstable; urgency=low
  * XBT logging makes tracing error checks easier, new root log hierarchy: instr
  * New TRACE_user_link_variable interface:
    User provides the name of the link and the tracing variable to attach to it
- * the declaration of tracing categories must be done after the environment creation
+ * the declaration of tracing categories must be done after the environment
+   creation
  * simpler tracing interface, just one way to declare categories
     TRACE_category or TRACE_category_with_color, it is up to you
  * links in the trace file are again identified by their names
@@ -85,7 +186,15 @@ SimGrid (3.6) unstable; urgency=low
    these options generate traces that are suited to gantt-charts, such as the space-time view of Paje
  * The experimental option tracing/msg/volume is deprecated
    its functionality may be reincorporated if needed
-   
+ * Buffering
+   The tracing generates a trace file with unordered timestamped events,
+   because of the way the core simulator (surf) works. A script available
+   at the tools directory (fix-paje-trace.sh) can be used to put the events
+   in order. We have changed the tracing so it can generate ordered timestamped
+   events in the final trace, but depending on the simulator (and how much time
+   is simulated) that can lead to a huge memory utilization. It is desactivated
+   by default, but it can be activated using the --cfg=tracing/buffer:1 switch.
+
  Build Infrastructure
  * Define a SIMGRID_VERSION macro in simgrid_config.h.
    - We are trying hard to keep the API stable, but it may happen that
@@ -95,8 +204,10 @@ SimGrid (3.6) unstable; urgency=low
    - current value: 30600 for 3.06.00, aka 3.6
  * Define macro MAKE_SIMGRID_VERSION(major, minor, patch) to help building
    a number that can be compared with SIMGRID_VERSION.
+ * Add a build option -Denable_debug (set to ON by default): when set to OFF,
+   assertions and verbose/debug logging events are disabled at compile time.
 
- -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Tue Jun 21 08:57:43 CEST 2011 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 SimGrid (3.5) stable; urgency=medium
 
@@ -1029,7 +1140,7 @@ SimGrid (3.2) stable; urgency=high
     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,
@@ -1107,7 +1218,7 @@ SimGrid (3.1) stable; urgency=high
     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
@@ -1221,7 +1332,7 @@ SimGrid (3.0.1) stable; urgency=low
   SURF:
   * Add additionnal checkings on communications. Assert that two
     communicating hosts are connected by a set of links... [AL]
-       
+
   MSG:
   * Add additionnal checkings on channel values in communication [AL]
   * New: MSG_task_get_source to see on which host a task was generated [HC]
@@ -1230,7 +1341,7 @@ SimGrid (3.0.1) stable; urgency=low
     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.
@@ -1293,7 +1404,7 @@ SimGrid (3.00) stable; urgency=high
   * New! Give the possibility to hijack the surf parser and thus bypass
     MSG_create_environment and MSG_launch_application. Have a look at
     examples/msg/msg_test_surfxml_bypassed.c to see how it can be done.
-       
+
  -- Arnaud Legrand <simgrid-devel@lists.gforge.inria.fr>  Sat, 20 Aug 2005 23:25:25 -0700
 
 SimGrid (2.96) unstable; urgency=low
@@ -1631,7 +1742,7 @@ SimGrid (2.90) unstable; urgency=low
   - Main loop and datastructures of SURF. A cpu resource object is
     functional. Surf can thus be used to create cpu's with variable
     performance on which you can execute some actions.
-       
+
 2004-11-15 Martin Quinson
   - Port to ARM. Simply added the alignment and size descriptions. Should
     work, but the ARM machines are so slow that I didn't had the opportunity