X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/67c661e9709871fedb737b89dca05ab5c06b6d87..c87c7201f47679626bdce5214c1c914f13c973ae:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 9a67e0c797..313338c578 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,23 +1,76 @@ SimGrid (3.5) unstable; urgency=low - Msg + MSG + * Asynchronous communications through the functions: + MSG_task_isend/irecv and MSG_comm_test/wait/waitall * New function: MSG_load_platform_script() to make possible using a lua script instead of XML files to set up platforms * New function: MSG_set_function - to associate functions to processes, used when bypassing the parser - Lua Bindings - * add layer to set up environment and bypass the XML surf parser - * modify the entry point, to take into consideration when lua is used only as a platform generator + to associate functions to processes, used when bypassing the parser + * New functions: MSG_task_set_name(), MSG_task_set_compute_duration() + + LUA Bindings + * Add layer to set up environment directly from lua, without XML + * In GRAS, the effect of gras_stub_generator can be achieved through + lua too (check examples/gras/console/ping_generator.lua) + * Modify the entry point, to take into consideration when lua is used only as a platform generator + SURF - * add new callbacks to the CPU & netwok models to create resources + * Change the XML format. This is a very important modification. SimGrid + 3.5 introduces a new hierarchical format based on the notion of + Autonomous Systems. Compatibility with old format is ensured + through the perl script provided in the install bin directory + bin/simgrid_update_xml. + It is now possible to build platforms with specific routing + mechanism (Full/Dijkstra/DijkstraCache/Floyd) and to easily + connect several platforms together. We will try to provide soon + set of realistic platforms exploiting these properties (have a + look at examples/platforms/ for the moment). + * Take the opportunity to be a good XML citizen: rename link:ctn to + link_ctn and similar changes (also dealed with by simgrid_update_xml) + * Add a new routing scheme (rule-based) using regular expressions. It + enables to have an extremely low memory footprint when the + underlying routing is simple and can be compactly described. You + need to have libpcre4-dev (perl regular expressions) installed if + you want to use this routing scheme. + * Revive the cluster TAG and allow to easily and efficiently (both in + term of memory and speed) connect clusters together. Have a look + at teshsuite/simdag/platforms/ to see how this can be done. With + this tag, you can create clusters with thousands of tasks at no + cost (have a look at examples/platforms/). + Note: clusters are implemented as ASes, so there is no need for an + enclosing AS tag if you have only one cluster in your platform. + * Add new callbacks to the CPU & netwok models to create resources no need to pass through the parser callbacks to do so. - * add new function to create routes table via the routing model - * add generic functions in the public interface - that allows the user to call SURF 'create_resource' methods from a lua script. - SIMIX : - * New function: SIMIX_process_set_function() - called by MSG_set_function - SimDag + * Add new function to create routes table via the routing model + * Add generic functions in the public interface that allows the user to + call SURF 'create_resource' methods from a lua script. + * Add a new model (enabled through command line --cfg=network/model:SMPI) + that uses a piecewise linear approximation to produce better + results when exchanging small messages. + * Add a new parameter to handle correctly full duplex link and account + for interferences between uplink and downlink communications + (activate with --cfg=fullduplex:1). + + SIMIX + * New function: SIMIX_process_set_function() called by MSG_set_function + * Change the underlying waiting queue in semaphores so that a process + can wait on several of them simultaneously (as in waitany). + * Fix the way to handle tokens in semaphores so that all access patterns + work: {acquire, acquire_timeout, waitany} / {release, release_forever}. + * kill the dirty pimple SIMIX_message_sizes_output() + Please use (proper) visualization instead + + SIMDAG + * Fix a bug in the management of tasks of size 0 in the surf network + models. This problem was only visible with SIMDAG and you should + thus disregard results produced with earlier versions if you + relied on this feature (some tasks were blocked because of this). + * Fix a bunch of stuff that prevented to use classical models with SIMDAG + even though your applications were doing only point-to-point + communications and sequential computations. Now you can really use any + model you want (of course, if you create real parallel tasks, which are + not implemented in most models beside ptaskL07, this will abort). * Change the way a task is considered as ready. Instead of removing dependencies when a task is done, a counter is decreased. This way, it is always possible to reach ancestors thanks to the @@ -38,21 +91,25 @@ SimGrid (3.5) unstable; urgency=low * new function SD_dotload(char*) to load a DAG described in dot format. This loader and the corresponding examples require the installation of the graphviz library. - - SIMIX - * Change the underlying waiting queue in semaphores so that a process - can wait on several of them simultaneously (as in waitany). - * Fix the way to handle tokens in semaphores so that all access patterns - work: {acquire, acquire_timeout, waitany} / {release, release_forever}. + * new function SD_workstation_get_current_task() that returns the kind + of task currently running on a workstation in the sequential access + mode. + * Task rate should be -1 by default + Using 0 as before caused TCP_gamma bound to be ignored. + This change modifies (fixes) almost every simdag timings. + * Raise some warnings when unexecuted remains at the end of the + simulation. This is usually caused by cycles in the DAG. XBT * New data container: setset (set of sets of elements) - * New module: mmalloc (mapped malloc) + * New module: mmalloc (mapped malloc, allowing to have several + independent segments of malloc) * New function: xbt_dict_cursor_set_data() - * New function: xbt_dynar_sort() + * New functions: xbt_dynar_sort(), xbt_dynar_compare() * New function: xbt_dynar_is_empty() * New function: xbt_fifo_get_last_item() * Bug fix in xbt_dynar_shrink(): use the right element size + * Multiple bug fixes in semaphores which were wrongly implemented * Use library init/fini functions for our initialization. - you can use logs and other feature as soon as you want in your code (even before the xbt_init / MSG_init) @@ -60,13 +117,38 @@ SimGrid (3.5) unstable; urgency=low GRAS: * New function: gras_msgtype_get_name() - - Build chain: bug fixes and further polishing + * Implement gras_agent_spawn in RL too (the prototype changed a bit) + * Port GRAS to new SIMIX deployments. This allows gras users to + benefit from the lastest improvement to the simulation kernel. + * Kill measurement sockets for now. If you rely on them, sorry. This + release is not for you. This feature will be reintroduced in the + future, but we cannot delay the release any further. + * Finally fixed the pmm example. It should not randomly fail anymore + + SMPI + * New Model SMPI (three-interval linear regression for correction factors) + See RR-7426, available at http://hal.inria.fr/inria-00527150 + * Ability to use fortran MPI code (through f2c, automatically privatized) + * New MPI functions supported: MPI_Get_count(), MPI_Comm_split() + * New: RAM folding (see RR-7426 and examples/smpi/NAS/DT-folding) + * New: execution sampling (see RR-7426 and examples/smpi/NAS/EP-sampling) + * See also src/smpi/README + + Build chain: bug fixes and overall polishing * Fix the 'make install' target. No need to use 'make install-simgrid' anymore * Introduce a 'make dist' target compiling a *source* archive - 'make package' compiles a binary archive (not well tested) + 'make package' compiles a binary archive * Compile java files only on need + * Add --cd and --setenv command line options to tesh + * Port to windows + * Out of source builds are not fully supported yet, but we are close + * Enable supernovae and optimization flags by default for our users + * Cmake is now stable enough so that we killed the autotools + + Platforms: Add some more examples in examples/platforms + * Grid'5000: see www.grid5000.fr + * *_30000_hosts.xml: various huge files [mainly scalability testing] Tracing: * Tracing system @@ -92,12 +174,16 @@ SimGrid (3.5) unstable; urgency=low - To run the simulation with gdb, the simulator accepts --cfg=tracing/smpi:1 to trace SMPI - tesh files to check if smpi tracing is ok + - See examples/smpi/NAS/DT-trace * GTNetS tracing re-worked - adaptation to the tracing system of GTNets to cope with modifications regarding the fullduplex mode - new tesh files to check if gtnets tracing is ok + * New feature to any SimGrid-based simulator: Model-Checking + Check SIN#1 for more details. + -- Da SimGrid team SimGrid (3.4.1) stable; urgency=low @@ -622,7 +708,7 @@ SimGrid (3.3.1) stable; urgency=low * Bug fixing in failure management: - trace could not start by a failure at time 0 - failure during communications were not working - + SIMIX: * Add SIMIX_process_set_name() to change the name of the current process in the log messages.