X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f15f25f0656ca11937ca32c6c0bbf0520550604f..8b6b191f50508eea2ef5217b20558b1e7193b10d:/ChangeLog diff --git a/ChangeLog b/ChangeLog index fb578b9968..086d22723e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,19 +1,226 @@ -SimGrid (3.3.4) unstable; urgency=low - - The "Desktop Grid needs love too" release. - +SimGrid (3.3.5-svn) unstable; urgency=low + + The "C spoken, se habla Java, Ruby 話せます, fala-se Lua" release. + + Java Bindings: Various Cleanups + * Remove put/get: no need to export deprecated interface in Java + Use send/receive instead. + * Cleanup the examples and add a README per directory + * Remove example autoDestination (that's the only way to go now) + * Remove example explicitDestination (was a plain copy of basic) + * Make JniException a runtime exception, so that there is no need to + declare the fact that you may encounter such a beast. I guess that + nobody will ever want to survive such error. + * Create specific errors for each MSG case of failure: + host failure, transfer failure, timeout, task cancelled + Ruby and Lua Bindings: create them + * That's new and great, you should try them out. + Same functionalities than Java bindings, only even less polished + SimDag: + * Kill the useless "rate" argument of SD_task_get_execution_time() + Everyone used to provide -1 as a value, it was not used, and the + semantic of a possible use wasn't even clear. + * SD_SCHED_NO_COST: Constant to use as cost in SD_task_schedule() + either as comm costs or compute costs to mean that there is no + such thing for that specific task. + MSG: + * In trace replay, allow to have one trace file per process. + Give the specific trace file as argument of each process, + and call MSG_action_trace_run(NULL) + You can still have one merged file for each processes. + * Kill the MSG_paje_output() function. It's a noop since 2 years. + * Kill MSG_WARNING and MSG_FATAL return codes: they were not used + anywere in source. + * Add a MSG_task_set_data() function + SIMIX: + * add a SIMIX_sem_get_capacity() function + * add SIMIX_action_suspend() and SIMIX_action_resume() functions + * Bugfix: Handle correctly the resume/suspend of processes when they + are blocked on semaphores. + SURF: + * 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 + SMPI: + * Implement MPI_Get_count, MPI_MAXLOC, MPI_MINLOC + 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). + 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) + + -- Da SimGrid team + + +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. - * Fix a major regresion from 3.2 where the timeout provided to + + + ****************************************** + *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 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 tag is just broken. Actually that's brain-dead. + We need sth like + 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 + Portability report of this version: + * Main portability targets: + - linux (ubuntu (804/810/910) /debian (4/5/testing) /fedora (core11)) + on (amd64/i386/ia64) + - mac leopard on i386 + Known problems: http://cdash.inria.fr/CDash/index.php?project=Simgrid + but nothing critical. + * Other platforms: windows, AIX and others were not tested for this release + + Timing report of this version: + * Lazy evaluation brings arbitrary speedup (ie, speedup depending on + scenario parameters). From 8h to a few seconds in desktop grid settings. + * Supernovae brings about 25% speedup on i386. + -- Da SimGrid team Thu, 24 Dec 2009 19:07:39 +0100 SimGrid (3.3.3) stable; urgency=low