X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6d21ea9e493b9574f7817319a5e1ce54596101c9..2c3bea6a6bedf57e71ad871440eb588ddcbfbf02:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 28d5c4e574..0619cec5bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,122 @@ -SimGrid (3.01) unstable; urgency=low +SimGrid (3.1.1) unstable; urgency=low + + * Documentation update: + - New FAQ: "Valgrind spits tons of errors!" + - GRAS tutorial containing an introduction both to the GRAS framework + and to the used communication model as well as an initiatic tour + introducing the most proheminent features. Current tour TOC: + # Lesson 0: Installing GRAS + # Lesson 1: Setting up your own project + # Lesson 2: Exchanging simple messages + # Lesson 3: Passing arguments to the processes (in SG) + # Lesson 4: Attaching callbacks to messages + # Lesson 5: Using globals in processes + # Lesson 6: Logging informations properly + # Lesson 7: Using internal timers + # Lesson 8: Handling errors through exceptions + More a due, of course. At least the one explaining how to add data + into messages. In the meanwhile, you can check the examples which are + still here. + + -- + +SimGrid (3.1) unstable; urgency=low + + 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] + + -- Da SimGrid team Fri, 14 Jul 2006 01:32:27 +0200 + +SimGrid (3.0.1) unstable; urgency=low XBT: * Unfortunately, I had missed 5 misnamed functions: @@ -14,11 +132,86 @@ SimGrid (3.01) unstable; urgency=low 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] + * Documentation: xbt_log module unmercifully reworked [MQ] + * Bugfix: there was a problem with the ending of contexts with + the pthread backend. It caused some weird deadlock or behavior + depending on the pthread implementation. [AL] + * Bugfix: get the exceptions raised in the simulator repport where + and why they come from when they are not catched in time [AL, MQ] + + SURF: + * Bugfix: Do repport the error when two non-connected hosts try to + exchange data (Thanks to Flavien for stumbling into this one) [AL] + SURF: + * Add additionnal checkings on communications. Assert that two + communicating hosts are connected by a set of links... [AL] + MSG: - * Add addtionnal checkings on channel values in communicating functions. - - -- + * Add additionnal checkings on channel values in communication [AL] + * New: MSG_task_get_source to see on which host a task was generated [HC] + * New: int MSG_task_probe_from_host(int channel, m_host_t host): returns + the number of tasks waiting to be received on channel and sent + 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. + * New example (and documentation): Matrix Multiplication a la RPC + (as when I was young!) and fix a bunch of bugs found on the way. + + GRAS performance improvements: [MQ] + [DataDesc] + * Reduce the amount of cbps creation/destruction by making it static to + datadesc_send/recv() and using a (newly created) cbps_reset (based on + dynar_reset ()) + [Virtu] + * Change libdata to a set so that we can search for stuff by ID (and thus + reduce the insane amount of dict lookups) + + [Transport] + * 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. + * Use gras_datadesc_copy() to exchange messages on top of SG + Allows to: + - improve message exchange performance on top of SG + - deprecate transport_plugin_sg.c:gras_trp_sg_chunk_send() & recv() + * Don't exchange on the network the size of the used part of buffer, + instead, specify the possible buffer size to read(). + Advantages: + - reduces the amount of read/write calls (one pair per exchange) + - reduces the amount of exchanged data (the size) + - allows to retrieve all arrived data on receiver side, if we don't need + it right now (subsequent read will peek the buffer) + - allows the receiver to proceed with the begining of the stream before + everything is arrived + - make it possible to build an iov transport (using readv/writev) + Extra difficulty: + - take care of the data with non-stable storage (like stacked data), + and bufferize them. + * If possible, TCP send uses vector I/O (when writev() is here) + - Don't use it for receive since we send data sizes and data on the + same stream, so we wouldn't be able to chain large amount of chunks + before having to flush the stuff to read the size. + * Rework the transport plugin mecanism to simplify it and reduce the + amount of pointer dereferencement when searching for the right function + to use. + + * I guess that now, we do almost as few system calls as possible while + doing as few data copy as possible. + + To improve it further, we could try to send all the sizes first and then + all the data (to use iov on receiving size), but it's only a partial + solution: when you have 2 dimensional data, the sizes of the second + dimension is data of the first dimension, so you need 3 streams. + + I'm not sure the potential performance gains justify the coding burden. + + -- Da SimGrid team Fri, 21 Oct 2005 14:42:20 +0200 SimGrid (3.00) stable; urgency=low