X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bea8fdd9290539de8eed3f523a99bb9fdd82204a..7fc9fe25f03b219bd45664a5244b7487b89d1afc:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 605e37163f..0f61356d57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,32 +1,239 @@ -SimGrid (2.94-cvs) UNRELEASED +SimGrid (3.0.2) unstable; urgency=low ----- -TODO ----- + XBT: + * New module: testsuite [MQ] -- Faire descendre gras de msg? -- Compilation de data_send/recv? -- La révolution des exceptions ? -Je pense que c'est plutot post SG3, tout ca. + -- -Plutot finaliser ce qui est commencé et finir le Grand Nettoyage: - - regarder ce qu'on peut couper de la xbt - - diffusion "pull" dans graspe +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] + * 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 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 + + 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 Sat, 20 Aug 2005 23:25:25 -0700 ----- -DONE ----- - [Arnaud] +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 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) + * .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 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. + 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 @@ -35,11 +242,11 @@ DONE (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. + 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] + >>>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 @@ -47,18 +254,31 @@ DONE * 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 Fri, 13 May 2005 10:49:31 +0200 SimGrid (2.93) unstable; urgency=low