-SimGrid (2.93-cvs) NOT RELEASED YET; urgency=low
-
----------------------------
-Tentative de TODO pour 2.93
----------------------------
-Simplifier le déploiement RL
- - Changer "make remote" en un script nommé GrasPE (Platform Expender)
- - Ajouter des actions pour la disémination du code:
- - scp (l'actuel dans make remote)
- - rsync
- - pull (l'actuel du gras_stub deploy et qui dépend de wget, pas grave
- pour l'instant)
- - renomer gras-remote-worker en graspe-qqch
-XMLeries
- - Versionner le surfxml
- - Tester si flexml passe avec flex-old
-Pb des contextes
- - gras aura besoin des pthreads un jour
- => KISS et on oublie pth. A la place, on fait du context over pthread
- quand les contextes locaux sont cassés
-
----------------------
-Changements à ce jour
----------------------
-
- Alpha 4 on the path to SimGrid 3
-
- (nothing yet)
-
- -- SimGrid team <simgrid2-users@listes.ens-lyon.fr> NOT RELEASED YET
+SimGrid (3.4-svn) unstable; urgency=low
+
+ The "Easter in Cargese" release. Also known as (major changes):
+
+ * the "se habla Java, Ruby 話せます, fala-se Lua (and deaf-friendly)"
+ ~> bindings were greatly improved
+ ~> new tracing infrastructure for better visualization introduced
+
+ * the "Welcome to configury modernity" release.
+ ~> we switched from autotools to cmake, and improved our cdash
+
+
+ A more detailled list of changes follow (full detail in svn log).
+
+ Java Bindings: Various Cleanups
+ * (install java-gcj-compat-dev on debian-like to use them)
+ * 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
+ * Cleanup the exceptions that may get thrown by each function
+ * Other internal cleanups in Java bindings. Performance still bad :/
+ Ruby and Lua Bindings: create them
+ * (install ruby1.8-dev/liblua5.1-0-dev on debian-like to use 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.
+ * Add a SD_task_set_name() function
+ * Fix SD_task_unschedule() on typed tasks
+ * Fix SD_task_get_execution_time() to return seconds, not flop*sec
+ * In DAX loader, accept useless 'level' attributes to <job> since
+ LIGO DAGs have them (seem to be to ease graphical representation).
+ MSG:
+ * Add an example masterslave_mailbox.c using send/receive and not
+ the deprecated put/get interface.
+ * 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.
+ * Rename MSG_TIMEOUT_FAILURE into MSG_TIMEOUT for sake of logic
+ (declare MSG_USE_DEPRECATED to still have the old name)
+ * Add a MSG_task_set_data() function
+ * About trace replay (see examples/msg/actions):
+ - implement barrier
+ - Allow to work with splitted trace files for each 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 all processes.
+ - Fix implementation of collective operations
+ SMPI:
+ * 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>
+
+
+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()
+
+ 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> Thu, 24 Dec 2009 19:07:39 +0100
+
+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 <simgrid-devel@lists.gforge.inria.fr> 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.
+
+ The main contributors of this release were (lexical order):
+ Silas De Munck, Stéphane Genaud, Martin Quinson, Cristian Rosa.
+
+ SURF:
+ * Extract the routing logic into its own object.
+ (was dupplicated in network.c and workstation_LV07.c;
+ Allows to implement other ways of storing that info)
+ => kill now useless network_card concept
+ - Use dynar to represent routes (instead of void** + int*)
+ - kill link_set (use surf_network_model->resource_set instead)
+ - Add a command-line option to choose the routing schema to use
+ - Add three new models:
+ * Floyd (shortest path computed at initialization)
+ * Dijikstra (shortest path recomputed all the time)
+ * Cached Dijikstra (shortest path computed on need)
+ All these models where contributed by Silas De Munck, and are
+ described in his ICCS09 paper.
+
+ * Simplify model declaration
+ (less redirections, less function to write when defining a model)
+ - Factorize stuff between models:
+ - model_init/exit
+ - Set of resources:
+ surf_model_resource_set(model)
+ surf_model_resource_by_name(model, name)
+ - Unify the types of models in s_surf_model_t (using an union)
+ - Embeed fields of common_public directly into s_surf_model_t
+ - Rename model methods:
+ action_free ~> action_unref
+ action_change_state ~> action_state_set
+ action_get_state ~> action_state_get
+ - Change model methods into functions :
+ (model)->common_public->action_use ~> surf_action_ref
+
+ * Implement a generic resource; use it as ancestor to specific ones
+ (allows to kill duplicated code in models)
+ Drawback: timer command don't need no name nor properties;
+ workstation_CLM03 don't need no properties
+ (but I guess we can live with those few bytes wasted)
+
+ * Improve the action object model
+ - implement a constructor avoiding dupplicated code about field
+ initialization in generic_action part.
+
+ * Kill the SDP model: it has an external dependency, is deprecated
+ in flavor of modern lmm models, and didn't compile since a while
+
+ SIMIX:
+ * Relocation of the context module from XBT to SIMIX.
+ (the context were decoupled from the simix processes, duplicating a lot of code)
+ => a lot of code was factorized
+ - less overhead is introduced during scheduling
+ - simpler API for the context factory
+ - the logic for process creation,destruction and manipulation was simplified
+ * Simplification of the s_smx_process_t data structure.
+ => accesing the simix level data associated to a process is faster now,
+ and the code is a lot more readable.
+
+ SMPI:
+ * Implement some more MPI primitives:
+ MPI_Bcast, MPI_Waitany, MPI_Waitall, MPI_Reduce, MPI_Allreduce, MPI_Scatter, MPI_Sendrecv, MPI_Alltoall
+ -implementation: Bcast: flat or 2-ary tree (default),
+ Barrier: 4-ary tree,
+ Reduce: flat tree
+ Allreduce: Reduce then Bcast
+ Alltoall: "basic_linear" if data per proc < 3Kb, "otherwise pairwise".
+ Not yet implemented: "Bruck" for data per proc < 200b and comm size > 12
+ Alltoallv: flat tree, like ompi
+ Scatter: flat tree
+ * Add support for optimized collectives (Bcast is now binomial by default)
+ * Port smpirun and smpicc to OS X
+
+ SimDag:
+ * Kill SD_link_get_properties: hard to maintain and makes very little sense
+ Shout out if you used it.
+
+ GRAS:
+ * Display the list of still queued messages in SG mode when existing
+ the process.
+
+ XBT:
+ * Add xbt_set_get_by_name_or_null() [Silas De Munck]
+ * Add xbt_graph_node_get_outedges() [Silas De Munck]
+ * Add xbt_str_from_file(FILE*)
+ * Add xbt_dict_get_key achieving a linear reverse search
+ * Remove the context module
+
+ 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 <simgrid-devel@lists.gforge.inria.fr> Wed, 19 Aug 2009 17:07:12 +0200
+
+SimGrid (3.3.1) stable; urgency=low
+
+ OVERALL CHANGES:
+ * Implement a --cfg-help to show existing configuration variables
+ * Build chain do not require doxygen in maintainer mode
+
+ GRAS:
+ * fix a bug on struct sizeof computation, which prevented the
+ exchange of arrays of structs in some conditions
+ - added a regression test about this in datadesc_usage
+ * Allow the exchange of 0-long dynamic vectors.
+ - for that, use -1 as indicator of dynamic size instead of 0
+ - This implied to change any size from unsigned long to long,
+ reducing a bit communication abilities, but I guess that with
+ 64bits being quite common, this is more than enough.
+ - This also induce a protocol change, thus bumping network protocol
+ version from 0 to 1 (if we have external users, we have to get
+ clean on that point too ;)
+ - added two regression tests about this in datadesc_usage
+ * Be more verbose when propagating local exceptions
+ This helps debugging.
+ * Display the status of simulated processes when receiving SIGINT in
+ simulation mode
+
+ MSG:
+ * Allow to control the simulation from a trace file.
+ New functions MSG_action_register() and MSG_action_trace_run()
+ The first one allows to associate a function execution to each
+ kind of action while the second one parses a trace file and
+ triggers the corresponding actions within the system.
+ For now, only a toy example is provided in examples/msg/actions
+ * Add an exemple of process migration in examples/msg/migration
+ * Fix a bug in task exchange which broke MSG_task_get_sender()
+ Add a teshsuite regression test for that.
+ [Bug: if MSG_task_get_sender() is called after sender exit,
+ bad things happen]
+ * Fix a bug which prevented suspend/resume to work properly
+ * Display the status of simulated processes when receiving SIGINT
+ This fixes a regression of v3.3. due to the introduction of SIMIX
+ * 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.
+ * Store smx_hosts in a dict since we only retrieve them by name
+ * Move the configuration infrastructure to surf
+
+ SIMDAG:
+ * Move the configuration infrastructure to surf
+
+ SMPI:
+ * Massive internal cleanups:
+ - Store internal structures on processes instead of hosts (allows
+ to have more than one process per host, in addition of being more
+ logical)
+ - Cleanup the initialization/finalization process
+ - Kill a whole bunch of unneeded synchronization:
+ processes run in exclusive manner within the simulator
+ - Move queues from global tables to process data fields
+ * Improve smpirun:
+ - now accept -platform and -hostfile arguments
+ - Pass the right rank value to processes according to the hostfile
+ * Compile the examples by default, and use them as regression tests
+ * Implement MPI_Wtime()
+ * Change the reference speed to a command line option
+
+ SURF:
+ * TCP_gamma can now be specified as command line option using
+ --cfg=TCP_gamma:10000000.0
+ * Change the --surf-path cmd line option into --cfg=path:
+
+ XBT:
+ * Also include strbuff from xbt.h public header
+ * xbt_ex_display(): do not free the exception after displaying
+ This allows to do more with the given exception afterward.
+ Users should call xbt_ex_free() themselves.
+
+
+
+ Portability report of this version:
+ * Main portability targets:
+ - Linux(debian)/x86/context
+ - Linux(debian)/x86/pthreads
+ - Linux(debian)/amd64/context
+ - Linux(debian)/amd64/pthreads
+ These targets fail about 1/10 of times on gras/pmm, but we believe
+ that this is because of the test, not because of simgrid.
+ amok/saturate_sg fails even more rarely, and the test may not be
+ the problem.
+
+ - Mac OSX Leopard/x86/context
+ The test suite still spits tons of errors because some obscure
+ force prevents us from removing the temporary directories
+ arguing that they still contain some metadata I've never heard of.
+ Smpi fails because seq is not installed.
+ Everything seems to work properly beside of that.
+
+ * Exotic platforms:
+ - AIX version 5.3 (both contexts and pthread)
+ Smpi still fails there because mktemp is not installed.
+ XML inclusions seems rosty on AIX.
+
+ * Windows: it's still lagging behind. If you want to help, please
+ stand up.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Sat, 27 Jun 2009 00:14:30 +0200
+
+SimGrid (3.3) stable; urgency=high
+
+ OVERALL CHANGES:
+
+ * JAVA BINDINGS for MSG (you dreamt of them? We made them)
+ [Malek Cherier & Mt]
+
+ * Introduce the SIMIX module: factorize code between MSG and GRAS.
+ [Bruno Donassolo]
+
+ Until now, GRAS were using MSG as an interface to SURF. It was
+ quite difficult because both interface have several differences
+ (MSG channels vs GRAS sockets were the most notable point).
+
+ This also opens the gate to SMPI (which should occur soon) and speed
+ up simulations by to 40% (even if it were not the main goal).
+
+ **************************************
+ *DO NOT MIX 3.2 RESULTS WITH 3.3 ONES* Simix may changes simulations!
+ **************************************
+ The point is that events occuring 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. Sorry for the inconvenience.
+
+ * Cleanup and upgrade the XML format to push further scalability
+ issues (check http://hal.inria.fr/inria-00256883/ for more info)
+
+ * Improve the testing infrastructure with tesh. Now a very large part of
+ the code is tested not only by being run but also by checking that the
+ output match an expected output [Mt].
+
+ * Move on to FleXML v1.7 for the embeeded XML parsers. This version
+ is really less memory-demanding, which should allow you to use
+ larger files in SimGrid [AL].
+
+ * Inform valgrind about our contextes, so that it becomes usable
+ with the default (and more effecient) version of SimGrid
+ [contributed by Sékou Diakite, many thanks]
+
+ GRAS:
+ * Introduce a listener thread in charge of receiving incomming
+ messages from the network. It allows to overlap communication and
+ computation but most notably, it removes some stupid deadlocks due
+ to the fact that so far, a process could not send and receive at
+ the same time. This made most non trivial communication schema
+ impossible.
+ * Convert the PIDs from long int to int to match the MSG ones (and
+ linux ones too) [Mt]
+ * New function: gras_agent_spawn() to launch a new process on
+ current host. Only working in simulation for now. [Mt]
+ * New function: gras_os_hostport() returning a constant form (ie,
+ not needing to be freed) of "gras_os_hostname():gras_os_myport()"
+
+ XBT:
+ * Make the backtrace of exceptions more human readable [Mt]
+ * New module: xbt/str [Mt]
+ a ton of string utility functions (split, join, printf to a newly
+ allocated buffer, trim, etc)
+ * New module: xbt/hash [Mt]
+ SHA1 hashing algorithm (more to come if needed)
+ * New module: xbt/synchro [Mt]
+ synchronization tools (mutex and conditions) working the same way
+ in simulation and in real life (mainly useful for GRAS, but not
+ only).
+ * New module: xbt/queue [Mt]
+ classical producer/consumer synchronization scheme
+ * xbt_dynar_new_sync() creates a synchronized dynar. All access
+ (using the classical functions will get serialized) [Mt]
+ * Make dictionary internal table dynamic. No need to specify its size
+ anymore; functions xbt_dict_new_ext() and xbt_dict_hashsize_set()
+ thus dropped. [Mt].
+ * Make sure the log channels are organized as a tree under windows
+ (because of ANSI C compatibility issue, any channel were child of
+ root directly) [Mt].
+
+ SURF:
+ * Cleaned many thing in surf and fixed a few bugs [AL].
+ * Add a nice command line configuration mechanism to compose models [AL].
+ * Add a new model for parallel tasks (ptask_L07) that is less buggy than
+ the previous one (KCCFLN05). It relies on something that looks like
+ a max-min sharing mechanism but cannot be written as such. A new solver
+ was thus designed [AL].
+ * Add a new solver to lmm. Based on Lagrange optimization and
+ gradient-based descent, it enables to efficiently maximise systems s.a
+
+ sum f_i(x_i) s.t Ax<= b with A_{i,j}>=0 and f_i a concave function.
+
+ This solver enables to propose two new network models for TCP Reno and
+ TCP Vegas based on Low's work. These models still need to be fully
+ tested though [Pedro Velho].
+
+ SIMDAG [AL]:
+ * Bug fix in SD_simulate. Now the time bound given as argument is
+ used.
+ * Use the new parallel task model (ptask_L07) as default.
+ * Use the SURF command line configuration mechanism.
+ * 0-size tasks (for synchronization) should now work.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Sun Apr 12 05:20:36 CEST 2009
+
+SimGrid (3.2) stable; urgency=high
+
+ OVERALL CHANGES:
+ * Port to windows.
+ We still experience issues on this platform, but we believe that at
+ least MSG is usable.
+
+ GRAS API BREAKAGE (for simplification purpose, sorry):
+ * the gras_msgtype_by_name is not used anymore. Instead of
+ gras_msg_send(toserver, gras_msgtype_by_name("request"), &request);
+ you can write (and must)
+ gras_msg_send(toserver, "request", &request);
+ - If you still want to pass a gras_msgtype_t to the function (to cache
+ the type and avoid the lookup time), use the gras_msg_send_() variant.
+ - Impacted functions:
+ gras_cb_register, gras_cb_unregister, gras_msg_send, gras_msg_wait,
+ gras_msg_rpccall, gras_msg_rpc_async_call, gras_msg_wait_ext
+ * The callbacks are now expected to return 0 when everything went well
+ (just like the main() function)
+
+ GRAS new features and improvements:
+ * New module mecanism where user code can use per process globals [Mt]
+ This is similar to gras_userdata_*() functions, but for libraries. It
+ factorize some code developped over and over in the examples and AMOK.
+ It has still to be documented and used (only amok/peermanagement is
+ converted for now).
+ * Fix a vicious bug in the TCP buffering mecanism which leaded to message
+ loss when they were small enough to fit into the buffer and sent quickly
+ enough so that they can all get received in one shoot.
+ * gras_datadesc_by_name and gras_msgtype_by_name: now raise an exception
+ if not found. Use the *_or_null() variant for the old semantic.
+ * In gras_msg_handle, do not discard messages without callback.
+ They are probably messages to be explicitly awaited later (ie, proofs of
+ mis-synchronization in userland since they are sent before being awaited)
+ No big deal usually.
+ * gras_socket_meas_send/recv: semantic changed!
+ The numerical arguments used to be (1) the total amount of data to send
+ and (2) msg_size. This was changed to (1) msg_size and (2) amount of
+ messages. This was need for the fool willing to send more than MAXINT
+ bytes on quite fat pipes.
+
+ AMOK:
+ * Do really rename the hostmanagement module to peermanagement. [Mt]
+ Ie, rename functions from amok_hm_* to amok_pm_*. This breaks the API,
+ but this is rather new and this was documented in the module
+ documentation (poor excuses, I admit)
+ * Bandwidth measurement semantic changed! This follows the changes to
+ gras_socket_meas_send/recv explained above.
+
+ SIMDAG:
+ * A sequential mode has been added to the workstations. When a workstation
+ is in sequential mode, it can execute only one task, and the other tasks
+ are waiting in a FIFO. [Christophe Thiery]
+
+ SURF:
+ * The KCCFLN05 workstation model now handles parallel tasks. It is the
+ model for SIMDAG. [Christophe Thiery]
+ * Bug fix in the maxmin solver: Some values were close to 0 instead of
+ equal to 0, which caused some bad behaviors in
+ saturated_constraint_set_update. I now use a threshold mechanism like in
+ surf. [AL]
+
+ XBT:
+ * When running manually src/testall, you select specific units [Mt]
+ testall is the result of our cunit mecanism, and should replace all
+ the scripty thingy around since bash don't run easily on billware.
+
+ * A mallocator system has been added. [Christophe Thiery]
+ Mallocators allow you to recycle your unused objects instead of freeing them
+ and allocating new ones.
+
+ Documentation update:
+ * FAQ reworking + New FAQs:
+ - "Valgrind spits tons of errors!" [Mt]
+ - "How to repport bugs" [Mt]
+ - "Cross-compiling a Windows DLL of SimGrid from Linux" [Mt]
+ - "What is the difference between MSG, SimDag, and GRAS?" [Mt]
+ - Communication time measurement within MSG [AL]
+ - I experience weird communication times when I change the latency [AL]
+ * GRAS tutorial [Mt]
+ It contains:
+ - an introduction to the framework and to the used communication model
+ - an initiatic tour introducing the most proheminent features:
+ o Part 1: Bases
+ . Lesson 0: Installing GRAS
+ . Lesson 1: Setting up your own project
+ o Part 2: Message passing
+ . Lesson 2: Exchanging simple messages
+ . Lesson 3: Passing arguments to the processes (in SG)
+ . Lesson 4: Attaching callbacks to messages
+ . Lesson 5: Using globals in processes
+ . Lesson 6: Logging informations properly
+ . Lesson 7: Using internal timers
+ . Lesson 8: Handling errors through exceptions
+ . Lesson 9: Exchanging simple data
+ . Lesson 10: Remote Procedure Calling (RPC)
+ . Lesson 11: Explicitely waiting for messages
+ . Recapping of message passing features in GRAS
+ - A HOWTO section containing:
+ o HOWTO design a GRAS application
+ More are due, of course. They will come latter. In the meanwhile, you can
+ check the examples which are still here.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri Mar 16 21:11:46 CET 2007
+
+SimGrid (3.1) stable; urgency=high
+
+ General:
+ * Port to gcc 4.x
+ There was a stack corruption somewhere, visible only when optimizing
+ with these versions. [Vince]
+
+ SIMDAG:
+ * This is a NEW module! SimDAG (SD for short) is a revival of the old SG
+ module that enabled to play with Directed Acyclic Graphs. It is built
+ directly on top of SURF and provides an API rather close to the old
+ SG. Some old codes using SG are currently under rewrite to check that
+ all needful functions are provided. [Christophe Thiery]
+
+ SURF:
+ * Complete rewrite of the KCCFLN05 workstation model. It is now an
+ extension of the classical CLM03 model that gracefully handles
+ failures. This is now the default model for MSG and GRAS. It doesn't
+ handle parallel tasks yet though. [AL]
+ * Bug fix: Weights were not correctly set in the network part.
+ WARNING: This may have resulted in incorrect results with simulations
+ where there are more than one flow on a given link. [AL]
+
+ SURF, MSG, GRAS:
+ * After a (long ?) discussion on simgrid-devel, we have decided that the
+ convention we had on units was stupid. That is why it has been decided
+ to move from (MBits, MFlops, seconds) to (Bits, Flops, seconds).
+ WARNING : This means that all previous platform files will not work as
+ such with this version! A warning is issued to ask users to update
+ their files. [AL]
+ A conversion script can be found in the contrib module of the CVS, under
+ the name contrib/platform_generation/surfxml_update.pl [MQ]
+
+ MSG,GRAS:
+ * Bug fix: Processes were started in reverse order, wrt deployment file.
+ WARNING: if your code relies on this bug, please fix it. [AL]
+ * Bug fix: Add a test in MSG_task_execute to stop whenever a task is
+ being executed on two different locations. [AL]
+ * Bug fix: Failures are now better supported thanks to Derrick's tests
+ (there was many failure situations I hadn't thought of and that weren't
+ correctly handled). [AL]
+ * New function: MSG_host_is_avail indicates you whether a given m_host_t
+ is up or down. [AL]
+
+ GRAS:
+ * New! a real RPC mecanism, as it ought to be since too long. [MQ]
+ Exception occurring on server-side are propagated back to client (!).
+
+ API CHANGE: the callback changed their prototype. Change:
+ int my_handler(gras_socket_t expeditor, void *payload_data) {
+ to:
+ int my_handler(gras_msg_cb_ctx_t ctx , void *payload_data) {
+ gras_socket_t expeditor=gras_msg_cb_ctx_from(ctx);
+ and you're set.
+ * New! function: gras_msg_handleall to deal with all messages arriving
+ within a given period.
+ * New! function: gras_socket_server_range to get a server socket in a
+ range of port numbers (ease to avoid port number conflicts) [MQ]
+ * New! gras processes display their backtrace when they get a SIGUSR1
+ or when Ctrl-C is pressed. Use Ctrl-C Ctrl-C to exit.
+ Sweet to debug RL processes [MQ]
+
+ AMOK:
+ * Bandwidth module:
+ - Do not force experiment sizes to be expressed in kb, or it becomes
+ impossible to measure the latency this way (needs one byte-long tests)
+ WARNING: this changes the amok_bw_* function semantic. [MQ]
+ - Implements the link saturation stuff. [MQ]
+ * Peer management module:
+ New! module factorizing code that we wrote over and over [MQ].
+
+ XBT:
+ * New module: cunit (my jUnit implementation in ansi C) [MQ]
+ - Test units are placed directly into the library code, they get extracted
+ automatically and placed into the src/testall binary.
+ - Convert most of the XBT tests to this system.
+ * New functions: xbt_dynar_getfirst_as() and xbt_dynar_getlast_as() [MQ]
+ * XML parsing: rewrote parts of flexml to enable multiple xml parsers to
+ live in the same C code. This required to change a little bit the API
+ of surfxml parsing but shouldn't be an issue for end-users. [AL]
+ * New module: sparse graph structure with basic algorithms (this is work
+ in progress and the API is not considered to be frozen yet). [AL]
+ * Display more information on backtraces: source line & function names are
+ now displayed just like valgrind does (rely on addr2line tool) [MQ]
+ * New function: xbt_backtrace_display(). Sweet while debuging [MQ]
+ * Reworked a little bit some #include statements to load only required
+ headers. Some user code that relied on SimGrid to include stdlib or
+ stdio may need to include it by themselves. [AL]
+ * Fixed xbt/log.h. A missing SG_BEGIN_DECL prevented compilation with
+ g++. [AL]
+ * Renamed xbt_host_t into xbt_peer_t since it betterly describes what I
+ meant. This breaks the API of AMOK and of xbt/config. Sorry about this,
+ but I guess that almost nobody used those parts. [MQ]
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri, 14 Jul 2006 01:32:27 +0200
+
+SimGrid (3.0.1) stable; urgency=low
+
+ XBT:
+ * Unfortunately, I had missed 5 misnamed functions:
+ xbt_fifo_item_t xbt_fifo_newitem(void);
+ void xbt_fifo_freeitem(xbt_fifo_item_t);
+ xbt_fifo_item_t xbt_fifo_getFirstItem(xbt_fifo_t l);
+ xbt_fifo_item_t xbt_fifo_getNextItem(xbt_fifo_item_t i);
+ xbt_fifo_item_t xbt_fifo_getPrevItem(xbt_fifo_item_t i);
+ They're now deprecated. Please use their new versions:
+ xbt_fifo_item_t xbt_fifo_new_item(void);
+ void xbt_fifo_free_item(xbt_fifo_item_t);
+ xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l);
+ xbt_fifo_item_t xbt_fifo_get_next_item(xbt_fifo_item_t i);
+ xbt_fifo_item_t xbt_fifo_get_prev_item(xbt_fifo_item_t i);
+ [AL]
+ * Bugfix: really disconnect fifo items which are remove_item()ed [AL]
+ * Documentation: xbt_log module unmercifully reworked [MQ]
+ * Bugfix: there was a problem with the ending of contexts with
+ the pthread backend. It caused some weird deadlock or behavior
+ depending on the pthread implementation. [AL]
+ * Bugfix: get the exceptions raised in the simulator repport where
+ and why they come from when they are not catched in time [AL, MQ]
+
+ SURF:
+ * Bugfix: Do repport the error when two non-connected hosts try to
+ exchange data (Thanks to Flavien for stumbling into this one) [AL]
+
+ SURF:
+ * Add additionnal checkings on communications. Assert that two
+ communicating hosts are connected by a set of links... [AL]
+
+ MSG:
+ * Add additionnal checkings on channel values in communication [AL]
+ * New: MSG_task_get_source to see on which host a task was generated [HC]
+ * New: int MSG_task_probe_from_host(int channel, m_host_t host): returns
+ the number of tasks waiting to be received on channel and sent
+ by host. [AL]
+ * New: MSG_error_t MSG_task_get_from_host(m_task_t * task, int channel, m_host_t host);
+ waits for the first task coming from a given host.. [AL]
+
+ GRAS new functionnalities: [MQ]
+ * Enhance the parsing macro to allow the size of multidimentional objects
+ to be given thru annotations.
+ * New example (and documentation): Matrix Multiplication a la RPC
+ (as when I was young!) and fix a bunch of bugs found on the way.
+
+ GRAS performance improvements: [MQ]
+ [DataDesc]
+ * Reduce the amount of cbps creation/destruction by making it static to
+ datadesc_send/recv() and using a (newly created) cbps_reset (based on
+ dynar_reset ())
+ [Virtu]
+ * Change libdata to a set so that we can search for stuff by ID (and thus
+ reduce the insane amount of dict lookups)
+
+ [Transport]
+ * Actually implement gras_datadesc_copy() so that we don't have to mimick
+ RL communication on top of SG since it's so uneffective.
+ It may also be used for inter-thread communication in RL, one day.
+ * Use gras_datadesc_copy() to exchange messages on top of SG
+ Allows to:
+ - improve message exchange performance on top of SG
+ - deprecate transport_plugin_sg.c:gras_trp_sg_chunk_send() & recv()
+ * Don't exchange on the network the size of the used part of buffer,
+ instead, specify the possible buffer size to read().
+ Advantages:
+ - reduces the amount of read/write calls (one pair per exchange)
+ - reduces the amount of exchanged data (the size)
+ - allows to retrieve all arrived data on receiver side, if we don't need
+ it right now (subsequent read will peek the buffer)
+ - allows the receiver to proceed with the begining of the stream before
+ everything is arrived
+ - make it possible to build an iov transport (using readv/writev)
+ Extra difficulty:
+ - take care of the data with non-stable storage (like stacked data),
+ and bufferize them.
+ * If possible, TCP send uses vector I/O (when writev() is here)
+ - Don't use it for receive since we send data sizes and data on the
+ same stream, so we wouldn't be able to chain large amount of chunks
+ before having to flush the stuff to read the size.
+ * Rework the transport plugin mecanism to simplify it and reduce the
+ amount of pointer dereferencement when searching for the right function
+ to use.
+
+ * I guess that now, we do almost as few system calls as possible while
+ doing as few data copy as possible.
+
+ To improve it further, we could try to send all the sizes first and then
+ all the data (to use iov on receiving size), but it's only a partial
+ solution: when you have 2 dimensional data, the sizes of the second
+ dimension is data of the first dimension, so you need 3 streams.
+
+ I'm not sure the potential performance gains justify the coding burden.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri, 21 Oct 2005 14:42:20 +0200
+
+SimGrid (3.00) stable; urgency=high
+
+ SURF:
+ * New! Give the possibility to hijack the surf parser and thus bypass
+ MSG_create_environment and MSG_launch_application. Have a look at
+ examples/msg/msg_test_surfxml_bypassed.c to see how it can be done.
+
+ -- Arnaud Legrand <simgrid-devel@lists.gforge.inria.fr> Sat, 20 Aug 2005 23:25:25 -0700
+
+SimGrid (2.96) unstable; urgency=low
+
+ AKA SimGrid 3 rc 2.
+
+ XBT:
+ * New! Exception handling with setjmp or such (code from OSSP ex) [MQ]
+ This deprecates the xbt_error_t mecanisms.
+ It modifies (simplifies) all XBT and GRAS API.
+ MSG API keeps unchanged (exceptions raised by XBT are catched from
+ within MSG and masked with existing error handling facilities)
+
+ SURF:
+ * New! Add a FATPIPE model. [AL]
+ * New! Add a parallel task model. [AL]
+ * New! Add automatically a loopback interface (in the default
+ network model) if none was precised.
+
+ MSG
+ * Bugfix: MSG_process_resume now works with the current running process.
+ [AL]
+ * New! Add MSG_parallel_task_create and MSG_parallel_task_execute. [AL]
+ * Modification of MSG_task_get_compute_duration. Once a task has been
+ processed, the value returned by this function is now equal to 0. [AL]
+ * New! Add double MSG_task_get_remaining_computation(m_task_t task) and
+ MSG_error_t MSG_task_cancel(m_task_t task). Add a state
+ (MSG_TASK_CANCELLED) to MSG_error_t corresponding to the cancelation
+ of a m_task. For now, MSG_task_cancel only works with computation
+ tasks. [AL]
+ * New! Add double MSG_get_host_speed(m_host_t h) that returns the speed
+ of the processor (in Mflop/s) regardless of the current load on the
+ machine. [AL]
+ * API Change: use proper naming convention for MSG_getClock and
+ MSG_process_isSuspended: MSG_get_clock and MSG_process_is_suspended.
+ [AL]
+ * New! Add void MSG_task_set_priority(m_task_t task, double priority).
+ This function changes the priority of a computation task. This priority
+ doesn't affect the transfer rate. A priority of 2 will make a task
+ receive two times more cpu power than the other ones. This function
+ has been added to suit the needs of Nguyen The Loc and hasn't been that
+ much tested yet. So if it fails, please report it and send me your code.
+ [AL]
+ * API Change: removed all functions and types that were marked "deprecated"
+ since many months. Renamed MSG_global_init_args to MSG_global_init.
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Mon, 8 Aug 2005 17:58:47 -0700
+
+SimGrid (2.95) unstable; urgency=low
+
+ XBT
+ * Steal some nice code to GNU pth to fix context detection and usage [AL]
+ * Cleanup in the xbt_config API; add configuration callbacks. [MQ]
+ * Cleanup in the initialization API: the unused "defaultlog" is dead. [MQ]
+
+ SURF
+ * Bugfix: Allow absolute paths for platform description files [MQ]
+ * Bugfix: do free the variables after use. Leads to drastic performance
+ improvement [AL]
+ * Implement max_duration (ie, timeouts) on resources [AL]
+
+ MSG
+ * Implement MSG_config to configure MSG at runtime. xbt_cfg test on a real
+ case ;) [MQ]
+ * Implement MSG_channel_select_from() to help GRAS now that SURF provide
+ the needed support (timeouts) [AL]
+
+ GRAS (new features)
+ * Implement measurement sockets. You can now get the bandwidth between two
+ hosts thanks to AMOK (see below). [MQ]
+ * gras_datadesc_dynar() builds a dynar type descriptor, allowing to send
+ dynar over the network (yeah) [MQ]
+ * Real (even if simplistic) implementation of gras_os_myname() on RL [MQ]
+ * simple/static token-ring example. [Alexandre Colucci and MQ]
+ * Use MSG_channel_select_from() and remove the *slow* hack we had to put
+ in place before [MQ]
+
+ GRAS (bug fixes)
+ * Differentiate the types "char[22]" and "unsigned char[22]" in automatic
+ type parsing. "short" and "long" modifiers were also ignored; other
+ modifier (such as reference level) are still ignored. [MQ]
+ * Embeed the buffer size within the buffer itself on SG. [MQ]
+ That way, send() are atomic and cannot get intermixed anymore (at least
+ the ones which are less than 100k; bigger messages still have the issue)
+ * Array size pushed by the field, not by the field type (or each
+ and every long int will push stuff to the cbps) [MQ]
+ * use select() to sleep since it allows to portably sleep less than one
+ second. [MQ]
+
+ GRAS (minor cleanups)
+ * <project>.Makefile.local (generated from gras_stub_generator) |MQ]:
+ - Do clean .o files
+ - Compile with -g
+ * Type Callbacks now receive the gras_datadesc_type_t they work on as argument.
+ * type category 'ignored' killed as it was never used and were difficult
+ to transmit.
+ * whether a type can cycle or not is now a flag, leaving room for more
+ flags (as "ignored", if we feel the need one day ;)
+ * Rename raw sockets to measurement sockets since "raw" has another
+ meaning in networking community.
+
+ AMOK
+ * Advanced Metacomputing Overlay Kit introduction. It is based over GRAS
+ and offers features not belonging to GRAS but that most applications
+ need. One day, it may be a set of plugins loadable at runtime.
+ * New module: bandwidth
+ bandwidth measurement between arbitrary nodes running this module. [MQ]
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Thu, 30 Jun 2005 16:29:20 -0700
+
+SimGrid (2.94) unstable; urgency=low
+
+ The first beta release of SimGrid 3 !
+
+ >>>Arnaud<<<
+ (documentation)
+ * Update the main page and the FAQ. Adding references to gforge.
+
+ (gras)
+ * Add a gras_os_getpid function.
+
+ (msg)
+ * Add MSG_task_get_compute_duration() and MSG_task_get_data_size()
+ * Extend the logs so that they also print PID, hostname, date, ... if
+ available.
+ * Convert the MSG example to the use of xbt_logs instead of PRINT_MESSAGE,
+ and kill the old version which were in testsuite/
+ * Rewrite tools/MSG_visualization/colorize.pl for using with logs instead
+ of PRINT_MESSAGE
+
+ (xbt)
+ * Add xbt_os_time(). As the rest of xbt/portability, this is not public
+ for users. Instead, each programming environment (GRAS, MSG,...) use it
+ when needed to provide such a feature to users.
+ Don't shortcut the mecanism or you will also shortcut the virtualization
+ you need on the simulator.
+
+ >>>Martin<<<
+ (infrastructure)
+ * Cleanups in configury with regard to compile optimization/warning flags.
+ Also add -fno-loop-optimize to any powerpc since it's the optimization
+ killing gcc (< 3.4.0).
+ * Doxygen cleanups: move MSG examples, kill the second Doxygen phase
+ needed by MSG examples complications
+ * Borrow configury beautifications from PHP
+
+ (xbt)
+ * Bugfix: XBT_LOG_NEW_DEFAULT_CATEGORY now compiles without compiler
+ warning (thanks loris for stumbling into this one).
+ * Bugfix: stop loading private headers (gras_config.h) from the public
+ ones (xbt/swag.h).
+
+ (gras)
+ * Change SIMGRID_INSTALL_PATH to GRAS_ROOT in Makefiles generated for user.
+ * Rename gras_get_my_fqdn to gras_os_myname and implement it in the simulator
+ RL would imply a DNS resolver, which is *hard* to do in a portable way
+ (and therefore delayed).
+ * Implement a real timer mecanism and use it in timing macros. This allows
+ to avoid rounding errors and get a 0.000005 sec precision in timing
+ macros. While I was at it, various cleanups:
+ - allow to declare more than one timed section per file (fix a stupid bug)
+ - move some private declaration to the right place
+ - merge conditional execution and timing macros into emulation module
+ - document the module
+ - make sure the module cleanups its mess on gras_exit
+ * Documentation improvements:
+ - (new) how to compile applications using GRAS
+ - (new) emulation support (timing macros)
+
+ -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr> Fri, 13 May 2005 10:49:31 +0200
+
+SimGrid (2.93) unstable; urgency=low
+
+ Alpha 4 on the path to SimGrid 3 (aka the "neuf-trois" version)
+
+ [Arnaud]
+ - Use Paje properly where used. Still to be sanitized properly.
+ - Portability fix: Add an implementation of the contexts using pthread
+
+ [Martin]
+ (misc)
+ - Add xbt_procname(): returns the name of the current process.
+ Use it to show the current process's name in all logging.
+ (infrastructure)
+ - fix detection of older flex version and the reaction, since we do
+ depend on modern ones (we use lex_destroy)
+ - Better separation of SG and RL in the libs: remove all simulation code
+ from libgras. As a result, this lib is now only 200k when stripped.
+ Some of the xbt modules may also be duplicated (two sets and such) and
+ should be cleaned/killed before SG3.
+ - Insist on using xlC on AIX because of weird problems involving gcc there.
+ - Cleanup the make remote stuff. This is now done by scripts
+ tools/graspe-{master,slave} (GRAS Platform Expender). This is still
+ mainly for our private use, but we're working on changing them to user
+ tools, too.
+ (gras)
+ - Bugfix: flush the socket on close only if there is some *output*.
+ - Bugfix: flush idempotent when there's nothing to send (don't send size=0)
+ (msg)
+ - Add MSG_task_get_name. The task names are mainly for debugging purpose,
+ but anyway.
+
+ -- SimGrid team <simgrid2-users@listes.ens-lyon.fr> Fri, 4 Mar 2005 14:32:37 -0800
SimGrid (2.92) unstable; urgency=low
- Get rid of libgrasutils.a since it makes more trouble than it solves.
Build examples against the RL library, since there is no way to disable
its creation for now.
+
+For information, the beginning of coding on GRAS was back in june
+2003. I guess that every line has been rewritten at least twice since
+then.