SimGrid (3.3.2-svn) unstable; 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_Waitany, MPI_Waitall, MPI_Allreduce
+ 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
+ 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.
+
SURF:
- * Declare common_public as an embeeded struct to reduce redirections
- and mallocs
- * Factorize model_init/exit between models
- * Factorize the set of resources within common_public;
- + change model->common_model->resource_name()
- into surf_model_resource_by_name(model)
- (less redirections, less function to write when defining a model)
- * Unify the types of models in a uniq s_surf_model_t (using an union)
- * Embeed every fields of common_public directly into s_surf_model_t
+ * Extract the routing logic into its own object.
+ (was dupplicated in network.c and workstation_LV07.c;
+ Allows to implement other ways of storing that info)
+ => kill now useless network_card concept
+ - Use dynar to represent routes (instead of void** + int*)
+ - kill link_set (use surf_network_model->resource_set instead)
+ - Add a command-line option to choose the routing schema to use
+ - Add three new models:
+ * Floyd (shortest path computed at initialization)
+ * Dijikstra (shortest path recomputed all the time)
+ * Cached Dijikstra (shortest path computed on need)
+ All these models where contributed by Silas De Munck, and are
+ described in his ICCS09 paper.
+
+ * Simplify model declaration
+ (less redirections, less function to write when defining a model)
+ - Factorize stuff between models:
+ - model_init/exit
+ - Set of resources:
+ surf_model_resource_set(model)
+ surf_model_resource_by_name(model, name)
+ - Unify the types of models in s_surf_model_t (using an union)
+ - Embeed fields of common_public directly into s_surf_model_t
+ - Rename model methods:
+ action_free ~> action_unref
+ action_change_state ~> action_state_set
+ action_get_state ~> action_state_get
+ - Change model methods into functions :
+ (model)->common_public->action_use ~> surf_action_ref
+
* Implement a generic resource; use it as ancestor to specific ones
- Allows to kill duplicated code in models
- The drawback is that network cards are more fat since they don't
- use the model field of their ancestor.
- But hell, we wont fight for 8 bytes per host, will we?
- TODO: integrate the properties into that ancestor
- * Rename model methods:
- action_free -> action_unref
- action_change_state -> action_state_set
- action_get_state -> action_state_get
- * Change model methods into classical functions:
- action_use -> surf_action_ref
- * Use dynar to represent routes
+ (allows to kill duplicated code in models)
+ Drawback: timer command don't need no name nor properties;
+ workstation_CLM03 don't need no properties
+ (but I guess we can live with those few bytes wasted)
+
+ * Improve the action object model
+ - implement a constructor avoiding dupplicated code about field
+ initialization in generic_action part.
+
+ * Kill the SDP model: it has an external dependency, is deprecated
+ in flavor of modern lmm models, and didn't compile since a while
+
+ SimDag:
+ * Kill SD_link_get_properties: hard to maintain and makes very little sense
+ Shout out if you used it.
+ GRAS:
+ * Display the list of still queued messages in SG mode when existing
+ the process.
+
XBT:
* Add xbt_set_get_by_name_or_null() [Silas De Munck]
* 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 [Cristian Rosa]
+
-- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.3.1) stable; urgency=low