X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6eb760a4e020596621253f11776a99ffd06eff24..d6d03a0a88c2673c9e5c604d63912b77bc17fdd4:/examples/s4u/README.doc?ds=inline
diff --git a/examples/s4u/README.doc b/examples/s4u/README.doc
index 9cdcf7aae1..fea2ad72c5 100644
--- a/examples/s4u/README.doc
+++ b/examples/s4u/README.doc
@@ -14,34 +14,88 @@ documentation, but it should remain readable directly.
@brief Find the S4U example fitting your needs in the archive.
- @ref s4u_ex_basics
+ - @ref s4u_ex_actors
- @ref s4u_ex_synchro
+ - @ref s4u_ex_actions
@section s4u_ex_basics Basics of SimGrid simulation
- - Launching actors: @ref examples/s4u/launching/s4u_launching.cpp and
- @ref examples/s4u/launching/deployment.xml \n
+ - Creating actors: @ref examples/s4u/actor-create/s4u_actor-create.cpp and
+ @ref examples/s4u/actor-create/s4u_actor-create_d.xml \n
Shows how to start your actors to populate your simulation.
- Token ring: @ref examples/s4u/app-token-ring/s4u_app-token-ring.cpp \n
Shows how to implement a classical communication pattern, where a token is exchanged along a ring to reach every
participant.
- - Master Workers: @ref examples/s4u/app-token-ring/s4u_app-token-ring.cpp \n
+ - Master Workers: @ref examples/s4u/app-masterworker/s4u_app-masterworker.cpp \n
Another good old example, where one Master process has a bunch of task to dispatch to a set of several Worker
processes.
+@section s4u_ex_actors Acting on Actors
+
+ - Creating actors.
+ @ref examples/s4u/actor-create/s4u_actor-create.cpp \n
+ Most actors are started from the deployment XML file, but they exist other methods.
+
+ - Suspend and Resume actors.
+ @ref examples/s4u/actor-suspend/s4u_actor-suspend.cpp \n
+ Actors can be suspended and resumed during their executions
+ thanks to the @ref suspend and @ref resume methods.
+
+ - Kill actors.
+ @ref examples/s4u/actor-kill/s4u_actor-kill.cpp \n
+ Actors can forcefully stop other actors with the @ref kill method.
+
+ - Migrating Actors.
+ @ref examples/s4u/actor-migration/s4u_actor-migration.cpp \n
+ Actors can move or be moved from a host to another with the @ref migrate method.
+
@section s4u_ex_synchro Inter-Actor Synchronization
- Mutex: @ref examples/s4u/mutex/s4u_mutex.cpp \n
Shows how to use simgrid::s4u::Mutex synchronization objects.
-
+
+@section s4u_ex_actions Following Workload Traces
+
+This section details how to run trace-driven simulations. It is very
+handy when you want to test an algorithm or protocol that only react
+to external events. For example, many P2P protocols react to user
+requests, but do nothing if there is no such event.
+
+In such situations, you should write your protocol in C++, and separate
+the workload that you want to play onto your protocol in a separate
+text file. Declare a function handling each type of the events in your
+trace, register them using @ref xbt_replay_action_register in your
+main, and then run the simulation.
+
+Then, you can either have one trace file containing all your events,
+or a file per simulated process: the former may be easier to work
+with, but the second is more efficient on very large traces. Check
+also the tesh files in the example directories for details.
+
+ - Communication replay.
+ @ref examples/s4u/actions-comm/s4u_actions-comm.cpp \n
+ Presents a set of event handlers reproducing classical communication
+ primitives (asynchronous send/receive at the moment).
+
+ - I/O replay.
+ @ref examples/s4u/actions-storage/s4u_actions-storage.cpp \n
+ Presents a set of event handlers reproducing classical I/O
+ primitives (open, read, close).
+
*/
/**
-@example examples/s4u/launching/s4u_launching.cpp
+@example examples/s4u/actions-comm/s4u_actions-comm.cpp
+@example examples/s4u/actions-storage/s4u_actions-storage.cpp
+@example examples/s4u/actor-create/s4u_actor-create.cpp
+@example examples/s4u/actor-create/s4u_actor-create_d.xml
+@example examples/s4u/actor-kill/s4u_actor-kill.cpp
+@example examples/s4u/actor-migration/s4u_actor-migration.cpp
+@example examples/s4u/actor-suspend/s4u_actor-suspend.cpp
@example examples/s4u/app-token-ring/s4u_app-token-ring.cpp
-@example examples/s4u/app-master-worker/s4u_app-master-worker.cpp
-@example examples/s4u/launching/deployment.xml
+@example examples/s4u/app-masterworker/s4u_app-masterworker.cpp
@example examples/s4u/mutex/s4u_mutex.cpp