X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f202a5b344a2d205a070805d9878b26991d4478b..bb1158bb1e02c633571b8731326e1af36a86306a:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 8f12323a69..a532634a4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,133 @@ -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) + * 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 + + + 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 (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 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. @@ -88,8 +217,39 @@ SimGrid (3.3.2-svn) unstable; urgency=low * Add xbt_str_from_file(FILE*) * Add xbt_dict_get_key achieving a linear reverse search * Remove the context module - - -- Da SimGrid team + + 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 Wed, 19 Aug 2009 17:07:12 +0200 SimGrid (3.3.1) stable; urgency=low