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_basic
+ - @ref msg_ex_basics
- @ref msg_ex_async
- @ref msg_ex_process
- @ref msg_ex_tracing
- @ref msg_ex_apps
- @ref msg_ex_misc
-@section msg_ex_basic Basic examples and features
+@section msg_ex_basics Basic examples and features
- <b>Ping Pong</b>: @ref examples/msg/app-pingpong/app-pingpong.c\n
It's hard to think of a simpler example: it is just sending one
@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.
+ commented in @ref msg_ex_master_worker.
@section msg_ex_async Asynchronous communications
until all activities in a given set have completed.
- <b>Waiting for the first completed communication in a set</b>.
- @ref examples/msg/async-waitall/async-waitany.c\n
+ @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.
-
+
@section msg_ex_process Acting on Processes
+ - <b>Creating processes</b>.
+ @ref examples/msg/process-create/process-create.c \n
+ Most processes are started from the deployment XML file, but they
+ can also be used with the @ref MSG_process_create() function.
+
- <b>Suspend and Resume processes</b>.
@ref examples/msg/process-suspend/process-suspend.c \n
Processes can be suspended and resumed during their executions
@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.
+ - <b>Yielding to other processes</b>.
+ @ref examples/msg/process-yield/process-yield.c\n
+ The @ref MSG_process_yield function interrupts the execution of the
+ current process, leaving a chance to run to the other processes
+ that are ready to run at the exact same timestamp
+
- <b>Controling the process life cycle from the XML</b>.
@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.
-TODO: add an example using @ref MSG_process_create()
-
@section msg_ex_tracing Tracing and visualization features
Tracing can be activated by various configuration options which
are illustrated in these example. See also the
@ref tracing_tracing_options "full list of options related to tracing".
- - <b>Basic example</b>. @ref examples/msg/trace-simple/trace-simple.c \n
- In this very simple program, each process creates, executes,
- and destroy a task. Recommanded options:
- @verbatim --cfg=tracing:yes --cfg=tracing/uncategorized:yes @endverbatim
+It is interesting to run the process-create example with the following
+options to see the task executions:
- <b>Platform tracing</b>.
@ref examples/msg/trace-platform/trace-platform.c \n
want to enhance with a variable.
- <b>Attaching variables to network Routes</b>
- @ref examples/msg/trace-link-srcdst-user-variables/trace-link-srcdst-user-variables.c \n
+ @ref examples/msg/trace-route-user-variables/trace-route-user-variables.c \n
It is often easier to update a given variable for all links of a
given network path (identified by its source and destination
hosts) instead of knowing the name of each specific link.
-TODO: rename trace-link-srcdst-user-variables to trace-route-user-variables
-
@section msg_ex_models Models-related examples
@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.
@section msg_ex_apps Examples of Full Applications
- - <b>Parallel Matrix Multiplication</b>.
- @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.
-
- <b>Chord P2P protocol</b>.
@ref examples/msg/dht-chord/dht-chord.c \n
This example implements the well known Chord protocol,
/**
-@defgroup MSG_ex_examples ignored
@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-waitall/async-waitany.c
+@example examples/msg/async-waitany/async-waitany.c
+@example examples/msg/async-yield/async-yield.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-simple/trace-simple.c
@example examples/msg/trace-platform/trace-platform.c
@example examples/msg/trace-categories/trace-categories.c
@example examples/msg/trace-masterworker/trace-masterworker.c
@example examples/msg/trace-process-migration/trace-process-migration.c
-@example examples/msg/trace-user-variables/trace-user-variables.c
+@example examples/msg/trace-host-user-variables/trace-host-user-variables.c
@example examples/msg/trace-link-user-variables/trace-link-user-variables.c
-@example examples/msg/trace-link-srcdst-user-variables/trace-link-srcdst-user-variables.c
+@example examples/msg/trace-route-user-variables/trace-route-user-variables.c
@example examples/msg/network-ns3/network-ns3.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
+@example examples/msg/dht-chord/dht-chord.c
@example examples/msg/task-priority/task-priority.c
-@example examples/msg/properties/properties.c
+@example examples/msg/platform-properties/platform-properties.c
*/