-SimGrid (3.3.2-svn) unstable; urgency=low
+SimGrid (3.3.4) unstable; urgency=low
+
+ The "Desktop Grid needs love too" release.
+
+ Models improvements:
+ * Major speedup in the maxmin system solving by using lazy evaluation
+ Instead of solving completely the maxmin system at each iteration,
+ only invalidate (and recompute) the modified parts.
+ This new feature is enabled in default models but you can try to
+ turn it on with "--cfg:maxmin-selective-update=1" for other models.
+ * Cas01 IMproved as default CPU model
+ This CPU model is the same Cas01 model, but it uses the
+ maxmin-selective-update flag and a heap structure to manage
+ actions on SURF kernel.
+ It reduces the complexity to find the next action to finish and,
+ consequently, it's faster than the old Cas01.
+ This is the new default CPU model (Cas01).
+ * Rename the old Cas01 model to Cas01_fullupdate
+ Keep the old cpu model Cas01 with the new name of Cas01_fullupdate.
+ Use "--cfg=cpu_model:Cas01_fullupdate" to use the old default CPU model.
+ * CpuTI (CPU Trace Integration)
+ A new CPU model whose objective is simulate faster when using
+ availability trace files.
+ Instead of using a full featured, over engineered maxmin system for
+ CPU modeling, this model does the pre-integration of traces files
+ to calculate the amount of CPU power available, and so, executes
+ faster than the old CPU models.
+ Use "--cfg=cpu_model:CpuTI" to change to this CPU model.
+ * Use LV08 as default network model since it gives better accuracy
+ for small messages and shouldn't change things for big ones.
+ Use --cfg=network_model:CM02 to get the previous behavior.
+
+
+ ******************************************
+ *DO NOT MIX 3.3.4 RESULTS WITH OLDER ONES*
+ ******************************************
+ * The new CPU model may changes simulations!
+ The point is that events occurring at the exact same timestamp
+ are not scheduled in the same order with the old and new
+ version. This may be enough to completely change the execution
+ of simulations in some cases.
+ * The new network model will change simulations!
+ This new model is more realistic than the previous one, so you
+ should consider redoing your old experiments with this model.
+ Sorry for the inconvenience.
+
+ MSG:
+ * Port of MSG's mailbox on top of SIMIX network
+ The put/get mechanism was greatly simplified thanks to the new SIMIX module.
+
+ SIMIX:
+ * New SIMIX network module
+ It provides a rendez-vous point (aka mailbox) based send/recv API to perform
+ synchronous communication.
+
+ 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)
+
+
+ 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.
+ * 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.
+
+ -- 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.
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_Scatter, 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
- Scatter: flat tree
- * 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;
* Kill the SDP model: it has an external dependency, is deprecated
in flavor of modern lmm models, and didn't compile since a while
+ SIMIX:
+ * Relocation of the context module from XBT to SIMIX.
+ (the context were decoupled from the simix processes, duplicating a lot of code)
+ => a lot of code was factorized
+ - less overhead is introduced during scheduling
+ - simpler API for the context factory
+ - the logic for process creation,destruction and manipulation was simplified
+ * Simplification of the s_smx_process_t data structure.
+ => accesing the simix level data associated to a process is faster now,
+ and the code is a lot more readable.
+
+ SMPI:
+ * Implement some more MPI primitives:
+ MPI_Bcast, MPI_Waitany, MPI_Waitall, MPI_Reduce, MPI_Allreduce, MPI_Scatter, 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
+ Alltoallv: flat tree, like ompi
+ Scatter: flat tree
+ * Add support for optimized collectives (Bcast is now binomial by default)
+ * Port smpirun and smpicc to OS X
+
SimDag:
* Kill SD_link_get_properties: hard to maintain and makes very little sense
Shout out if you used it.
* 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
+ * Remove the context module
+
+ Portability report of this version:
+ * Main portability targets:
+ - Linux(debian)/x86/context
+ - Linux(debian)/x86/pthreads
+ - Linux(debian)/amd64/context
+ - Linux(debian)/amd64/pthreads
+ On these, we still have the eratic breakages of gras/pmm and
+ amok/saturate_sg reported in previous version. We still think
+ that the tests are the cause of the fault, not the tested code.
+
+ - Mac OSX Leopard/x86/context
+ Still false negative in tesh autotesting.
+ Smpi still fails, but this time because readlink does not accept -f
+ Everything seems to work properly beside of that.
+
+ * Exotic platforms:
+ - AIX version 5.3 (only tested contexts this time)
+ Smpi still fails there because mktemp is not installed.
+ Everything seems to work properly beside of that.
+ - OpenSolaris 11
+ I managed to compile it for the first time, but several breakages.
+ Won't delay the release for this exotic platform.
+
+ * Windows: it's still lagging behind. If you want to help, please
+ stand up.
+
+ Timing report of this version:
+ This version seem to be more than 5% faster than 3.3.1 (on linux
+ 64bits with contextes). The gain is less than expected, we are
+ investigating this for next release.
- -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Wed, 19 Aug 2009 17:07:12 +0200
SimGrid (3.3.1) stable; urgency=low
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.
+ the problem.
- Mac OSX Leopard/x86/context
The test suite still spits tons of errors because some obscure