Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'link-cumload-plugin' into 'master'
[simgrid.git] / examples / README.rst
index 3ac16487c6f77fea2ea2053663a0eb69eeb0c2ac..197c54c387b1b531c2deafb97b9ff7819b635c43 100644 (file)
@@ -29,7 +29,7 @@ Actors: the Active Entities
 ===========================
 
 Starting and Stopping Actors
----------------------------
+----------------------------
 
   - **Creating actors:**
     Most actors are started from the deployment XML file, because this
@@ -147,7 +147,7 @@ Starting and Stopping Actors
 
   - **Specify the stack size to use**
     The stack size can be specified by default on the command line,
-    globally by changing the configuration with :cpp:func:`simgrid::s4u::Engine::set_config(std::string)`, 
+    globally by changing the configuration with :cpp:func:`simgrid::s4u::Engine::set_config`,
     or for a specific actor using :cpp:func:`simgrid::s4u::Actor::set_stacksize` before its start.
     
     .. tabs::
@@ -301,6 +301,21 @@ Communications on the Network
 
          See also :cpp:func:`sg_mailbox_put_async()` and :cpp:func:`sg_comm__wait()`.
 
+ - **Suspending communications:**
+   The ``suspend()`` and ``resume()`` functions allow to block the
+   progression of a given communication for a while and then unblock it.
+   ``is_suspended()`` can be used to retrieve whether the activity is
+   currently blocked or not.
+   
+   .. tabs::
+
+      .. example-tab:: examples/s4u/comm-suspend/s4u-comm-suspend.cpp
+
+         See also :cpp:func:`simgrid::s4u::Activity::suspend()`
+        :cpp:func:`simgrid::s4u::Activity::resume()` and
+        :cpp:func:`simgrid::s4u::Activity::is_suspended()`.
+
+        
  - **Waiting for all communications in a set:**
    The ``wait_all()`` function is useful when you want to block until
    all activities in a given set have completed. 
@@ -629,14 +644,22 @@ Energy Simulation
 =================
 
   - **Describing the energy profiles in the platform:**
-    This platform file contains the energy profile of each links and
-    hosts, which is necessary to get energy consumption predictions.
-    As usual, you should not trust our example, and you should strive
-    to double-check that your instantiation matches your target platform.
+    The first platform file contains the energy profile of each links and
+    hosts for a wired network, which is necessary to get energy consumption
+    predictions. The second platform file is the equivalent for a wireless
+    network. As usual, you should not trust our example, and you should
+    strive to double-check that your instantiation matches your target
+    platform.
 
     .. tabs::
 
-       .. example-tab:: examples/platforms/energy_platform.xml
+       .. group-tab:: XML
+
+         .. showfile:: examples/platforms/energy_platform.xml
+            :language: xml
+
+         .. showfile:: examples/platforms/wifi_energy.xml
+            :language: xml
 
   - **Consumption due to the CPU:** 
     This example shows how to retrieve the amount of energy consumed
@@ -648,14 +671,22 @@ Energy Simulation
 
        .. example-tab:: examples/c/energy-exec/energy-exec.c
 
-  - **Consumption due to the network:**
+  - **Consumption due to the wired network:**
     This example shows how to retrieve and display the energy consumed
-    by the network during communications.
+    by the wired network during communications.
 
     .. tabs::
 
        .. example-tab:: examples/s4u/energy-link/s4u-energy-link.cpp
 
+  - **Consumption due to the wireless network:**
+    This example shows how to retrieve and display the energy consumed
+    by the wireless network during communications.
+
+    .. tabs::
+
+       .. example-tab:: examples/s4u/energy-wifi/s4u-energy-wifi.cpp
+
   - **Modeling the shutdown and boot of hosts:**
     Simple example of model of model for the energy consumption during
     the host boot and shutdown periods.
@@ -885,6 +916,35 @@ Model-Related Examples
 
          .. showfile:: examples/platforms/small_platform_one_link_routes.xml
             :language: xml
+           
+  - **wifi links**
+  
+    This demonstrates how to declare a wifi link in your platform and
+    how to use it in your simulation. The basics is to have a link
+    which sharing policy is set to `WIFI`. Such links can have more
+    than one bandwidth value (separated by commas), corresponding to
+    the several SNR level of your wifi link.
+    
+    In this case, SimGrid automatically switches to validated
+    performance models of wifi networks, where the time is shared
+    between users instead of the bandwidth for wired links (the
+    corresponding publication is currently being written).
+    
+    If your wifi link provides more than one SNR level, you can switch
+    the level of a given host using
+    :cpp:func:`simgrid::s4u::Link::set_host_wifi_rate`. By default,
+    the first level is used.
+
+    .. tabs::
+
+      .. example-tab:: examples/s4u/network-wifi/s4u-network-wifi.cpp
+
+      .. group-tab:: XML
+
+         **Platform files:**
+
+         .. showfile:: examples/platforms/wifi.xml
+            :language: xml
 
 =======================
 Model-Checking Examples