-
-===============================================================================
-* suspend/suspend.c
-OLD NAME: msg_test_test_suspend.c
-===============================================================================
-
-
- - Description:
- Test the suspend (MSG_process_suspend) and resume (MSG_process_resume)
- msg features.
-
- - Platform Files:
- msg_platform.xml
-
- - Deployment Files:
- suspend/deployment_suspend.xml
-
- - Compile:
- (WARNING: the current directory must be examples/msg/)
- make suspend/suspend
-
- - Execute:
- suspend/suspend <platformfile.xml> <deploymentfile.xml>
-
-
-
-
-===============================================================================
-CHANGE LOG
-===============================================================================
-
-original file new file
-
-
-SEND/RECV EXAMPLE
-
-./ping_pong.c ./sendrecv/sendrecv.c
-
-MASTER/SLAVE FORWARDER
-
-./msg_test.c ./masterslave/masterslave_forwarder.c
-./msg_deployment.xml ./masterslave/deployment_masterslave_forwarder.xml
-./msg_test.tesh.in ./masterslave/masterslave_forwarder.tesh.in
-
-MASTER/SLAVE SIMPLE
-
-./msg_test_communication_time.c ./masterslave/masterslave.c
-./small_deployment.xml ./masterslave/deployment_masterslave.xml
-./msg_test_communication_time.tesh.in ./masterslave/masterslave.tesh.in
-
-MASTER/SLAVE BYPASS
-
-./msg_test_surfxml_bypassed.c ./masterslave/masterslave_bypass.c
-./flexml_bypass.tesh.in ./masterslave/masterslave_bypass.tesh.in
-
-
-SUSPEND
-
-./msg_test_test_suspend.c ./suspend/suspend.c
- ./suspend/deployment_suspend.xml
-./suspend.tesh.in ./suspend/suspend.tesh.in
-
-
-
-
+ * msg/icomms/peer.c: basic example of async functions
+ (MSG_task_isend, MSG_task_irecv, MSG_comm_wait)
+ * msg/icomms/peer2.c: demonstrates the MSG_comm_waitall() function
+ * msg/icomms/peer3.c: demonstrates the MSG_comm_waitany() function
+
+Tracing and vizualization 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 or GPU. These resources are quite
+experimental for now, but here we go anyway.
+
+ * io/file.c Example with the disk resource
+ * gpu/test_MSG_gpu_task_create.c Example of use of the very
+ experimental (for now) GPU 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
+=============================
+
+ * token_ring/ring_call.c: Classical token ring communication, where a
+ token is exchanged along a ring to reach every participant.
+
+ * pmm/msg_pmm.c: Parallel Matrix Multiplication is a little
+ application. This is something that most MPI developper have
+ written during their class, here implemented using MSG instead of
+ MPI.
+
+ * 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/