X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fe304706848f0a64477d4687b3ea97d5b9a0c35c..c50e469ccac5b2b146bfb48b598142e7a2043e59:/docs/source/app_s4u.rst diff --git a/docs/source/app_s4u.rst b/docs/source/app_s4u.rst index 274152b53d..fd8bc9ab29 100644 --- a/docs/source/app_s4u.rst +++ b/docs/source/app_s4u.rst @@ -8,8 +8,8 @@ The S4U Interface
@@ -39,7 +39,7 @@ S4U interface to express their :ref:`computation `, :ref:`communication `, :ref:`disk usage `, and other |API_s4u_Activities|_, so that they get reflected within the simulator. These activities take place on resources such as |API_s4u_Hosts|_, -|API_s4u_Links|_ and |API_s4u_Storages|_. SimGrid predicts the time taken by each +|API_s4u_Links|_ and |API_s4u_Disks|_. SimGrid predicts the time taken by each activity and orchestrates the actors accordingly, waiting for the completion of these activities. @@ -75,14 +75,14 @@ provides many helper functions to simplify the code of actors. - **Platform Elements** + - :ref:`class s4u::Disk ` + Resource on which actors can write and read data. - :ref:`class s4u::Host `: Actor location, providing computational power. - :ref:`class s4u::Link ` Interconnecting hosts. - :ref:`class s4u::NetZone `: Sub-region of the platform, containing resources (Hosts, Links, etc). - - :ref:`class s4u::Storage ` - Resource on which actors can write and read data. - :ref:`class s4u::VirtualMachine `: Execution containers that can be moved between Hosts. @@ -94,7 +94,7 @@ provides many helper functions to simplify the code of actors. - :ref:`class s4u::Exec ` Computation activity, started on Host and consuming CPU resources. - :ref:`class s4u::Io ` - I/O activity, started on and consumming Storages. + I/O activity, started on and consumming disks. - **Synchronization Mechanisms**: Classical IPC that actors can use @@ -116,8 +116,8 @@ provides many helper functions to simplify the code of actors. .. |API_s4u_Links| replace:: **Links** .. _API_s4u_Links: #s4u-link -.. |API_s4u_Storages| replace:: **Storages** -.. _API_s4u_Storages: #s4u-storage +.. |API_s4u_Disks| replace:: **Disks** +.. _API_s4u_Disks: #s4u-disk .. |API_s4u_VirtualMachine| replace:: **VirtualMachines** @@ -138,15 +138,11 @@ provides many helper functions to simplify the code of actors. .. |API_s4u_Mutex| replace:: **Mutex** -.. THE EXAMPLES - -.. include:: ../../examples/s4u/README.rst - Activities ********** Activities represent the actions that consume a resource, such as a -:ref:`s4u::Comm ` that consumes the *transmiting power* of +:ref:`s4u::Comm ` that consumes the *transmitting power* of :ref:`s4u::Link ` resources. ======================= @@ -173,14 +169,14 @@ Finally, to wait at most until a specified time limit, use wait_for and wait_until are currently not implemented for Exec and Io activities. -Every kind of activities can be asynchronous: +Every kind of activity can be asynchronous: - :ref:`s4u::CommPtr ` are created with :cpp:func:`s4u::Mailbox::put_async() ` and :cpp:func:`s4u::Mailbox::get_async() `. - :ref:`s4u::IoPtr ` are created with - :cpp:func:`s4u::Storage::read_async() ` and - :cpp:func:`s4u::Storage::write_async() `. + :cpp:func:`s4u::Disk::read_async() ` and + :cpp:func:`s4u::Disk::write_async() `. - :ref:`s4u::ExecPtr ` are created with :cpp:func:`s4u::Host::exec_async() `. - In the future, it will become possible to have asynchronous IPC @@ -319,7 +315,7 @@ The last twist is that by default in the simulator, the data starts to be exchanged only when both the sender and the receiver are announced (it waits until both :cpp:func:`put() ` and :cpp:func:`get() ` are posted). -In TCP, since you establish connexions beforehand, the data starts to +In TCP, since you establish connections beforehand, the data starts to flow as soon as the sender posts it, even if the receiver did not post its :cpp:func:`recv() ` yet. @@ -348,7 +344,7 @@ managed through the context. Provided that you never manipulate objects of type Foo directly but always FooPtr references (which are defined as `boost::intrusive_ptr `_ -), you will never have to explicitely release the resource that +), you will never have to explicitly release the resource that you use nor to free the memory of unused objects. Here is a little example: @@ -369,6 +365,10 @@ pointers (yet?). This means that it is currently impossible to destroy a mailbox or a link. You can still destroy an host (but probably shouldn't), using :cpp:func:`simgrid::s4u::Host::destroy`. +.. THE EXAMPLES + +.. include:: ../../examples/README.rst + C++ API Reference ***************** @@ -444,6 +444,17 @@ s4u::ConditionVariable :protected-members: :undoc-members: +.. _API_s4u_Disk: + +============ +s4u::Disk +============ + +.. doxygenclass:: simgrid::s4u::Disk + :members: + :protected-members: + :undoc-members: + .. _API_s4u_Engine: =========== @@ -468,6 +479,32 @@ s4u::Exec :protected-members: :undoc-members: +.. _API_s4u_ExecSeq: + +============ +s4u::ExecSeq +============ + +.. doxygentypedef:: ExecSeqPtr + +.. doxygenclass:: simgrid::s4u::ExecSeq + :members: + :protected-members: + :undoc-members: + +.. _API_s4u_ExecPar: + +============ +s4u::ExecPar +============ + +.. doxygentypedef:: ExecParPtr + +.. doxygenclass:: simgrid::s4u::ExecPar + :members: + :protected-members: + :undoc-members: + .. _API_s4u_Host: ========= @@ -553,17 +590,6 @@ s4u::Semaphore :protected-members: :undoc-members: -.. _API_s4u_Storage: - -============ -s4u::Storage -============ - -.. doxygenclass:: simgrid::s4u::Storage - :members: - :protected-members: - :undoc-members: - .. _API_s4u_VirtualMachine: =================== @@ -575,11 +601,37 @@ s4u::VirtualMachine :protected-members: :undoc-members: +C API Reference +*************** + +============== +Main functions +============== + +.. doxygenfunction:: simgrid_init +.. doxygenfunction:: simgrid_get_clock +.. doxygenfunction:: simgrid_load_deployment +.. doxygenfunction:: simgrid_load_platform +.. doxygenfunction:: simgrid_register_default +.. doxygenfunction:: simgrid_register_function +.. doxygenfunction:: simgrid_run + +================== +Condition Variable +================== + +See also the :ref:`C++ API `. + +.. doxygenfunction:: sg_cond_init +.. doxygenfunction:: sg_cond_notify_all +.. doxygenfunction:: sg_cond_notify_one +.. doxygenfunction:: sg_cond_wait +.. doxygenfunction:: sg_cond_wait_for Python API Reference ******************** -The Python API is generated with pybind11. It closely mimicks the C++ +The Python API is automatically generated with pybind11. It closely mimicks the C++ API, to which you should refer for more information. ==========