page. Most of them only demonstrate one single feature, with some
larger examplars listed below.
-The C++ examples can be found under examples/s4u while python examples
+The C++ examples can be found under examples/cpp 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
.. tabs::
- .. example-tab:: examples/s4u/actor-create/s4u-actor-create.cpp
+ .. example-tab:: examples/cpp/actor-create/s4u-actor-create.cpp
You create actors either:
.. tabs::
- .. example-tab:: examples/s4u/actor-exiting/s4u-actor-exiting.cpp
+ .. example-tab:: examples/cpp/actor-exiting/s4u-actor-exiting.cpp
This example shows how to attach a callback to:
.. tabs::
- .. example-tab:: examples/s4u/actor-kill/s4u-actor-kill.cpp
+ .. example-tab:: examples/cpp/actor-kill/s4u-actor-kill.cpp
See also :cpp:func:`void simgrid::s4u::Actor::kill(void)`, :cpp:func:`void simgrid::s4u::Actor::kill_all()`,
:cpp:func:`simgrid::s4u::this_actor::exit`, :cpp:func:`simgrid::s4u::Actor::on_exit`.
.. tabs::
- .. example-tab:: examples/s4u/actor-lifetime/s4u-actor-lifetime.cpp
+ .. example-tab:: examples/cpp/actor-lifetime/s4u-actor-lifetime.cpp
This file is not really interesting: the important matter is in the XML file.
- .. example-tab:: examples/s4u/actor-lifetime/s4u-actor-lifetime_d.xml
+ .. example-tab:: examples/cpp/actor-lifetime/s4u-actor-lifetime_d.xml
This demonstrates the ``start_time`` and ``kill_time`` attribute of the :ref:`pf_tag_actor` tag.
.. tabs::
- .. example-tab:: examples/s4u/actor-daemon/s4u-actor-daemon.cpp
+ .. example-tab:: examples/cpp/actor-daemon/s4u-actor-daemon.cpp
See also :cpp:func:`simgrid::s4u::Actor::daemonize()` and :cpp:func:`simgrid::s4u::Actor::is_daemon()`.
.. tabs::
- .. example-tab:: examples/s4u/actor-stacksize/s4u-actor-stacksize.cpp
+ .. example-tab:: examples/cpp/actor-stacksize/s4u-actor-stacksize.cpp
.. example-tab:: examples/c/actor-stacksize/actor-stacksize.c
.. tabs::
- .. example-tab:: examples/s4u/actor-suspend/s4u-actor-suspend.cpp
+ .. example-tab:: examples/cpp/actor-suspend/s4u-actor-suspend.cpp
See also :cpp:func:`simgrid::s4u::this_actor::suspend()`,
:cpp:func:`simgrid::s4u::Actor::suspend()`, :cpp:func:`simgrid::s4u::Actor::resume()`, and
.. tabs::
- .. example-tab:: examples/s4u/actor-migrate/s4u-actor-migrate.cpp
+ .. example-tab:: examples/cpp/actor-migrate/s4u-actor-migrate.cpp
See also :cpp:func:`simgrid::s4u::this_actor::set_host()` and :cpp:func:`simgrid::s4u::Actor::set_host()`.
.. tabs::
- .. example-tab:: examples/s4u/actor-join/s4u-actor-join.cpp
+ .. example-tab:: examples/cpp/actor-join/s4u-actor-join.cpp
See also :cpp:func:`simgrid::s4u::Actor::join()`.
.. tabs::
- .. example-tab:: examples/s4u/actor-yield/s4u-actor-yield.cpp
+ .. example-tab:: examples/cpp/actor-yield/s4u-actor-yield.cpp
See also :cpp:func:`simgrid::s4u::this_actor::yield()`.
.. tabs::
- .. example-tab:: examples/s4u/replay-comm/s4u-replay-comm.cpp
+ .. example-tab:: examples/cpp/replay-comm/s4u-replay-comm.cpp
- **I/O replay:**
Presents a set of event handlers reproducing classical I/O
.. tabs::
- .. example-tab:: examples/s4u/replay-io/s4u-replay-io.cpp
+ .. example-tab:: examples/cpp/replay-io/s4u-replay-io.cpp
==========================
Activities: what Actors do
.. tabs::
- .. example-tab:: examples/s4u/comm-pingpong/s4u-comm-pingpong.cpp
+ .. example-tab:: examples/cpp/comm-pingpong/s4u-comm-pingpong.cpp
.. example-tab:: examples/c/comm-pingpong/comm-pingpong.c
.. tabs::
- .. example-tab:: examples/s4u/comm-wait/s4u-comm-wait.cpp
+ .. example-tab:: examples/cpp/comm-wait/s4u-comm-wait.cpp
See also :cpp:func:`simgrid::s4u::Mailbox::put_async()` and :cpp:func:`simgrid::s4u::Comm::wait()`.
.. tabs::
- .. example-tab:: examples/s4u/comm-waituntil/s4u-comm-waituntil.cpp
+ .. example-tab:: examples/cpp/comm-waituntil/s4u-comm-waituntil.cpp
See also :cpp:func:`simgrid::s4u::Mailbox::wait_until()` and :cpp:func:`simgrid::s4u::Comm::wait_for()`.
.. tabs::
- .. example-tab:: examples/s4u/comm-suspend/s4u-comm-suspend.cpp
+ .. example-tab:: examples/cpp/comm-suspend/s4u-comm-suspend.cpp
See also :cpp:func:`simgrid::s4u::Activity::suspend()`
:cpp:func:`simgrid::s4u::Activity::resume()` and
.. tabs::
- .. example-tab:: examples/s4u/comm-waitall/s4u-comm-waitall.cpp
+ .. example-tab:: examples/cpp/comm-waitall/s4u-comm-waitall.cpp
See also :cpp:func:`simgrid::s4u::Comm::wait_all()`.
.. tabs::
- .. example-tab:: examples/s4u/comm-waitany/s4u-comm-waitany.cpp
+ .. example-tab:: examples/cpp/comm-waitany/s4u-comm-waitany.cpp
See also :cpp:func:`simgrid::s4u::Comm::wait_any()`.
.. tabs::
- .. example-tab:: examples/s4u/exec-basic/s4u-exec-basic.cpp
+ .. example-tab:: examples/cpp/exec-basic/s4u-exec-basic.cpp
See also :cpp:func:`void simgrid::s4u::this_actor::execute(double)`
and :cpp:func:`void simgrid::s4u::this_actor::execute(double, double)`.
.. tabs::
- .. example-tab:: examples/s4u/exec-async/s4u-exec-async.cpp
+ .. example-tab:: examples/cpp/exec-async/s4u-exec-async.cpp
See also :cpp:func:`simgrid::s4u::this_actor::exec_init()`,
:cpp:func:`simgrid::s4u::Activity::start()`,
.. tabs::
- .. example-tab:: examples/s4u/exec-remote/s4u-exec-remote.cpp
+ .. example-tab:: examples/cpp/exec-remote/s4u-exec-remote.cpp
See also :cpp:func:`simgrid::s4u::Exec::set_host()`.
.. tabs::
- .. example-tab:: examples/s4u/exec-ptask/s4u-exec-ptask.cpp
+ .. example-tab:: examples/cpp/exec-ptask/s4u-exec-ptask.cpp
See also :cpp:func:`simgrid::s4u::this_actor::parallel_execute()`.
.. tabs::
- .. example-tab:: examples/s4u/exec-dvfs/s4u-exec-dvfs.cpp
+ .. example-tab:: examples/cpp/exec-dvfs/s4u-exec-dvfs.cpp
See also :cpp:func:`simgrid::s4u::Host::get_pstate_speed` and :cpp:func:`simgrid::s4u::Host::set_pstate`.
.. tabs::
- .. example-tab:: examples/s4u/io-disk-raw/s4u-io-disk-raw.cpp
+ .. example-tab:: examples/cpp/io-disk-raw/s4u-io-disk-raw.cpp
.. example-tab:: examples/c/io-disk-raw/io-disk-raw.c
.. tabs::
- .. example-tab:: examples/s4u/io-file-system/s4u-io-file-system.cpp
+ .. example-tab:: examples/cpp/io-file-system/s4u-io-file-system.cpp
- **Remote I/O:**
I/O operations on files can also be done in a remote fashion,
.. tabs::
- .. example-tab:: examples/s4u/io-file-remote/s4u-io-file-remote.cpp
+ .. example-tab:: examples/cpp/io-file-remote/s4u-io-file-remote.cpp
.. example-tab:: examples/c/io-file-remote/io-file-remote.c
.. tabs::
- .. example-tab:: examples/s4u/synchro-barrier/s4u-synchro-barrier.cpp
+ .. example-tab:: examples/cpp/synchro-barrier/s4u-synchro-barrier.cpp
- **Condition variable: basic usage**
Shows how to use :cpp:type:`simgrid::s4u::ConditionVariable` synchronization objects.
.. tabs::
- .. example-tab:: examples/s4u/synchro-condition-variable/s4u-synchro-condition-variable.cpp
+ .. example-tab:: examples/cpp/synchro-condition-variable/s4u-synchro-condition-variable.cpp
- **Condition variable: timeouts**
Shows how to specify timeouts when blocking on condition variables.
.. tabs::
- .. example-tab:: examples/s4u/synchro-condition-variable-waituntil/s4u-synchro-condition-variable-waituntil.cpp
+ .. example-tab:: examples/cpp/synchro-condition-variable-waituntil/s4u-synchro-condition-variable-waituntil.cpp
- **Mutex:**
Shows how to use :cpp:type:`simgrid::s4u::Mutex` synchronization objects.
.. tabs::
- .. example-tab:: examples/s4u/synchro-mutex/s4u-synchro-mutex.cpp
+ .. example-tab:: examples/cpp/synchro-mutex/s4u-synchro-mutex.cpp
- **Semaphore:**
Shows how to use :cpp:type:`simgrid::s4u::Semaphore` synchronization objects.
.. tabs::
- .. example-tab:: examples/s4u/synchro-semaphore/s4u-synchro-semaphore.cpp
+ .. example-tab:: examples/cpp/synchro-semaphore/s4u-synchro-semaphore.cpp
.. example-tab:: examples/c/synchro-semaphore/synchro-semaphore.c
.. tabs::
- .. example-tab:: examples/s4u/platform-properties/s4u-platform-properties.cpp
+ .. example-tab:: examples/cpp/platform-properties/s4u-platform-properties.cpp
- :cpp:func:`simgrid::s4u::Actor::get_property()` and :cpp:func:`simgrid::s4u::Actor::set_property()`
- :cpp:func:`simgrid::s4u::Host::get_property()` and :cpp:func:`simgrid::s4u::Host::set_property()`
**Deployment file:**
- .. showfile:: examples/s4u/platform-properties/s4u-platform-properties_d.xml
+ .. showfile:: examples/cpp/platform-properties/s4u-platform-properties_d.xml
:language: xml
|br|
.. tabs::
- .. example-tab:: examples/s4u/routing-get-clusters/s4u-routing-get-clusters.cpp
+ .. example-tab:: examples/cpp/routing-get-clusters/s4u-routing-get-clusters.cpp
- **Retrieving the list of hosts matching a given criteria:**
Shows how to filter the actors that match a given criteria.
.. tabs::
- .. example-tab:: examples/s4u/engine-filtering/s4u-engine-filtering.cpp
+ .. example-tab:: examples/cpp/engine-filtering/s4u-engine-filtering.cpp
- **Specifying state profiles:** shows how to specify when the
resources must be turned off and on again, and how to react to such
.. tabs::
- .. example-tab:: examples/s4u/platform-failures/s4u-platform-failures.cpp
+ .. example-tab:: examples/cpp/platform-failures/s4u-platform-failures.cpp
.. example-tab:: examples/c/platform-failures/platform-failures.c
.. tabs::
- .. example-tab:: examples/s4u/platform-profile/s4u-platform-profile.cpp
+ .. example-tab:: examples/cpp/platform-profile/s4u-platform-profile.cpp
.. group-tab:: XML
.. tabs::
- .. example-tab:: examples/s4u/energy-exec/s4u-energy-exec.cpp
+ .. example-tab:: examples/cpp/energy-exec/s4u-energy-exec.cpp
.. example-tab:: examples/c/energy-exec/energy-exec.c
.. tabs::
- .. example-tab:: examples/s4u/energy-link/s4u-energy-link.cpp
+ .. example-tab:: examples/cpp/energy-link/s4u-energy-link.cpp
- **Consumption due to the wireless network:**
This example shows how to retrieve and display the energy consumed
.. tabs::
- .. example-tab:: examples/s4u/energy-wifi/s4u-energy-wifi.cpp
+ .. example-tab:: examples/cpp/energy-wifi/s4u-energy-wifi.cpp
- **Modeling the shutdown and boot of hosts:**
Simple example of model of model for the energy consumption during
.. tabs::
- .. example-tab:: examples/s4u/energy-boot/platform_boot.xml
+ .. example-tab:: examples/cpp/energy-boot/platform_boot.xml
- .. example-tab:: examples/s4u/energy-boot/s4u-energy-boot.cpp
+ .. example-tab:: examples/cpp/energy-boot/s4u-energy-boot.cpp
=======================
Tracing and Visualizing
.. tabs::
- .. example-tab:: examples/s4u/trace-platform/s4u-trace-platform.cpp
+ .. example-tab:: examples/cpp/trace-platform/s4u-trace-platform.cpp
- **Setting Categories**
This example declares several tracing categories to that are used to
.. tabs::
- .. example-tab:: examples/s4u/trace-categories/s4u-trace-categories.cpp
+ .. example-tab:: examples/cpp/trace-categories/s4u-trace-categories.cpp
- **Master Workers tracing**
This is an augmented version of our basic master/worker example using
.. tabs::
- .. example-tab:: examples/s4u/trace-masterworkers/s4u-trace-masterworkers.cpp
+ .. example-tab:: examples/cpp/trace-masterworkers/s4u-trace-masterworkers.cpp
- **Process migration tracing**
This version is enhanced so that the process migrations can be displayed
.. tabs::
- .. example-tab:: examples/s4u/trace-process-migration/s4u-trace-process-migration.cpp
+ .. example-tab:: examples/cpp/trace-process-migration/s4u-trace-process-migration.cpp
..
TODO: These tracing examples should be integrated in the examples to not
.. tabs::
- .. example-tab:: examples/s4u/trace-host-user-variables/s4u-trace-host-user-variables.cpp
+ .. example-tab:: examples/cpp/trace-host-user-variables/s4u-trace-host-user-variables.cpp
- **Attaching variables to Links**
The tricky part is that you have to know the name of the link you want to
.. tabs::
- .. example-tab:: examples/s4u/trace-link-user-variables/s4u-trace-link-user-variables.cpp
+ .. example-tab:: examples/cpp/trace-link-user-variables/s4u-trace-link-user-variables.cpp
- **Attaching variables to network Routes**
It is often easier to update a given variable for all links of a given
.. tabs::
- .. example-tab:: examples/s4u/trace-route-user-variables/s4u-trace-route-user-variables.cpp
+ .. example-tab:: examples/cpp/trace-route-user-variables/s4u-trace-route-user-variables.cpp
========================
Larger SimGrid Examplars
.. tabs::
- .. example-tab:: examples/s4u/app-token-ring/s4u-app-token-ring.cpp
+ .. example-tab:: examples/cpp/app-token-ring/s4u-app-token-ring.cpp
.. example-tab:: examples/c/app-token-ring/app-token-ring.c
more powerful for the users wanting to build their own projects upon
the example).
- .. showfile:: examples/s4u/app-masterworkers/s4u-app-masterworkers-class.cpp
+ .. showfile:: examples/cpp/app-masterworkers/s4u-app-masterworkers-class.cpp
:language: cpp
- .. showfile:: examples/s4u/app-masterworkers/s4u-app-masterworkers-fun.cpp
+ .. showfile:: examples/cpp/app-masterworkers/s4u-app-masterworkers-fun.cpp
:language: cpp
.. group-tab:: C
.. group-tab:: C++
- .. showfile:: examples/s4u/app-bittorrent/s4u-bittorrent.cpp
+ .. showfile:: examples/cpp/app-bittorrent/s4u-bittorrent.cpp
:language: cpp
- .. showfile:: examples/s4u/app-bittorrent/s4u-peer.cpp
+ .. showfile:: examples/cpp/app-bittorrent/s4u-peer.cpp
:language: cpp
- .. showfile:: examples/s4u/app-bittorrent/s4u-tracker.cpp
+ .. showfile:: examples/cpp/app-bittorrent/s4u-tracker.cpp
:language: cpp
.. group-tab:: C
.. tabs::
- .. example-tab:: examples/s4u/app-chainsend/s4u-app-chainsend.cpp
+ .. example-tab:: examples/cpp/app-chainsend/s4u-app-chainsend.cpp
.. group-tab:: C
.. group-tab:: C++
- .. showfile:: examples/s4u/dht-chord/s4u-dht-chord.cpp
+ .. showfile:: examples/cpp/dht-chord/s4u-dht-chord.cpp
:language: cpp
- .. showfile:: examples/s4u/dht-chord/s4u-dht-chord-node.cpp
+ .. showfile:: examples/cpp/dht-chord/s4u-dht-chord-node.cpp
:language: cpp
- **Kademlia**
.. group-tab:: C++
- .. showfile:: examples/s4u/dht-kademlia/s4u-dht-kademlia.cpp
+ .. showfile:: examples/cpp/dht-kademlia/s4u-dht-kademlia.cpp
:language: cpp
- .. showfile:: examples/s4u/dht-kademlia/routing_table.cpp
+ .. showfile:: examples/cpp/dht-kademlia/routing_table.cpp
:language: cpp
- .. showfile:: examples/s4u/dht-kademlia/answer.cpp
+ .. showfile:: examples/cpp/dht-kademlia/answer.cpp
:language: cpp
- .. showfile:: examples/s4u/dht-kademlia/node.cpp
+ .. showfile:: examples/cpp/dht-kademlia/node.cpp
:language: cpp
.. group-tab:: C
.. tabs::
- .. example-tab:: examples/s4u/cloud-simple/s4u-cloud-simple.cpp
+ .. example-tab:: examples/cpp/cloud-simple/s4u-cloud-simple.cpp
.. example-tab:: examples/c/cloud-simple/cloud-simple.c
.. tabs::
- .. example-tab:: examples/s4u/cloud-migration/s4u-cloud-migration.cpp
+ .. example-tab:: examples/cpp/cloud-migration/s4u-cloud-migration.cpp
.. example-tab:: examples/c/cloud-migration/cloud-migration.c
.. tabs::
- .. example-tab:: examples/s4u/network-ns3/s4u-network-ns3.cpp
+ .. example-tab:: examples/cpp/network-ns3/s4u-network-ns3.cpp
.. group-tab:: XML
.. tabs::
- .. example-tab:: examples/s4u/network-wifi/s4u-network-wifi.cpp
+ .. example-tab:: examples/cpp/network-wifi/s4u-network-wifi.cpp
.. group-tab:: XML
.. tabs::
- .. example-tab:: examples/s4u/plugin-host-load/s4u-plugin-host-load.cpp
+ .. example-tab:: examples/cpp/plugin-host-load/s4u-plugin-host-load.cpp
.. example-tab:: examples/c/plugin-host-load/plugin-host-load.c
.. tabs::
- .. example-tab:: examples/s4u/plugin-link-load/s4u-plugin-link-load.cpp
+ .. example-tab:: examples/cpp/plugin-link-load/s4u-plugin-link-load.cpp
=======================
Model-Checking Examples
.. tabs::
- .. example-tab:: examples/s4u/mc-failing-assert/s4u-mc-failing-assert.cpp
+ .. example-tab:: examples/cpp/mc-failing-assert/s4u-mc-failing-assert.cpp
.. |br| raw:: html