X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9d6799cde35ff2d3c7659889fa4f28721fcd094d..c58ea87cec17230c9216182da38a06e43d54dd61:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 018196ae7e..c628e23e38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,241 @@ -SimGrid (3.1.1) unstable; urgency=low +SimGrid (3.3.2-svn) unstable; urgency=low + + SMPI: + * Implement MPI_Waitany and MPI_Waitall + + -- Da SimGrid team + +SimGrid (3.3.1) stable; urgency=low + + OVERALL CHANGES: + * Implement a --cfg-help to show existing configuration variables + * Build chain do not require doxygen in maintainer mode + + GRAS: + * fix a bug on struct sizeof computation, which prevented the + exchange of arrays of structs in some conditions + - added a regression test about this in datadesc_usage + * Allow the exchange of 0-long dynamic vectors. + - for that, use -1 as indicator of dynamic size instead of 0 + - This implied to change any size from unsigned long to long, + reducing a bit communication abilities, but I guess that with + 64bits being quite common, this is more than enough. + - This also induce a protocol change, thus bumping network protocol + version from 0 to 1 (if we have external users, we have to get + clean on that point too ;) + - added two regression tests about this in datadesc_usage + * Be more verbose when propagating local exceptions + This helps debugging. + * Display the status of simulated processes when receiving SIGINT in + simulation mode + + MSG: + * Allow to control the simulation from a trace file. + New functions MSG_action_register() and MSG_action_trace_run() + The first one allows to associate a function execution to each + kind of action while the second one parses a trace file and + triggers the corresponding actions within the system. + For now, only a toy example is provided in examples/msg/actions + * Add an exemple of process migration in examples/msg/migration + * Fix a bug in task exchange which broke MSG_task_get_sender() + Add a teshsuite regression test for that. + [Bug: if MSG_task_get_sender() is called after sender exit, + bad things happen] + * Fix a bug which prevented suspend/resume to work properly + * Display the status of simulated processes when receiving SIGINT + This fixes a regression of v3.3. due to the introduction of SIMIX + * Bug fixing in failure management: + - trace could not start by a failure at time 0 + - failure during communications were not working + + SIMIX: + * Add SIMIX_process_set_name() to change the name of the current + process in the log messages. + * Store smx_hosts in a dict since we only retrieve them by name + * Move the configuration infrastructure to surf + + SIMDAG: + * Move the configuration infrastructure to surf + + SMPI: + * Massive internal cleanups: + - Store internal structures on processes instead of hosts (allows + to have more than one process per host, in addition of being more + logical) + - Cleanup the initialization/finalization process + - Kill a whole bunch of unneeded synchronization: + processes run in exclusive manner within the simulator + - Move queues from global tables to process data fields + * Improve smpirun: + - now accept -platform and -hostfile arguments + - Pass the right rank value to processes according to the hostfile + * Compile the examples by default, and use them as regression tests + * Implement MPI_Wtime() + * Change the reference speed to a command line option + + SURF: + * TCP_gamma can now be specified as command line option using + --cfg=TCP_gamma:10000000.0 + * Change the --surf-path cmd line option into --cfg=path: + + XBT: + * Also include strbuff from xbt.h public header + * xbt_ex_display(): do not free the exception after displaying + This allows to do more with the given exception afterward. + Users should call xbt_ex_free() themselves. + + - GRAS: + Portability report of this version: + * Main portability targets: + - Linux(debian)/x86/context + - Linux(debian)/x86/pthreads + - Linux(debian)/amd64/context + - Linux(debian)/amd64/pthreads + These targets fail about 1/10 of times on gras/pmm, but we believe + that this is because of the test, not because of simgrid. + amok/saturate_sg fails even more rarely, and the test may not be + the problee. + + - Mac OSX Leopard/x86/context + The test suite still spits tons of errors because some obscure + force prevents us from removing the temporary directories + arguing that they still contain some metadata I've never heard of. + Smpi fails because seq is not installed. + Everything seems to work properly beside of that. + + * Exotic platforms: + - AIX version 5.3 (both contexts and pthread) + Smpi still fails there because mktemp is not installed. + XML inclusions seems rosty on AIX. + + * Windows: it's still lagging behind. If you want to help, please + stand up. + + -- Da SimGrid team Sat, 27 Jun 2009 00:14:30 +0200 + +SimGrid (3.3) stable; urgency=high + + OVERALL CHANGES: + + * JAVA BINDINGS for MSG (you dreamt of them? We made them) + [Malek Cherier & Mt] + + * Introduce the SIMIX module: factorize code between MSG and GRAS. + [Bruno Donassolo] + + Until now, GRAS were using MSG as an interface to SURF. It was + quite difficult because both interface have several differences + (MSG channels vs GRAS sockets were the most notable point). + + This also opens the gate to SMPI (which should occur soon) and speed + up simulations by to 40% (even if it were not the main goal). + + ************************************** + *DO NOT MIX 3.2 RESULTS WITH 3.3 ONES* Simix may changes simulations! + ************************************** + The point is that events occuring at the exact same timestamp are + not scheduled in the same order with the old and new version. This + may be enough to completely change the execution of simulations in + some cases. Sorry for the inconvenience. + + * Cleanup and upgrade the XML format to push further scalability + issues (check http://hal.inria.fr/inria-00256883/ for more info) + + * Improve the testing infrastructure with tesh. Now a very large part of + the code is tested not only by being run but also by checking that the + output match an expected output [Mt]. + + * Move on to FleXML v1.7 for the embeeded XML parsers. This version + is really less memory-demanding, which should allow you to use + larger files in SimGrid [AL]. + + * Inform valgrind about our contextes, so that it becomes usable + with the default (and more effecient) version of SimGrid + [contributed by Sékou Diakite, many thanks] + + GRAS: + * Introduce a listener thread in charge of receiving incomming + messages from the network. It allows to overlap communication and + computation but most notably, it removes some stupid deadlocks due + to the fact that so far, a process could not send and receive at + the same time. This made most non trivial communication schema + impossible. + * Convert the PIDs from long int to int to match the MSG ones (and + linux ones too) [Mt] + * New function: gras_agent_spawn() to launch a new process on + current host. Only working in simulation for now. [Mt] + * New function: gras_os_hostport() returning a constant form (ie, + not needing to be freed) of "gras_os_hostname():gras_os_myport()" + + XBT: + * Make the backtrace of exceptions more human readable [Mt] + * New module: xbt/str [Mt] + a ton of string utility functions (split, join, printf to a newly + allocated buffer, trim, etc) + * New module: xbt/hash [Mt] + SHA1 hashing algorithm (more to come if needed) + * New module: xbt/synchro [Mt] + synchronization tools (mutex and conditions) working the same way + in simulation and in real life (mainly useful for GRAS, but not + only). + * New module: xbt/queue [Mt] + classical producer/consumer synchronization scheme + * xbt_dynar_new_sync() creates a synchronized dynar. All access + (using the classical functions will get serialized) [Mt] + * Make dictionary internal table dynamic. No need to specify its size + anymore; functions xbt_dict_new_ext() and xbt_dict_hashsize_set() + thus dropped. [Mt]. + * Make sure the log channels are organized as a tree under windows + (because of ANSI C compatibility issue, any channel were child of + root directly) [Mt]. + + SURF: + * Cleaned many thing in surf and fixed a few bugs [AL]. + * Add a nice command line configuration mechanism to compose models [AL]. + * Add a new model for parallel tasks (ptask_L07) that is less buggy than + the previous one (KCCFLN05). It relies on something that looks like + a max-min sharing mechanism but cannot be written as such. A new solver + was thus designed [AL]. + * Add a new solver to lmm. Based on Lagrange optimization and + gradient-based descent, it enables to efficiently maximise systems s.a + + sum f_i(x_i) s.t Ax<= b with A_{i,j}>=0 and f_i a concave function. + + This solver enables to propose two new network models for TCP Reno and + TCP Vegas based on Low's work. These models still need to be fully + tested though [Pedro Velho]. + + SIMDAG [AL]: + * Bug fix in SD_simulate. Now the time bound given as argument is + used. + * Use the new parallel task model (ptask_L07) as default. + * Use the SURF command line configuration mechanism. + * 0-size tasks (for synchronization) should now work. + + -- Da SimGrid team Sun Apr 12 05:20:36 CEST 2009 + +SimGrid (3.2) stable; urgency=high + + OVERALL CHANGES: + * Port to windows. + We still experience issues on this platform, but we believe that at + least MSG is usable. + + GRAS API BREAKAGE (for simplification purpose, sorry): + * the gras_msgtype_by_name is not used anymore. Instead of + gras_msg_send(toserver, gras_msgtype_by_name("request"), &request); + you can write (and must) + gras_msg_send(toserver, "request", &request); + - If you still want to pass a gras_msgtype_t to the function (to cache + the type and avoid the lookup time), use the gras_msg_send_() variant. + - Impacted functions: + gras_cb_register, gras_cb_unregister, gras_msg_send, gras_msg_wait, + gras_msg_rpccall, gras_msg_rpc_async_call, gras_msg_wait_ext + * The callbacks are now expected to return 0 when everything went well + (just like the main() function) + + GRAS new features and improvements: * New module mecanism where user code can use per process globals [Mt] This is similar to gras_userdata_*() functions, but for libraries. It factorize some code developped over and over in the examples and AMOK. @@ -14,13 +249,20 @@ SimGrid (3.1.1) unstable; urgency=low * In gras_msg_handle, do not discard messages without callback. They are probably messages to be explicitly awaited later (ie, proofs of mis-synchronization in userland since they are sent before being awaited) - No big deal usually + No big deal usually. + * gras_socket_meas_send/recv: semantic changed! + The numerical arguments used to be (1) the total amount of data to send + and (2) msg_size. This was changed to (1) msg_size and (2) amount of + messages. This was need for the fool willing to send more than MAXINT + bytes on quite fat pipes. AMOK: * Do really rename the hostmanagement module to peermanagement. [Mt] Ie, rename functions from amok_hm_* to amok_pm_*. This breaks the API, but this is rather new and this was documented in the module documentation (poor excuses, I admit) + * Bandwidth measurement semantic changed! This follows the changes to + gras_socket_meas_send/recv explained above. SIMDAG: * A sequential mode has been added to the workstations. When a workstation @@ -49,16 +291,17 @@ SimGrid (3.1.1) unstable; urgency=low - "Valgrind spits tons of errors!" [Mt] - "How to repport bugs" [Mt] - "Cross-compiling a Windows DLL of SimGrid from Linux" [Mt] + - "What is the difference between MSG, SimDag, and GRAS?" [Mt] - Communication time measurement within MSG [AL] - I experience weird communication times when I change the latency [AL] * GRAS tutorial [Mt] It contains: - an introduction to the framework and to the used communication model - an initiatic tour introducing the most proheminent features: - # Part 1: Bases + o Part 1: Bases . Lesson 0: Installing GRAS . Lesson 1: Setting up your own project - # Part 2: Message passing + o Part 2: Message passing . Lesson 2: Exchanging simple messages . Lesson 3: Passing arguments to the processes (in SG) . Lesson 4: Attaching callbacks to messages @@ -67,12 +310,17 @@ SimGrid (3.1.1) unstable; urgency=low . Lesson 7: Using internal timers . Lesson 8: Handling errors through exceptions . Lesson 9: Exchanging simple data + . Lesson 10: Remote Procedure Calling (RPC) + . Lesson 11: Explicitely waiting for messages + . Recapping of message passing features in GRAS + - A HOWTO section containing: + o HOWTO design a GRAS application More are due, of course. They will come latter. In the meanwhile, you can check the examples which are still here. - -- + -- Da SimGrid team Fri Mar 16 21:11:46 CET 2007 -SimGrid (3.1) unstable; urgency=low +SimGrid (3.1) stable; urgency=high General: * Port to gcc 4.x @@ -168,7 +416,7 @@ SimGrid (3.1) unstable; urgency=low -- Da SimGrid team Fri, 14 Jul 2006 01:32:27 +0200 -SimGrid (3.0.1) unstable; urgency=low +SimGrid (3.0.1) stable; urgency=low XBT: * Unfortunately, I had missed 5 misnamed functions: @@ -265,7 +513,7 @@ SimGrid (3.0.1) unstable; urgency=low -- Da SimGrid team Fri, 21 Oct 2005 14:42:20 +0200 -SimGrid (3.00) stable; urgency=low +SimGrid (3.00) stable; urgency=high SURF: * New! Give the possibility to hijack the surf parser and thus bypass @@ -1038,3 +1286,7 @@ SimGrid (2.90) unstable; urgency=low - Get rid of libgrasutils.a since it makes more trouble than it solves. Build examples against the RL library, since there is no way to disable its creation for now. + +For information, the beginning of coding on GRAS was back in june +2003. I guess that every line has been rewritten at least twice since +then.