+ * This is the first release of SimGrid where SMPI is not considered
+ beta anymore (even if some corners should still be improved)
+ * Port over the new SIMIX_network submodule (internal refactoring)
+ * Basic support to log events as with SMPE (use --cfg=SMPE:1)
+ * Implement more missing elements of the standard:
+ - MPI_COMM_SELF
+ - MPI_MAXLOC MPI_MINLOC + all associated datatype MPI_DOUBLE_INT,
+ MPI_FLOAT_INT, etc.
+ - MPI_Address() MPI_Get_count() MPI_Type_free() MPI_Type_extent()
+ MPI_Scan() MPI_Get_processor_name()
+ - Added implementation of missing case for Alltoall (warning: it's
+ *not* the bruck variant from OpenMPI; based on Alltoallv instead)
+ - SMPI_MPI_Gather() SMPI_MPI_Gatherv() SMPI_MPI_Scatterv()
+ SMPI_MPI_Reduce_scatter() SMPI_MPI_Allgather()
+ SMPI_MPI_Allgatherv()
+ * Bug fixes include:
+ - MPI_Waitsome() was broken
+ - Allow relative includes in smpicc
+ - Command line cfg argument 'reference_speed' was ignored...
+ - Some functions did not properly lead to auto-benching of user code
+ - smpicc passes -O2 by default (just like openmpi one)
+ SIMIX:
+ * add SIMIX_action_suspend() and SIMIX_action_resume() functions
+ * Bug fixes about timeouts during communications
+ * add SIMIX_message_sizes_output() as a pimple to write to file the
+ amount of messages per size. Use gnuplot to get histogram.
+ Pimple because that's the only user-visible function of simix,
+ defined directly in xbt.h (irk, sorry)
+ * About semaphores:
+ - Add a SIMIX_sem_get_capacity() function
+ - Fix interactions with processe resume/suspende
+ - release_forever() was stupidly broken
+ - Fix SIMIX_display_process_status() for processes in a semaphore
+ - Make SIMIX_sem_block_onto() user-visible
+ * Refactoring context stuff:
+ - Use pseudo-OOP for better modularity
+ - reimplement SIMIX_process_kill() without process_schedule() so
+ that the latter can take as invariant that it is called from
+ maestro.
+ - Merge context_start into context_new for sake of simplicity
+ SURF:
+ * Add a Vivaldi network model, coded live during SUD'10 ;)
+ * Rename configuration variables to start a hierarchy:
+ o cpu_model -> cpu/model
+ o network_model -> network/model
+ o workstation_model -> workstation/model
+ * New configuration variables:
+ o network/bandwidth_factor: correction to bandwith
+ o network/latency_factor: correction to latency
+ o netwotk/weight_S: correction to the weight of competing streams
+ * Add a long description to the models, that users can see with such
+ argument on the command line: --cfg=cpu/model:help
+ * --help-models display the long description of all known models
+ XBT:
+ * config: add the ability to set a default value after registration
+ Does not override any previously set value (e.g. from cmd line)
+ * dict: allow to have integer key and data.
+ When so, you need to use the following functions
+ void xbt_dicti_set(xbt_dict_t dict, uintptr_t key, uintptr_t data);
+ uintptr_t xbt_dicti_get(xbt_dict_t dict, uintptr_t key);
+ void xbt_dicti_remove(xbt_dict_t dict, uintptr_t key);
+ In contrary to regular dicts, the key is not malloced before copy.
+ Mixing scalar and regular elements in the same dict is not tested
+ (but may work).
+ * Allow to use xbt_dynar_shrink() to expend the dynar instead
+ Tracing for Visualization:
+ * SimGrid is now instrumented in order to generate a trace file for
+ visualization analysis: to use it, need to compile SimGrid with the
+ "tracing" option enabled, and instrument the program using SimGrid with
+ TRACE_start, TRACE_category, TRACE_msg_set_task_category and TRACE_end
+ (among other functions).
+ * The instrumentation only traces the platform utilization for now
+ * Documentation to use the tracing functions and how to analyze the
+ traces with the Triva tool is written.
+ * More information about: SimGrid FAQ (in the section Tracing Simulations
+ for Visualization)
+ Build system:
+ * We moved to cmake as default build system. Autotools support will
+ be dropped soon. Check the FAQ for more info about how to use it.
+ * Greatly improved our cdash/ctest interactions
+ Check http://cdash.inria.fr/CDash/index.php?project=Simgrid
+ * Added memory checking tests with valgrind; lot of memleak fixing.
+ This may be the first release of simgrid with so few memory issues
+ * Added code coverage tests.
+ Our coverage is still improvable, but at least we see it on cdash.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Wed, 28 Apr 2010 28 17:11:16 +0100
+
+SimGrid (3.3.4) stable; urgency=low
+
+ The "Desktop Grid needs love too" release (also called Xmas 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.
+
+ Build System:
+ * Introduce the supernovae compilation mode
+ When compiled that way, the whole SimGrid (or almost) is put in a
+ single compilation unit and compiled in one shoot.
+ This is to help gcc which has difficulties to inline stuff from one
+ file into another.
+ The speedup seem to be above 15%, althrough more tests are needed on
+ amd64 to confirm that gain.
+
+ 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()