X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2cccec628ccfbafebaca6ef3498361e892d740ea..25b31efeeec9e1c74b5260269eff7793a8b6e002:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 7c70c2e079..a99f0609d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,106 @@ -SimGrid (3.4-svn) unstable; urgency=high +SimGrid (3.3.2-svn) unstable; urgency=low + + The "Simplicity does not preceed complexity, but follows it" release. + + The main contributors of this release were (lexical order): + Silas De Munck, Stéphane Genaud, Martin Quinson, Cristian Rosa. + + SMPI: + * Implement some more MPI primitives: + MPI_Bcast, MPI_Waitany, MPI_Waitall, MPI_Reduce, MPI_Allreduce, MPI_Sendrecv, MPI_Alltoall + -implementation: Bcast: flat or 2-ary tree (default), + Barrier: 4-ary tree, + Reduce: flat tree + Allreduce: Reduce then Bcast + Alltoall: basic_linear if data per proc < 3Kb, otherwise pairwise. + Not yet implemented: bruck for data per proc < 200b and comm size > 12 + * Add support for optimized collectives (Bcast is now binomial by default) + * Port smpirun and smpicc to OS X + + SURF: + * Extract the routing logic into its own object. + (was dupplicated in network.c and workstation_LV07.c; + Allows to implement other ways of storing that info) + => kill now useless network_card concept + - Use dynar to represent routes (instead of void** + int*) + - kill link_set (use surf_network_model->resource_set instead) + - Add a command-line option to choose the routing schema to use + - Add three new models: + * Floyd (shortest path computed at initialization) + * Dijikstra (shortest path recomputed all the time) + * Cached Dijikstra (shortest path computed on need) + All these models where contributed by Silas De Munck, and are + described in his ICCS09 paper. + + * Simplify model declaration + (less redirections, less function to write when defining a model) + - Factorize stuff between models: + - model_init/exit + - Set of resources: + surf_model_resource_set(model) + surf_model_resource_by_name(model, name) + - Unify the types of models in s_surf_model_t (using an union) + - Embeed fields of common_public directly into s_surf_model_t + - Rename model methods: + action_free ~> action_unref + action_change_state ~> action_state_set + action_get_state ~> action_state_get + - Change model methods into functions : + (model)->common_public->action_use ~> surf_action_ref + + * Implement a generic resource; use it as ancestor to specific ones + (allows to kill duplicated code in models) + Drawback: timer command don't need no name nor properties; + workstation_CLM03 don't need no properties + (but I guess we can live with those few bytes wasted) + + * Improve the action object model + - implement a constructor avoiding dupplicated code about field + initialization in generic_action part. + + * Kill the SDP model: it has an external dependency, is deprecated + in flavor of modern lmm models, and didn't compile since a while + + SimDag: + * Kill SD_link_get_properties: hard to maintain and makes very little sense + Shout out if you used it. + + GRAS: + * Display the list of still queued messages in SG mode when existing + the process. + + XBT: + * Add xbt_set_get_by_name_or_null() [Silas De Munck] + * Add xbt_graph_node_get_outedges() [Silas De Munck] + * Add xbt_str_from_file(FILE*) + * Add xbt_dict_get_key achieving a linear reverse search + + -- Da SimGrid team + +SimGrid (3.3.1) stable; urgency=low OVERALL CHANGES: - * Also include strbuff from xbt.h public header - + * 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() @@ -14,12 +108,83 @@ SimGrid (3.4-svn) unstable; urgency=high 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. + + + + 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 + -- Da SimGrid team Sat, 27 Jun 2009 00:14:30 +0200 SimGrid (3.3) stable; urgency=high @@ -1196,4 +1361,4 @@ SimGrid (2.90) unstable; urgency=low 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. \ No newline at end of file +then.