+SimGrid (2.92) unstable; urgency=low
+
+ Alpha 3 on the path to SimGrid 3
+
+ [Martin]
+ (xbt)
+ - Bugfix: let dicts work with NULL content (_foreach didn't) and cleanups
+
+ -- Martin Quinson <mquinson@debian.org> Wed, 23 Feb 2005 00:45:40 +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)
+
+2004-09-16 Martin Quinson
+ - Fix some size_t madness on 64bit architectures.
+
+2004-09-08 Martin Quinson
+ - Reduce the number of system headers loaded, overload some more system
+ calls (such as malloc to cast the result of the system one, and work
+ properly on AIX)
+ - Fix and reintroduce the config support
+
+2004-09-07 Martin Quinson
+ - Source code reorganization to allow Arnaud to surf all over there.
+ - Allow to document the logging categories.
+ - Remove all uppercase from logging categories and useless cleanup in names.
+
+2004-08-18 Martin Quinson
+ Version 0.6.2 (protocol not changed; API changed)
+ - Interface cleanup: gras_msgtype_by_name returns the type (instead of a
+ gras_error_t), and NULL when not found. Functions expecting a msgtype
+ as argument (msg_wait; msg_send) deal with NULL argument by providing a
+ hopefully usefull message.
+ - Portability to prehistoric sparcs again
+