-Basic examples and features
-===========================
-
- * migration/migration.c Demonstrates how to use the
- MSG_process_migrate() function to let processes change the host
- they run on after their start.
-
- * suspend/suspend.c: Demonstrates how to suspend and resume processes
- using MSG_process_suspend() and MSG_process_resume().
-
- * properties/msg_prop.c Attaching arbitrary information to host,
- processes and such, and retrieving them with
- MSG_host_get_properties(), MSG_host_get_property_value(),
- MSG_process_get_properties() and MSG_process_get_property_value().
- Also make sure to read the platform and deployment XML files to see
- how to declare these data.
-
- * parallel_task/parallel_task.c: Demonstrates the use of
- MSG_parallel_task_create(), to create special tasks that run on
- several hosts at the same time. The resulting simulations are very
- close to what can be achieved in SimDag, but still allows to use
- the other features of MSG (it'd be cool to be able to mix
- interfaces, but it's not possible ATM).
-
- * priority/priority.c: Demonstrates the use of
- MSG_task_set_priority() to change the computation priority of a
- given task.
-
-Tracing and visualization features
-==================================
- * tracing/simple.c very simple program that creates, executes and
- destroy a task
- * tracing/ms.c TODO
- * tracing/categories.c example with the declaration of multiple
- categories
- * tracing/procmig.c example to trace process migration using the mask
- TRACE_PROCESS
- * tracing/trace_platform.c: Demonstrates how to trace the platform
- * tracing/user_variables.c: Demonstrates how to trace user-provided
- variables
-
-Models-related examples
-=======================
-
-Packet level simulators
------------------------
-These examples demonstrate how to use the bindings to classical
-Packet-Level Simulators (PLS), as explained in the relevant part of
-the web documentation. The most interesting is probably not the C
-files since they are unchanged from the other simulations, but the
-associated files, such as the platform files to see how to declare a
-platform to be used with the PLS bindings of SimGrid and the tesh
-files to see how to actually start a simulation in these settings.
-
- * ns3: Simple ping-pong using ns3 instead of the SimGrid models
- * gtnets Simple ping-pong using GTNeTs instead of the SimGrid models
-
-Other resource kinds
---------------------
-This section contains some sparse examples of how to use the other
-kind of resources, such as disk. These resources are quite
-experimental for now, but here we go anyway.
-
- * io/file.c Example with the disk resource
-
-Trace driven simulations
-========================
-
-The actions/actions.c example demonstrates how to run trace-driven
-simulations. It is very handy when you want to test an algorithm or
-protocol that does nothing unless it receives some events from
-outside. For example, a P2P protocol reacts to requests from the user,
-but does nothing if there is no such event.
-
-In such situations, SimGrid allows to write your protocol in your C
-file, and the events to react to in a separate text file. Declare a
-function handling each of the events that you want to accept in your
-trace files, register them using MSG_action_register in your main, and
-then use MSG_action_trace_run to launch the simulation. You can either
-have one trace file containing all your events, or a file per
-simulated process. Check the tesh files in the example directory for
-details on how to do it.
-
-This example uses this approach to replay MPI-like traces. It comes
-with a set of event handlers reproducing MPI events. This is somehow
-similar to SMPI, yet differently implemented. This code should
-probably be changed to use SMPI internals instead, but wasn't, so far.
-
-Examples of full applications
-=============================
-
- * chord/chord.c: Classical Chord P2P protocol This example implements
- the well known Chord P2P protocol. Its main advantage is that it
- constitute a fully working non-trivial example. In addition, its
- implementation is rather efficient, as demonstrated in
- [57]http://hal.inria.fr/inria-00602216/