X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/094c97e3586d1703f0d01e539b2570b535ccbe2b..9e8d76f5eb3db584150db55fc3929623188b6b08:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 726c1838c5..fc7f541a0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,9 +2,23 @@ SimGrid (3.6) unstable; urgency=low MSG * Change the prototypes of action replay. Sorry for inconvenience, - but this is really more efficient this way. + but this is really more efficient this way (and to adapt your code, + you just have to fix the initialization, that shouldn't be too long) * Kill the braindead MSG_task_refcount_dec() function. I guess nobody ever managed to do anything useful with it. + * New function MSG_comm_testany(). Similarly to MSG_comm_waitany(), it + takes a dynar of communications. It returns immediately and gives the + index of a finished communication (if any). + * New function MSG_comm_get_status(). MSG_comm_test() and MSG_comm_testany() + only say if a communication is finished, no matter whether it succeeded or + failed. You can call MSG_comm_get_status() to know the status of a finished + communication. + * New function MSG_task_dsend() to send a task and detach it. When a + communication is detached, you are never notified of its success or failure + and the memory is released automatically once it is finished. This function + is useful when you don't care about the end nor the success of a + communication you send. + * New example: a basic implementation of the Chord P2P algorithm. SURF * New model for multi-core CPUs. You can now use the core attribute to @@ -22,16 +36,38 @@ SimGrid (3.6) unstable; urgency=low combine Vivaldi based latencies with last-mile platforms. Simix - * Completely rewrote this module to allow parallel execution. + * Added a check for NaN of IEEE754 infinite in the double entries of + the smx_user.c file * Introduce a new context factory "raw", highly inspirated from the - context factory, but using manually crafted functions in assembly to + ucontext factory, but using manually crafted functions in assembly to do the work in an efficient manner. + * Allow to change the used context factory at run time, not only at + compilation time. Use --cfg=contexts/factory:raw for maximal speed. + * Add an option --cfg=contexts/stacksize:N to set the stack size of the user + contextes at runtime (only with raw contexts or ucontexts). + * Completely rewrote this module to allow parallel execution of user + processes. Use --cfg=contexts/nthreads:N to execute user processes + with N parallel threads (the default is 1, meaning no parallelism). + * Allow to decide dynamically between sequential and parallel modes. + When nthreads > 1, you can use --cfg=contexts/threshold:P to run the user + processes in parallel only when their number is greater than or equal to P. XBT + * New command line option: if you pass --cfg=verbose-exit:0, SimGrid + won't output the state of processes when interrupted with Ctrl-C * Add a new function xbt_dynar_to_array that transforms a dynar into a NULL-terminated array. This may solve backward compatibility issues due to the change to return type of SD_Simulate. See also: http://lists.gforge.inria.fr/pipermail/simgrid-user/2010-December/002206.html + * Add new macros with variable number of arguments. + - in xbt/log.h: XBT_DEBUG, XBT_VERB, XBT_INFO, etc. + - in xbt/asserts.h: xbt_assert + - in xbt/cunit.h: xbt_test_{add,fail,assert,log} + - in xbt/ex.h: THROWF and RETHROWF. + Define XBT_USE_DEPRECATED if you want to use the old numbered macros like + INFO1, INFO2, etc. + * Change xbt_die() to accept a format string with arguments, just like printf. + * New data structure: xbt_lib_t, like a dict but more general and with better memory handling. INSTR * New configuration options @@ -51,6 +87,26 @@ SimGrid (3.6) unstable; urgency=low these options generate traces that are suited to gantt-charts, such as the space-time view of Paje * The experimental option tracing/msg/volume is deprecated its functionality may be reincorporated if needed + * Buffering + The tracing generates a trace file with unordered timestamped events, + because of the way the core simulator (surf) works. A script available + at the tools directory (fix-paje-trace.sh) can be used to put the events + in order. We have changed the tracing so it can generate ordered timestamped + events in the final trace, but depending on the simulator (and how much time + is simulated) that can lead to a huge memory utilization. It is desactivated + by default, but it can be activated using the --cfg=tracing/buffer:1 switch. + + Build Infrastructure + * Define a SIMGRID_VERSION macro in simgrid_config.h. + - We are trying hard to keep the API stable, but it may happen that + some things change (we're a research project after all, not a + nuclear plant operating system). If such things should happen, you + could rely on that macro to adapt. + - current value: 30600 for 3.06.00, aka 3.6 + * Define macro MAKE_SIMGRID_VERSION(major, minor, patch) to help building + a number that can be compared with SIMGRID_VERSION. + * Add a build option -Denable_debug (set to ON by default): when set to OFF, + assertions and verbose/debug logging events are disabled at compile time. -- Da SimGrid team