Home My Page Projects SimGrid
Summary Activity Forums Tracker Lists Docs News SCM Files

Project Filelist for SimGrid

File Release Notes and Changelog

Release Name: 3.1

Change Log
  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]