Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Allow to set latency_factor, bandwidth_factor and weight_S parameters of the network...
[simgrid.git] / ChangeLog
index 1227b93..a9df8d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,15 +1,61 @@
-SimGrid (3.3.4) unstable; urgency=low
+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
+ 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
+ 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)
+      
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 
- The "Desktop Grid needs love too" release.
 
 
- MSG:
- * Port of MSG's mailbox on top of SIMIX network
-   The put/get mechanism was greatly simplified thanks to the new SIMIX module.
+SimGrid (3.3.4) stable; urgency=low
 
 
- SIMIX:
- * New SIMIX network module
-   It provides a rendez-vous point (aka mailbox) based send/recv API to perform
-   synchronous communication. 
+ The "Desktop Grid needs love too" release (also called Xmas release).
 
  Models improvements:
  * Major speedup in the maxmin system solving by using lazy evaluation
 
  Models improvements:
  * Major speedup in the maxmin system solving by using lazy evaluation
@@ -52,18 +98,105 @@ SimGrid (3.3.4) unstable; urgency=low
      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.
      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:
  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 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 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()
+
+ 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 <simgrid-devel@lists.gforge.inria.fr> 
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Thu, 24 Dec 2009 19:07:39 +0100
 
 SimGrid (3.3.3) stable; urgency=low
 
 
 SimGrid (3.3.3) stable; urgency=low