+ MSG:
+ * Port of MSG's mailbox on top of SIMIX network
+ The put/get mechanism was greatly simplified on the way.
+
+ SIMIX:
+ * New SIMIX network module. Provides:
+ - Mailbox: rendez-vous mecanism to find with who you want to speak
+ - Synchronous send/recv: easier and hopefully faster since the
+ logic is handled in the maestro process directly now
+ - Asynchronous send/recv: you dreamt of it? It's here now
+ Too bad that nobody cared enough to propagate the change to MSG.
+ * Add semaphores as SIMIX synchronization mechanism.
+
+ SimDag:
+ * new function SD_daxload(char*) to load a DAX file
+ (see http://vtcpc.isi.edu/pegasus/index.php/WorkflowGenerator)
+ * Introduce typed tasks. Specify its kind and cost at creation.
+ At scheduling, just give where it should be placed, and the cost
+ for each involved resource is automatically computed.
+ Existing constructors so far (more to come of course):
+ - SD_task_create_comm_e2e() for end-to-end communication
+ - SD_task_create_comp_seq() for sequential computation
+ Use SD_task_schedulev() / SD_task_schedulel() to schedule them.
+ * new function SD_task_dump() for debuging display
+ * new function SD_task_dotty(task,FILE*) writing to file the info
+ about the task in dotty format
+ * SD_task_dependency_exists() can now cope with having one of its
+ arguments NULL. If so, it tests whether the other argument has any
+ dependency.
+ * Add getters on list of preceding/following tasks:
+ SD_task_get_parents(task) and SD_task_get_children(task)
+ * Add getters on amount of workstations and list:
+ SD_task_get_workstation_count(t) and SD_task_get_workstation_list(t)
+ * Add getter on task kind: SD_task_get_kind(task)
+ * Update the start_time and finish_time of tasks on completion/failure
+ * Bugfix: Remove task from state swags when destroyed
+
+ GRAS:
+ * New function: void gras_cpu_burn(double flops) -- a simple CPU burner
+
+ XBT:
+ * New function: xbt_dynar_dopar(dynar,fun) to map a function over the
+ dynar with one separate thread per value of the dynar.
+ * Change the prototype of xbt_thread_create(), sorry.
+ Added a boolean parameter indicating whether we want to join this
+ thread (used in SG only for now)
+ * Implement xbt_thread_join and xbt_thread_yield in SG also.
+
+ Bug fixes:
+ * GTNetS wrappers should now be usable again (and betterly tested too)
+ * Fix a major regression from 3.2 where the timeout provided to
+ MSG_task_put_with_timeout() was used as absolute time before which
+ the comm should be done.
+ * Start to fix the <cluster> tag.
+ - Internal links should be good now (beside of the loopback, which
+ use the private link instead)
+ - paths to the external world is still rather broken
+ - the <route:multi> tag is just broken. Actually that's brain-dead.
+ We need sth like <route:multi src="myCluster" dst="$*-${myCluster}">
+ to make it less stupid
+ ** Check your platform with teshsuite/simdag/platforms/flatifier **
+ * Fix a source-level compatibility glitch from 3.2: after defining
+ MSG_USE_DEPRECATED, you can use the old name
+ MSG_task_put_with_time_out() for MSG_task_put_with_timeout()
+ * Allow to compile from the SVN with automake 1.11
+ * Fix some problems when using the "start_time" tag in deployment XMLs.
+ * Fix #8569: XBT/synchro.h has redundant declarations
+ * Fix #8563: MSG return values and exceptions
+ Introduce a MSG_TIMEOUT_FAILURE return code and use it consistently.
+ * Integrate patch #8636: Obey DESTDIR when installing documentation.
+ Thanks to Robson Peixoto.
+ * Fix a vicious bug in dictionaries inducing that some elements were
+ not freed on xbt_dict_free()
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.3.3) stable; urgency=low
+
+ The "Need for Speed" release.
+
+ The timings done to validate the 3.3.2 were faulty.
+ Instead of being 5% faster, it was 15% slower (compared to 3.3.1).
+
+ The problem was a conversion from a manually handled vector to
+ xbt_dynar_t on the critical path.
+ xbt_dynar_foreach calls functions, inducing stack management crap.
+
+ We inlined these functions and xbt_dynar_foreach is now breath taking.
+ We also inlined xbt_swag_belong on the way.
+
+ Here are some approximate speedup measurements (on master/slaves
+ simulations lasting between 10s and 20s each):
+ 3.3.1 -> 3.3.2: about same performance
+ 3.3.2 -> 3.3.3: 40% speedup
+ 3.3.1 -> 3.3.3: 40% speedup
+ 3.3.1 with inline patch -> 3.3.3: 30% speedup
+
+ Our reading is that the refactoring which occurred in 3.3.2 made us
+ suffer much more from the xbt_dynar_foreach low performance, but
+ once we solved this, this refactoring proved to be very performance
+ effective. From the 40% speedup, somehow, 10% are due to the
+ inlining and 30% to the refactoring.
+
+ That's a pitty that gcc cannot inline functions placed in other files
+ alone. We have to choose between:
+ - break the encapsulation (by putting private data structures and
+ accessors in headers files to help gcc)
+ - live with low performance
+ - switch to a decent compiler such as icc (not quite possible).
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Thu, 20 Aug 2009 21:21:33 +0200
+
+SimGrid (3.3.2) stable; urgency=low
+
+ The "Simplicity does not preceed complexity, but follows it" release.