+SimGrid (3.0.1) unstable; urgency=low
+
+ XBT:
+ * Unfortunately, I had missed 5 misnamed functions:
+ xbt_fifo_item_t xbt_fifo_newitem(void);
+ void xbt_fifo_freeitem(xbt_fifo_item_t);
+ xbt_fifo_item_t xbt_fifo_getFirstItem(xbt_fifo_t l);
+ xbt_fifo_item_t xbt_fifo_getNextItem(xbt_fifo_item_t i);
+ xbt_fifo_item_t xbt_fifo_getPrevItem(xbt_fifo_item_t i);
+ They're now deprecated. Please use their new versions:
+ xbt_fifo_item_t xbt_fifo_new_item(void);
+ void xbt_fifo_free_item(xbt_fifo_item_t);
+ xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l);
+ xbt_fifo_item_t xbt_fifo_get_next_item(xbt_fifo_item_t i);
+ xbt_fifo_item_t xbt_fifo_get_prev_item(xbt_fifo_item_t i);
+ [AL]
+ * Bugfix: really disconnect fifo items which are remove_item()ed [AL]
+ * Doc: xbt_log module unmercifully reworked [MQ]
+
+ MSG:
+ * Add addtionnal checkings on channel values in communicating functions.
+
+ GRAS:
+ * 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]
+ Allows to:
+ - improve message exchange performance on top of SG
+ - deprecate transport_plugin_sg.c:gras_trp_sg_chunk_send() & recv()
+
+ --
+
+SimGrid (3.00) stable; urgency=low
+
+ SURF:
+ * 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
+
+ AKA SimGrid 3 rc 2.
+
+ XBT:
+ * New! Exception handling with setjmp or such (code from OSSP ex) [MQ]
+ This deprecates the xbt_error_t mecanisms.
+ It modifies (simplifies) all XBT and GRAS API.
+ MSG API keeps unchanged (exceptions raised by XBT are catched from
+ within MSG and masked with existing error handling facilities)
+
+ SURF:
+ * New! Add a FATPIPE model. [AL]
+ * New! Add a parallel task model. [AL]
+ * New! Add automatically a loopback interface (in the default
+ network model) if none was precised.
+
+ MSG
+ * Bugfix: MSG_process_resume now works with the current running process.
+ [AL]
+ * New! Add MSG_parallel_task_create and MSG_parallel_task_execute. [AL]
+ * Modification of MSG_task_get_compute_duration. Once a task has been
+ processed, the value returned by this function is now equal to 0. [AL]
+ * New! Add double MSG_task_get_remaining_computation(m_task_t task) and
+ MSG_error_t MSG_task_cancel(m_task_t task). Add a state
+ (MSG_TASK_CANCELLED) to MSG_error_t corresponding to the cancelation
+ of a m_task. For now, MSG_task_cancel only works with computation
+ tasks. [AL]
+ * New! Add double MSG_get_host_speed(m_host_t h) that returns the speed
+ of the processor (in Mflop/s) regardless of the current load on the
+ machine. [AL]
+ * API Change: use proper naming convention for MSG_getClock and
+ MSG_process_isSuspended: MSG_get_clock and MSG_process_is_suspended.
+ [AL]
+ * New! Add void MSG_task_set_priority(m_task_t task, double priority).
+ This function changes the priority of a computation task. This priority
+ doesn't affect the transfer rate. A priority of 2 will make a task
+ receive two times more cpu power than the other ones. This function
+ has been added to suit the needs of Nguyen The Loc and hasn't been that
+ much tested yet. So if it fails, please report it and send me your code.
+ [AL]
+ * API Change: removed all functions and types that were marked "deprecated"
+ since many months. Renamed MSG_global_init_args to MSG_global_init.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Mon, 8 Aug 2005 17:58:47 -0700
+
+SimGrid (2.95) unstable; urgency=low
+
+ XBT
+ * Steal some nice code to GNU pth to fix context detection and usage [AL]
+ * Cleanup in the xbt_config API; add configuration callbacks. [MQ]
+ * Cleanup in the initialization API: the unused "defaultlog" is dead. [MQ]
+
+ SURF
+ * Bugfix: Allow absolute paths for platform description files [MQ]
+ * Bugfix: do free the variables after use. Leads to drastic performance
+ improvement [AL]
+ * Implement max_duration (ie, timeouts) on resources [AL]
+
+ MSG
+ * Implement MSG_config to configure MSG at runtime. xbt_cfg test on a real
+ case ;) [MQ]
+ * Implement MSG_channel_select_from() to help GRAS now that SURF provide
+ the needed support (timeouts) [AL]
+
+ GRAS (new features)
+ * Implement measurement sockets. You can now get the bandwidth between two
+ hosts thanks to AMOK (see below). [MQ]
+ * gras_datadesc_dynar() builds a dynar type descriptor, allowing to send
+ dynar over the network (yeah) [MQ]
+ * Real (even if simplistic) implementation of gras_os_myname() on RL [MQ]
+ * simple/static token-ring example. [Alexandre Colucci and MQ]
+ * Use MSG_channel_select_from() and remove the *slow* hack we had to put
+ in place before [MQ]
+
+ GRAS (bug fixes)
+ * Differentiate the types "char[22]" and "unsigned char[22]" in automatic
+ type parsing. "short" and "long" modifiers were also ignored; other
+ modifier (such as reference level) are still ignored. [MQ]
+ * Embeed the buffer size within the buffer itself on SG. [MQ]
+ That way, send() are atomic and cannot get intermixed anymore (at least
+ the ones which are less than 100k; bigger messages still have the issue)
+ * Array size pushed by the field, not by the field type (or each
+ and every long int will push stuff to the cbps) [MQ]
+ * use select() to sleep since it allows to portably sleep less than one
+ second. [MQ]
+
+ GRAS (minor cleanups)
+ * <project>.Makefile.local (generated from gras_stub_generator) |MQ]:
+ - Do clean .o files
+ - Compile with -g
+ * Type Callbacks now receive the gras_datadesc_type_t they work on as argument.
+ * type category 'ignored' killed as it was never used and were difficult
+ to transmit.
+ * whether a type can cycle or not is now a flag, leaving room for more
+ flags (as "ignored", if we feel the need one day ;)
+ * Rename raw sockets to measurement sockets since "raw" has another
+ meaning in networking community.
+
+ AMOK
+ * Advanced Metacomputing Overlay Kit introduction. It is based over GRAS
+ and offers features not belonging to GRAS but that most applications
+ need. One day, it may be a set of plugins loadable at runtime.
+ * New module: bandwidth
+ bandwidth measurement between arbitrary nodes running this module. [MQ]
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Thu, 30 Jun 2005 16:29:20 -0700
+
+SimGrid (2.94) unstable; urgency=low
+
+ The first beta release of SimGrid 3 !
+
+ >>>Arnaud<<<
+ (documentation)
+ * Update the main page and the FAQ. Adding references to gforge.
+
+ (gras)
+ * Add a gras_os_getpid function.
+
+ (msg)
+ * Add MSG_task_get_compute_duration() and MSG_task_get_data_size()
+ * Extend the logs so that they also print PID, hostname, date, ... if
+ available.
+ * Convert the MSG example to the use of xbt_logs instead of PRINT_MESSAGE,
+ and kill the old version which were in testsuite/
+ * Rewrite tools/MSG_visualization/colorize.pl for using with logs instead
+ of PRINT_MESSAGE
+
+ (xbt)
+ * Add xbt_os_time(). As the rest of xbt/portability, this is not public
+ for users. Instead, each programming environment (GRAS, MSG,...) use it
+ when needed to provide such a feature to users.
+ Don't shortcut the mecanism or you will also shortcut the virtualization
+ you need on the simulator.
+
+ >>>Martin<<<
+ (infrastructure)
+ * Cleanups in configury with regard to compile optimization/warning flags.
+ Also add -fno-loop-optimize to any powerpc since it's the optimization
+ killing gcc (< 3.4.0).
+ * Doxygen cleanups: move MSG examples, kill the second Doxygen phase
+ needed by MSG examples complications
+ * Borrow configury beautifications from PHP
+
+ (xbt)
+ * Bugfix: XBT_LOG_NEW_DEFAULT_CATEGORY now compiles without compiler
+ warning (thanks loris for stumbling into this one).
+ * Bugfix: stop loading private headers (gras_config.h) from the public
+ ones (xbt/swag.h).
+
+ (gras)
+ * Change SIMGRID_INSTALL_PATH to GRAS_ROOT in Makefiles generated for user.
+ * Rename gras_get_my_fqdn to gras_os_myname and implement it in the simulator
+ RL would imply a DNS resolver, which is *hard* to do in a portable way
+ (and therefore delayed).
+ * Implement a real timer mecanism and use it in timing macros. This allows
+ to avoid rounding errors and get a 0.000005 sec precision in timing
+ macros. While I was at it, various cleanups:
+ - allow to declare more than one timed section per file (fix a stupid bug)
+ - move some private declaration to the right place
+ - merge conditional execution and timing macros into emulation module
+ - document the module
+ - make sure the module cleanups its mess on gras_exit
+ * Documentation improvements:
+ - (new) how to compile applications using GRAS
+ - (new) emulation support (timing macros)
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri, 13 May 2005 10:49:31 +0200
+
+SimGrid (2.93) unstable; urgency=low
+
+ Alpha 4 on the path to SimGrid 3 (aka the "neuf-trois" version)
+
+ [Arnaud]
+ - Use Paje properly where used. Still to be sanitized properly.
+ - Portability fix: Add an implementation of the contexts using pthread
+
+ [Martin]
+ (misc)
+ - Add xbt_procname(): returns the name of the current process.
+ Use it to show the current process's name in all logging.
+ (infrastructure)
+ - fix detection of older flex version and the reaction, since we do
+ depend on modern ones (we use lex_destroy)
+ - Better separation of SG and RL in the libs: remove all simulation code
+ from libgras. As a result, this lib is now only 200k when stripped.
+ Some of the xbt modules may also be duplicated (two sets and such) and
+ should be cleaned/killed before SG3.
+ - Insist on using xlC on AIX because of weird problems involving gcc there.
+ - Cleanup the make remote stuff. This is now done by scripts
+ tools/graspe-{master,slave} (GRAS Platform Expender). This is still
+ mainly for our private use, but we're working on changing them to user
+ tools, too.
+ (gras)
+ - Bugfix: flush the socket on close only if there is some *output*.
+ - Bugfix: flush idempotent when there's nothing to send (don't send size=0)
+ (msg)
+ - Add MSG_task_get_name. The task names are mainly for debugging purpose,
+ but anyway.
+
+ -- SimGrid team <simgrid2-users@listes.ens-lyon.fr> Fri, 4 Mar 2005 14:32:37 -0800
+
+SimGrid (2.92) unstable; urgency=low
+
+ Alpha 3 on the path to SimGrid 3
+
+ [Arnaud]
+ (gras)
+ - New! First try of benchmarking macros.
+ - New! First try so that gras_stub_generator generate deployment and
+ remote compilation helpers.
+ (msg)
+ - Bugfix: Initialization fix in msg_test.
+
+ [Martin]
+ (surf)
+ - Bugfix: applied patch to lexer so that it doesn't need a huge heap.
+ (xbt)
+ - Bugfix: let dicts work with NULL content (_foreach didn't) and cleanups
+ (gras)
+ - API Change: gras_os_sleep to take the amount of seconds as a double.
+ Accepting an int was error prone since it was the only location where
+ seconds were coded as such. It leaded to damn rounding errors.
+ - Bugfix: Hard to belive that timers ever worked before this.
+
+ -- SimGrid team <simgrid2-users@listes.ens-lyon.fr> Wed, 23 Feb 2005 22:09:21 +0100
+
+SimGrid (2.91) unstable; urgency=low
+
+ Alpha 2 on the path to SimGrid 3
+
+ [Arnaud]
+ (surf)
+ - Bug fix in the lmm_solver.
+ (msg)
+ - New! Interface to Paje (see http://www-id.imag.fr/Logiciels/paje/)
+ through the function MSG_paje_output.
+ - New! Introducing two new functions MSG_process_kill() and MSG_process_killall().
+ - It is possible to bound the rate of a communication in MSG with
+ MSG_task_put_bounded() (was already in the previous version but I had forgotten
+ to write it in the changelog).
+ - Bug fix to let GRAS run on top of MSG until we move it directly on top
+ of the SURF.
+
+ [Martin]
+ (infrastructure)
+ - Various cleanups to the autotools stuff
+ - Begin to move Gras examples to examples/gras/
+ - Let make distcheck work again (yeah!)
+ (documentation)
+ - documentation overhauled using doxygen.
+ gtk-doc-tools is dead in SimGrid now.
+ - Automatically extract all existing logging categories, and add the list
+ to the documentation (long standing one, to say the less)
+ (gras)
+ - Cleanup the known architecture table. Reorder the entries to group what
+ should be, and use a more consistent naming scheme.
+ (some of the test dataset are still to be regenerated)
+ - New! Allow library to register globals on each process just as userdata
+ does.
+ This is implemented using a xbt_dict and not a xbt_set, so we loose the
+ lookup time (for now).
+ Use it in msg and trp.
+ This cleans a lot the internals and helps enforcing privacy of the
+ headers between the gras components.
+ - New! Add a timer mechanism, not unlike cron(8) and at(1).
+ - Bugfix: gras_os_time was delirious in RL.
+ - Bugfix: gras_trp_select/RL don't run into the wall when asked to select
+ onto 0 sockets.
+ - Reenable GRAS now that it works.
+
+ -- Arnaud Legrand <Arnaud.Legrand@imag.fr> Mon, 14 Feb 2005 14:02:13 -0800
+
+SimGrid (2.90) unstable; urgency=low
+
+ Alpha 1 on the path to SimGrid 3
+
+ * It is a long time since the last release of SimGrid. I'm sorry about
+ that but as I had told you, I was rewriting a lot of things. I apologize
+ to those who had been reporting bugs to me and that I had not answered.
+ If your bug is still in the new version, please tell me. Here is a
+ summary of the main changes.
+
+ * REVOLUTION 1: The SimGrid project has merged with the GRAS project
+ lead by Martin Quinson. As a consequence SimGrid gains a lot in
+ portability, speed, and a lot more but you'll figure it out later.
+ SimGrid now comprises 3 different projects : MSG, GRAS and SMPI.
+ I wanted to release the new MSG as soon as possible and I have
+ broken GRAS, which is the reason why, for now, only MSG is fully
+ functional. A laconic description of these projects is available
+ in the documentation.
+
+ * REVOLUTION 2: I have removed SG and I am now using a new simulation
+ kernel optimized for our needs (called SURF but only the developers
+ should use it). Hence, MSG is now roughly 30 times faster and I think
+ that by rewriting a little bit MSG, I could event speed it up a little
+ bit more. Beside the gain in speed, it is also much easier to encode a
+ new platform model with SURF than it was with SG. More to come...
+
+ * REVOLUTION 3: I have tried to change a little as possible the API of
+ MSG but a few things really had to disappear. The main differences
+ with the previous version are :
+ 1) no more m_links_t and the corresponding functions. Platforms are
+ directly read from a XML description and cannot be hard-coded
+ anymore. The same format is used for application deployment
+ description. The new format is described in the documentation.
+ Have a look in tools/platform_generation. There is a tiny script
+ that converts from the old platform format to the new one. Concerning
+ the application deployment format, parsing the old one is tricky.
+ I think most of you should however be able to convert your files. If
+ it is really an issue, I can write a C code that does the conversion.
+ Let me know.
+ 2) the toolbox tbx does not exist anymore. We now have a library
+ with much more data-structures but without the hash-tables (we have
+ dictionaries that are much faster).
+
+ -- Arnaud Legrand <Arnaud.Legrand@imag.fr> Mon, 31 Jan 2005 10:45:53 -0800
+
+*****************************************************************************
+* Follows the old GRAS changelog. It does not follow the same syntax, but I *
+* don't feel like converting the oldies. (Mt) *
+*****************************************************************************
+
+2005-01-31 Arnaud
+ Version 2.90: "the long awaited one"
+ - Finished rewriting and debugging MSG. Rewrote the documentation.
+ - disable GRAS for now since it needs to be ported to the newest SG
+
+2004-12-16 Martin
+ - Finish the port to windows (using mingw32 for cross-compile)
+
+2004-11-28 Arnaud
+ - 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
+ to 'make check' over there yet.
+
+2004-11-15 Arnaud Legrand
+ - Trace manager now written. It uses a heap structure and is therefore
+ expected to be efficient. It may however be speeded up (particularly
+ when many events occur at the same date) by using red and black
+ trees. One day maybe...
+ - Max-min linear system solver written. It uses a sparse matrix
+ structure taking advantage of its expected use. Most operations are
+ O(1) and free/calloc are called as few as possible. The computation of
+ the minimum could however be improved by using a red and black tree
+ (again ! ;).
+
+2004-11-03 Arnaud Legrand
+ - Rename every gras_* function that was in xbt/ to its xbt_
+ counterpart.
+ - Add a heap and a doubly-linked list to xbt
+ - Added a dichotomy to the dictionaries. make check works as well before
+ so I assume that the patch is correct. I do not know however if things
+ run effectively faster than before now. :)
+
+ Inclusion of the SimGrid tree in the GRAS one. The archive is renamed to
+ SimGrid, and the version number is bumped to 2.x
+
+2004-10-29 Martin Quinson
+ - Introduction of the remote errors.
+ They are the result of a RMI/RPC on the remote machine.
+ ErrCodes being scalar values, you can't get the host on which those
+ errors did happen. Extending the error mechanism as in Gnome is possible.
+ No idea yet whether it is a good idea.
+
+2004-10-28 Martin Quinson
+ - Interface revolution: the Starred Structure Eradication.
+ I used to do typedef struct {} toto_t; and then handle *toto_t.
+ Arnaud (and Oli) didn't like it, and I surrendered. Now, you have:
+ - ???_t is a valid type (builded with typedef)
+ - s_toto_t is a structure (access to fields with .)
+ - s_toto is a structure needing 'struct' keyword to be used
+ - e_toto_t is an enum
+ - toto_t is an 'object' (struct*)
+ Exemple:
+ typedef struct s_toto {} s_toto_t, *toto_t;
+ typedef enum {} e_toto_t;
+ Moreover, only toto_t (and e_toto_t) are public. The rest (mainly
+ s_toto_t) is private.
+
+ - While I was at it, all gras_<obj>_free() functions want a gras_<obj>_t*
+ so that it can set the variable to NULL. It was so for dicts and sets,
+ it changed for dynars.
+
+ - Fix a bunch of memleaks in dict_remove
+ - Fix a bug in sg/server_socket opening: it failed all the time.
+
+2004-10-07 Martin Quinson
+ - Speed up dynar lookup operation a bit.
+
+ gras_dynar_get is dead.
+
+ Now, you can choose between gras_dynar_get_cpy (the old gras_dynar_get
+ but should be avoided for efficiency reasons) and gras_dynar_get_ptr
+ (which gives you the address of the stored data).
+
+ gras_dynar_get_as is an helpful macro which allows you to retrieve a
+ copy of the data using an affectation to do the job and not a memcpy.
+
+ int toto = gras_dynar_get_as(dyn,0,int); rewrites itself to
+ int toto = *(int*)gras_dynar_get_ptr(dyn,0);
+
+ It does not really speedup the dynar test because they are
+ setting elements all the time (and look them seldom). But the dict does
+ far more lookup than setting.
+
+ So, this brings the dict_crash test from ~33s to ~25s (200000 elms).
+
+2004-10-05 Martin Quinson
+ - Allow to (en/dis)able the cycle detection at run time.
+
+ Whether we should check for cycle or not is now a property of each
+ datatype. When you think there may be some cycle, use datadesc_cycle_set.
+ datadesc_cycle_unset allow to remove this property when previously set.
+
+ Note that the cycle detection is off by default since it impacts the
+ performance. Watch the data you feed GRAS with ;)
+
+ This property is hereditary. Any element embedded in a structure having it
+ set have it set for the time of this data exchange.
+
+ You should set it both on sender and receiver side. If you don't set it on
+ sender side, it will enter an endless loop. If you forget on receiver
+ side, the cycles won't be recreated after communication.
+
+ - Header reorganization.
+ Kill gras_private.h, each submodule must load the headers it needs.
+
+2004-10-04 Martin Quinson
+ - Interface revolution: do not try to survive to malloc failure.
+
+ Now, gras_malloc and friends call gras_abort() on failure.
+ As a conclusion, malloc_error is not a valid error anymore, and all
+ functions for which it was the only gras_error_t return value are
+ changed. They now return void, or there result directly.
+ This simplify the API a lot.
+
+2004-09-29 Martin Quinson
+ - Re-enable raw sockets.
+ Created by gras_socket_{client,server}_ext;
+ Used with gras_raw_{send,recv}
+ No select possible.
+
+ It should allow to kill the last bits of gras first version soon.
+
+ This is not completely satisfactory yet (duplicate code with
+ chunk_{send,recv}; a bit out of the plugin mechanism), but it should
+ work.
+
+ - Simplify transport plugin (internal) interface by not passing any
+ argument to _server and _client, but embedding them in the socket
+ struct directly.
+
+2004-09-28 Martin Quinson
+ - Finish the port to AIX.
+ autoconf was my problem (segfault within the malloc replacement
+ function. No idea why)
+