X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8de7a90b044d2c8cf008e498f533cd7131c9f106..6db737c47368af61478a5913db284b6e22a47d93:/examples/msg/README.doc
diff --git a/examples/msg/README.doc b/examples/msg/README.doc
index 5b6e08991a..0cd0792078 100644
--- a/examples/msg/README.doc
+++ b/examples/msg/README.doc
@@ -2,29 +2,26 @@ This file follows the Doxygen syntax to be included in the
documentation, but it should remain readable directly.
/**
- @defgroup MSG_examples MSG examples
+ @defgroup msg_examples MSG examples
@ingroup MSG_API
@brief Find the MSG example fitting your needs from the extensive set provided in the archive.
- @ref msg_ex_basics
- - @ref msg_ex_async
- @ref msg_ex_process
- @ref msg_ex_tracing
- @ref msg_ex_tracing_user_variables
- @ref msg_ex_models
- @ref msg_ex_ns3
- - @ref msg_ex_io
- - @ref msg_ex_actions
- @ref msg_ex_apps
- @ref msg_ex_misc
-
+
@section msg_ex_basics Basic examples and features
- Ping Pong: @ref examples/msg/app-pingpong/app-pingpong.c\n
It's hard to think of a simpler example: it is just sending one
message back and forth.
The tesh file laying in the directory show how to start the
- simulator binary, enlighting how to pass options to the simulators
+ simulator binary, highlighting how to pass options to the simulators
(as detailed in Section \ref options).
- Token Ring.
@@ -38,32 +35,7 @@ documentation, but it should remain readable directly.
@ref examples/msg/app-masterworker/app-masterworker.c\n
Another good old example, where one Master process has a bunch of
task to dispatch to a set of several Worker processes. It is fully
- commented in @ref MSG_ex_master_worker.
-
-@section msg_ex_async Asynchronous communications
-
-In addition to the fully documented example of @ref
-MSG_ex_asynchronous_communications, there are several other examples
-shipped in the archive:
-
- - Basic asynchronous communications.
- @ref examples/msg/async-wait/async-wait.c \n
- Illustrates how to have non-blocking communications, that are
- communications running in the background leaving the process free
- to do something else during their completion. The main functions
- involved are @ref MSG_task_isend, @ref MSG_task_irecv, and @ref
- MSG_comm_wait.
-
- - Waiting for all communications in a set.
- @ref examples/msg/async-waitall/async-waitall.c\n
- The @ref MSG_comm_waitall function is useful when you want to block
- until all activities in a given set have completed.
-
- - Waiting for the first completed communication in a set.
- @ref examples/msg/async-waitany/async-waitany.c\n
- The @ref MSG_comm_waitany function is useful when you want to block
- until one activity of the set completes, no matter which terminates
- first.
+ commented in @ref msg_ex_master_worker.
@section msg_ex_process Acting on Processes
@@ -72,24 +44,6 @@ shipped in the archive:
Most processes are started from the deployment XML file, but they
can also be used with the @ref MSG_process_create() function.
- - Suspend and Resume processes.
- @ref examples/msg/process-suspend/process-suspend.c \n
- Processes can be suspended and resumed during their executions
- thanks to the @ref MSG_process_suspend and @ref MSG_process_resume functions.
-
- - Kill processes.
- @ref examples/msg/process-kill/process-kill.c \n
- Processes can forcefully stop other processes with the @ref MSG_process_kill function.
-
- - Migrating processes.
- @ref examples/msg/process-migration/process-migration.c \n
- Processes can move or be moved from a host to another with the @ref MSG_process_migrate function.
-
- - Controling the process life cycle from the XML.
- @ref examples/msg/process-startkilltime/process-startkilltime.c \n
- You can specify a start time and a kill time in the deployment
- file. See all *_d.xml files in this directory.
-
@section msg_ex_tracing Tracing and visualization features
Tracing can be activated by various configuration options which
@@ -112,7 +66,7 @@ options to see the task executions:
to that are used to classify its tasks. When the program is executed,
the tracing mechanism registers the resource utilization of hosts
and links according to these categories. Recommanded options:
- @verbatim --cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:viva_cat.plist --cfg=viva/uncategorized:viva_uncat.plist
+ @verbatim --cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes
@endverbatim
- Master Workers tracing.
@@ -121,7 +75,7 @@ options to see the task executions:
using several tracing features. It traces resource usage, sorted
out in several categories; Trace marks and user variables are also
used. Recommanded options:
- @verbatim --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:viva_cat.plist --cfg=viva/uncategorized:viva_uncat.plist
+ @verbatim --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes
@endverbatim
- Process migration tracing.
@@ -130,11 +84,11 @@ options to see the task executions:
displayed as arrows in a Gantt-chart visualization. Recommanded
options to that extend:
@verbatim -cfg=tracing:yes --cfg=tracing/msg/process:yes
- @endverbatim
-
+ @endverbatim
+
TODO: These tracing examples should be integrated in the examples to
not duplicate the C files. A full command line to see the result in
-the right tool (viva/vite/FrameSoc) should be given along with some
+the right tool (vite/FrameSoc) should be given along with some
screenshots.
@subsection msg_ex_tracing_user_variables Tracing user variables
@@ -164,10 +118,10 @@ They have to be run with the following options:
@subsection msg_ex_ns3 NS3 as a SimGrid Network Model
This example demonstrates how to use the bindings to the Network
-Simulator, as explained in @ref pls. The most
+Simulator, as explained in @ref pls_ns3. 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
-file to see how to declare a platform to be used with the PLS bindings
+file to see how to declare a platform to be used with the ns-3 bindings
of SimGrid and the tesh file to see how to actually start a simulation
in these settings.
@@ -178,84 +132,12 @@ TODO: merge the C files
TODO: show the XML files instead if it's what is interesting. On a "XML example files" page that does not exist yet.
-@subsection msg_ex_io Simulating disks and files
-
-The examples of this section demonstrate how to interact with the
-simulated storages.
-
- - Basic example.
- @ref examples/msg/io-storage/io-storage.c \n
- All main storage and file functions are demoed.
-
- - File Management. @ref examples/msg/io-file/io-file.c \n
- This example illustrates the use of operations on file
- (@ref MSG_file_open, @ref MSG_file_read, @ref MSG_file_write,
- or @ref MSG_file_close).
-
- - Remote I/O. @ref examples/msg/io-remote/io-remote.c \n
- I/O operations can also be done in a remote, i.e. when the
- accessed disk is not mounted on the caller's host.
-
-@section msg_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 use @ref MSG_action_trace_run to launch 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/msg/actions-comm/actions-comm.c \n
- Presents a set of event handlers reproducing classical communication
- primitives (synchronous and asynchronous send/receive, broadcast,
- barrier, etc).
-
- - I/O replay.
- @ref examples/msg/actions-storage/actions-storage.c \n
- Presents a set of event handlers reproducing classical I/O
- primitives (open, read, write, close, etc).
-
-@section msg_ex_apps Examples of Full Applications
-
- - Parallel Matrix Multiplication.
- @ref examples/msg/app-pmm/app-pmm.c \n
- This little application multiplies two matrices in parallel. Each
- of the 9 processes computes a sub-block of the result, with the
- sub-blocks of the input matrices exchanged between the processes. \n
- This is a classical assignment in MPI lectures, here implemented
- in MSG.
-
- - Chord P2P protocol.
- @ref examples/msg/dht-chord/dht-chord.c \n
- This example implements the well known Chord protocol,
- constituting a fully working non-trivial example. This
- implementation is also very efficient, as demonstrated in
- http://hal.inria.fr/inria-00602216/
-
@section msg_ex_misc Miscellaneous
- Task priorities.
@ref examples/msg/task-priority/task-priority.c \n
Demonstrates the use of @ref MSG_task_set_priority to change the
computation priority of a given task.
-
- - User-defined properties.
- @ref examples/msg/platform-properties/platform-properties.c \n
- Attaching arbitrary information to host, processes and
- such, and retrieving them with @ref MSG_host_get_properties,
- @ref MSG_host_get_property_value, @ref MSG_process_get_properties, and
- @ref MSG_process_get_property_value. Also make sure to read the
- platform and deployment XML files to see how to declare these data.
TODO: Document the many other examples that we have
*/
@@ -269,19 +151,11 @@ top of the example file).
/**
-@example examples/msg/app-pingpong/app-pingpong.c
-@example examples/msg/app-token-ring/app-token-ring.c
+@example examples/msg/app-pingpong/app-pingpong.c
+@example examples/msg/app-token-ring/app-token-ring.c
@example examples/msg/app-masterworker/app-masterworker.c
-@example examples/msg/async-wait/async-wait.c
-@example examples/msg/async-waitall/async-waitall.c
-@example examples/msg/async-waitany/async-waitany.c
-
@example examples/msg/process-create/process-create.c
-@example examples/msg/process-suspend/process-suspend.c
-@example examples/msg/process-kill/process-kill.c
-@example examples/msg/process-migration/process-migration.c
-@example examples/msg/process-startkilltime/process-startkilltime.c
@example examples/msg/trace-platform/trace-platform.c
@example examples/msg/trace-categories/trace-categories.c
@@ -293,18 +167,7 @@ top of the example file).
@example examples/msg/network-ns3/network-ns3.c
-@example examples/msg/io-storage/io-storage.c
-@example examples/msg/io-file/io-file.c
-@example examples/msg/io-remote/io-remote.c
-
-@example examples/msg/actions-comm/actions-comm.c
-@example examples/msg/actions-storage/actions-storage.c
-
-@example examples/msg/app-pmm/app-pmm.c
-@example examples/msg/dht-chord/dht-chord.c
-
@example examples/msg/task-priority/task-priority.c
-@example examples/msg/platform-properties/platform-properties.c
-
+
*/