X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/717bb82fd56727b8a066418eaa654290373736ea..4724bddcd04a5531a88dd84f798b4c8cc7f1bd00:/examples/s4u/README.rst diff --git a/examples/s4u/README.rst b/examples/s4u/README.rst index b1b996da8b..571632bff9 100644 --- a/examples/s4u/README.rst +++ b/examples/s4u/README.rst @@ -16,8 +16,8 @@ SimGrid comes with an extensive set of examples, documented on this page. Most of them only demonstrate one single feature, with some larger examplars listed below. -Each of these examples can be found in a subdirectory under -examples/s4u in the archive. It contains the source code (also listed +The C++ examples can be found under examples/s4u while python examples +are in examples/python. Each such directory contains the source code (also listed from this page), and the so-called tesh file containing how to call the binary obtained by compiling this example and also the expected output. Tesh files are used to turn each of our examples into an @@ -38,7 +38,9 @@ Starting and Stoping Actors - **Creating actors:** Most actors are started from the deployment XML file, but there is other methods. This example show them all. - |br| `examples/s4u/actor-create/s4u-actor-create.cpp `_ + + - |cpp| `examples/s4u/actor-create/s4u-actor-create.cpp `_ + - |py| `examples/python/actor-create/actor-create.py `_ - **Kill actors:** Actors can forcefully stop other actors with the @@ -55,32 +57,48 @@ Starting and Stoping Actors - **Daemonize actors:** Some actors may be intended to simulate daemons that run in background. This example show how to transform a regular actor into a daemon that will be automatically killed once the simulation is over. - |br| `examples/s4u/actor-daemon/s4u-actor-daemon.cpp `_ + + - |cpp| `examples/s4u/actor-daemon/s4u-actor-daemon.cpp `_ + - |py| `examples/python/actor-daemon/actor-daemon.py `_ Inter-Actors Interactions ------------------------- - **Suspend and Resume actors:** - Actors can be suspended and resumed during their executions thanks - to :cpp:func:`simgrid::s4u::Actor::suspend()` and - :cpp:func:`simgrid::s4u::Actor::resume()`. - |br| `examples/s4u/actor-suspend/s4u-actor-suspend.cpp `_ + Actors can be suspended and resumed during their executions. + + - |cpp| `examples/s4u/actor-suspend/s4u-actor-suspend.cpp `_ + :cpp:func:`simgrid::s4u::this_actor::suspend()`, + :cpp:func:`simgrid::s4u::Actor::suspend()`, :cpp:func:`simgrid::s4u::Actor::resume()`, :cpp:func:`simgrid::s4u::Actor::is_suspended()`. + - |py| `examples/python/actor-suspend/actor-suspend.py `_ + :py:func:`simgrid.this_actor.suspend()`, + :py:func:`simgrid.Actor.suspend()`, :py:func:`simgrid.Actor.resume()`, :py:func:`simgrid.Actor.is_suspended()`. - **Migrating Actors:** - Actors can move or be moved from a host to another with - :cpp:func:`simgrid::s4u::this_actor::migrate()`. - |br| `examples/s4u/actor-migration/s4u-actor-migration.cpp `_ + Actors can move or be moved from a host to another very easily. + + - |cpp| `examples/s4u/actor-migrate/s4u-actor-migrate.cpp `_ + :cpp:func:`simgrid::s4u::this_actor::migrate()` + - |py| `examples/python/actor-migrate/actor-migrate.py `_ + :py:func:`simgrid.this_actor.migrate()` - **Waiting for the termination of an actor:** (joining on it) - :cpp:func:`simgrid::s4u::Actor::join()` allows to block the current - actor until the end of the receiving actor. - |br| `examples/s4u/actor-join/s4u-actor-join.cpp `_ - - - **Yielding to other actor**. - The :cpp:func:`simgrid::s4u::this_actor::yield()` function interrupts the - execution of the current actor, leaving a chance to the other actors - that are ready to run at this timestamp. - |br| `examples/s4u/actor-yield/s4u-actor-yield.cpp `_ + You can block the current actor until the end of another actor. + + - |cpp| `examples/s4u/actor-join/s4u-actor-join.cpp `_ + :cpp:func:`simgrid::s4u::Actor::join()` + - |py| `examples/python/actor-join/actor-join.py `_ + :py:func:`simgrid.Actor.join()` + + - **Yielding to other actors**. + The ```yield()``` function interrupts the execution of the current + actor, leaving a chance to the other actors that are ready to run + at this timestamp. + + - |cpp| `examples/s4u/actor-yield/s4u-actor-yield.cpp `_ + :cpp:func:`simgrid::s4u::this_actor::yield()` + - |py| `examples/python/actor-yield/actor-yield.py `_ + :py:func:`simgrid.this_actor.yield_()` Traces Replay as a Workload --------------------------- @@ -151,7 +169,9 @@ Executions on the CPU the actor until a given amount of flops gets computed on its simulated host. Some executions can be given an higher priority so that they get more resources. - |br| `examples/s4u/exec-basic/s4u-exec-basic.cpp `_ + + - |cpp| `examples/s4u/exec-basic/s4u-exec-basic.cpp `_ + - |py| `examples/python/exec-basic/exec-basic.py `_ - **Asynchronous execution:** You can start asynchronous executions, just like you would fire @@ -340,3 +360,11 @@ Distributed Hash Tables (DHT) .. |br| raw:: html
+ +.. |cpp| image:: /img/lang_cpp.png + :align: middle + :width: 12 + +.. |py| image:: /img/lang_python.png + :align: middle + :width: 12