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.
SURF
* New model for multi-core CPUs. You can now use the core attribute to
combine Vivaldi based latencies with last-mile platforms.
Simix
- * Completely rewrote this module to allow parallel execution.
* 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
* 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/cunit.h: xbt_test_{add,fail,assert,log}
+ 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.
INSTR
* New configuration options
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
+
+ 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.
-- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>