diff --git a/docs/sphinx/tuning.rst b/docs/sphinx/tuning.rst new file mode 100644 index 0000000000000000000000000000000000000000..614daebacab45829fc55be7825cd7000612f313c --- /dev/null +++ b/docs/sphinx/tuning.rst @@ -0,0 +1,49 @@ +Tuning +====== + +Make Maestro Core perform. + +Knobs +----- + +Maestro features a range of environment variables, the full list and doc follows. +Maestro is relying on OFI for network operations, therefore the usual OFI knobs +can also be played with. + +.. doxygengroup:: MSTRO_ENV + +Telemetry +--------- + +``MSTRO_LOG_LEVEL`` environment controls the verbosity of the Maestro logs, and +can take the following values: error, warning, info, debug, noise. By default +Maestro Core outputs to ``stderr``, one may also choose ``stdout`` or +``syslog`` via ``MSTRO_LOG_DST=syslog`` + +Log lines look like + +.. code-block:: bash + + [I:pm] Simple_Pool_Manager:0 1 CQ-H-0-0 (nid00001 777) 22222479341864000: mstro_pm__handle_join_phase2(pool_manager.c:2540) JOIN message received. Caller Client:2 is now known as app #2 + +Which reads as + +.. code-block:: bash + + [<log level>:<log module>] <component_name>:<rank_id> <app_id> <thread_id> (<hostname> <pid>) <timestamp>: <function>(<file>:<lineno>) <message> + + +Profiling +--------- + +A couple of utilities shipped with Maestro core may complement well existing profiling tools reports to analyse Maestro-enabled workflows: + +* ``$(MAESTRO_PATH)/examples/core_bench`` runs a benchmark that shows some basic numbers +* ``$(MAESTRO_PATH)/visualise/vis.py`` proposes an in-browser interactive visualisation of a Maestro-enabled workflow +* ``$(MAESTRO_PATH)/examples/transport_bars.py`` plots timings of Maestro operations relative on transport, based on a Maestro logs input + + +Scheduling +---------- + +TODO