diff --git a/docs/sphinx/tuning.rst b/docs/sphinx/tuning.rst index 1468a311e7d19d84ebab06c097ca43ef7b6d47de..48247c449402bbc8bbb6aa509227ca0797b6e3f1 100644 --- a/docs/sphinx/tuning.rst +++ b/docs/sphinx/tuning.rst @@ -6,13 +6,62 @@ Make Maestro Core perform. Architecture ------------ +The Pool Manager is a multi-threaded app that can be expected to need some +memory to fit metadata, which grows with the number of CDOs in the workflow. +The Pool Manager communicate with pool clients, that is Maestro resources on +the client side. Applications using Maestro Core transparently use extra +threads for Maestro usage, typically one for pool communication and a +configurable number of threads (``MSTRO_OFI_CQ_NUM_THREADS``) to +parallelise pool operations at the network level. Knobs ----- Maestro features a range of environment variables that can be played with. +* MSTRO_LOG_LEVEL + + Log level (Error|Warning|Info|Debug). (Optional) + +* MSTRO_LOG_MODULES + + Selection of modules that should log (Optional) + Typically + + .. code-block:: shell + + MSTRO_LOG_LEVEL=Info MSTRO_LOG_MODULES="stats" + + Says Maestro Core should record logs up to ``Info`` level, but just for the + stats module. This would typically be used for a benchmarking run, where we do not want + to record logs that would slow us down, but still want the stats report at + ``mstro_finalize()`` time. + +* MSTRO_LOG_COLOR + + Log color. (green|blue|brightblue|...) (Optional). Typically helps visually parse small logs between a couple apps. + +* MSTRO_LOG_DST + + Select logging output channel. (stdout|stderr|syslog) (Optional) + +* MSTRO_TRANSPORT_DEFAULT + + Which transport method to choose by default. (RDMA|GFS|MIO) (Optional) + +* MSTRO_TRANSPORT_GFS_DIR + + Directory for GFS transport. (Optional) + +* MSTRO_OFI_NUM_RECV + + Number of concurrent receive operations per endpoint. (Optional) + +* MSTRO_OFI_CQ_NUM_THREADS + + Number of threads servicing OFI completion events. (Optional) + Maestro is relying on OFI for network operations, therefore the usual OFI knobs can also be played with. @@ -20,12 +69,7 @@ can also be played with. 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 +Maestro Core log lines look like .. code-block:: bash