X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ac4b1f28abf1cd9b7448e8277fdc7cb57c89e982..27ab0589420bc5bb6d52e5fdc54bab36c63b8be0:/ChangeLog diff --git a/ChangeLog b/ChangeLog index ba12009afb..048bf58ef3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,19 @@ -SimGrid (3.3.5-svn) unstable; urgency=low +SimGrid (3.4-svn) unstable; urgency=low + + The "Easter in Cargese" release. Also known as (major changes): + + * the "se habla Java, Ruby 話せます, fala-se Lua (and deaf-friendly)" + ~> bindings were greatly improved + ~> new tracing infrastructure for better visualization introduced + + * the "Welcome to configury modernity" release. + ~> we switched from autotools to cmake, and improved our cdash - The "C spoken, se habla Java, Ruby 話せます, fala-se Lua" release. + + A more detailled list of changes follow (full detail in svn log). Java Bindings: Various Cleanups + * (install java-gcj-compat-dev on debian-like to use them) * Remove put/get: no need to export deprecated interface in Java Use send/receive instead. * Cleanup the examples and add a README per directory @@ -11,30 +22,128 @@ SimGrid (3.3.5-svn) unstable; urgency=low * Make JniException a runtime exception, so that there is no need to declare the fact that you may encounter such a beast. I guess that nobody will ever want to survive such error. - Ruby Bindings: create it - * That's new and great, you should try it out. - Kinda the same functionalities than Java bindings + * Create specific errors for each MSG case of failure: + host failure, transfer failure, timeout, task cancelled + * Cleanup the exceptions that may get thrown by each function + * Other internal cleanups in Java bindings. Performance still bad :/ + Ruby and Lua Bindings: create them + * (install ruby1.8-dev/liblua5.1-0-dev on debian-like to use them) + * That's new and great, you should try them out. + Same functionalities than Java bindings, only even less polished SimDag: * Kill the useless "rate" argument of SD_task_get_execution_time() Everyone used to provide -1 as a value, it was not used, and the semantic of a possible use wasn't even clear. * SD_SCHED_NO_COST: Constant to use as cost in SD_task_schedule() either as comm costs or compute costs to mean that there is no - such thing for that specific task. + such thing for that specific task. + * Add a SD_task_set_name() function + * Fix SD_task_unschedule() on typed tasks + * Fix SD_task_get_execution_time() to return seconds, not flop*sec + * In DAX loader, accept useless 'level' attributes to since + LIGO DAGs have them (seem to be to ease graphical representation). MSG: - * In trace replay, allow to have one trace file per process. - Give the specific trace file as argument of each process, - and call MSG_action_trace_run(NULL) - You can still have one merged file for each processes. + * Add an example masterslave_mailbox.c using send/receive and not + the deprecated put/get interface. * Kill the MSG_paje_output() function. It's a noop since 2 years. * Kill MSG_WARNING and MSG_FATAL return codes: they were not used anywere in source. - SIMIX: - * add a SIMIX_sem_get_capacity() function + * Rename MSG_TIMEOUT_FAILURE into MSG_TIMEOUT for sake of logic + (declare MSG_USE_DEPRECATED to still have the old name) + * Add a MSG_task_set_data() function + * About trace replay (see examples/msg/actions): + - implement barrier + - Allow to work with splitted trace files for each process + Give the specific trace file as argument of each process, + and call MSG_action_trace_run(NULL) + You can still have one merged file for all processes. + - Fix implementation of collective operations SMPI: - * Implement MPI_Get_count, MPI_MAXLOC, MPI_MINLOC - - + * This is the first release of SimGrid where SMPI is not considered + beta anymore (even if some corners should still be improved) + * Port over the new SIMIX_network submodule (internal refactoring) + * Basic support to log events as with SMPE (use --cfg=SMPE:1) + * Implement more missing elements of the standard: + - MPI_COMM_SELF + - MPI_MAXLOC MPI_MINLOC + all associated datatype MPI_DOUBLE_INT, + MPI_FLOAT_INT, etc. + - MPI_Address() MPI_Get_count() MPI_Type_free() MPI_Type_extent() + MPI_Scan() MPI_Get_processor_name() + - Added implementation of missing case for Alltoall (warning: it's + *not* the bruck variant from OpenMPI; based on Alltoallv instead) + - SMPI_MPI_Gather() SMPI_MPI_Gatherv() SMPI_MPI_Scatterv() + SMPI_MPI_Reduce_scatter() SMPI_MPI_Allgather() + SMPI_MPI_Allgatherv() + * Bug fixes include: + - MPI_Waitsome() was broken + - Allow relative includes in smpicc + - Command line cfg argument 'reference_speed' was ignored... + - Some functions did not properly lead to auto-benching of user code + - smpicc passes -O2 by default (just like openmpi one) + SIMIX: + * add SIMIX_action_suspend() and SIMIX_action_resume() functions + * Bug fixes about timeouts during communications + * add SIMIX_message_sizes_output() as a pimple to write to file the + amount of messages per size. Use gnuplot to get histogram. + Pimple because that's the only user-visible function of simix, + defined directly in xbt.h (irk, sorry) + * About semaphores: + - Add a SIMIX_sem_get_capacity() function + - Fix interactions with processe resume/suspende + - release_forever() was stupidly broken + - Fix SIMIX_display_process_status() for processes in a semaphore + - Make SIMIX_sem_block_onto() user-visible + * Refactoring context stuff: + - Use pseudo-OOP for better modularity + - reimplement SIMIX_process_kill() without process_schedule() so + that the latter can take as invariant that it is called from + maestro. + - Merge context_start into context_new for sake of simplicity + SURF: + * Rename configuration variables to start a hierarchy: + o cpu_model -> cpu/model + o network_model -> network/model + o workstation_model -> workstation/model + * New configuration variables: + o network/bandwidth_factor: correction to bandwith + o network/latency_factor: correction to latency + o netwotk/weight_S: correction to the weight of competing streams + * Add a long description to the models, that users can see with such + argument on the command line: --cfg=cpu/model:help + * --help-models display the long description of all known models + XBT: + * config: add the ability to set a default value after registration + Does not override any previously set value (e.g. from cmd line) + * dict: allow to have integer key and data. + When so, you need to use the following functions + void xbt_dicti_set(xbt_dict_t dict, uintptr_t key, uintptr_t data); + uintptr_t xbt_dicti_get(xbt_dict_t dict, uintptr_t key); + void xbt_dicti_remove(xbt_dict_t dict, uintptr_t key); + In contrary to regular dicts, the key is not malloced before copy. + Mixing scalar and regular elements in the same dict is not tested + (but may work). + * Allow to use xbt_dynar_shrink() to expend the dynar instead + Tracing for Visualization: + * SimGrid is now instrumented in order to generate a trace file for + visualization analysis: to use it, need to compile SimGrid with the + "tracing" option enabled, and instrument the program using SimGrid with + TRACE_start, TRACE_category, TRACE_msg_set_task_category and TRACE_end + (among other functions). + * The instrumentation only traces the platform utilization for now + * Documentation to use the tracing functions and how to analyze the + traces with the Triva tool is written. + * More information about: SimGrid FAQ (in the section Tracing Simulations + for Visualization) + Build system: + * We moved to cmake as default build system. Autotools support will + be dropped soon. Check the FAQ for more info about how to use it. + * Greatly improved our cdash/ctest interactions + Check http://cdash.inria.fr/CDash/index.php?project=Simgrid + * Added memory checking tests with valgrind; lot of memleak fixing. + This may be the first release of simgrid with so few memory issues + * Added code coverage tests. + Our coverage is still improvable, but at least we see it on cdash. + -- Da SimGrid team