You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move ZMQ monitoring radio initialization into HTEX (#3813)
This is part of an ongoing project to move monitoring message forwarding
into relevant executors, with executors only initializing whichever
routers are needed.
In this step of the project:
The ZMQ radio/router is only used by the high throughput executor to
receive messages from the interchange. This PR makes the initialization
of that look more like other interchange<->submit side ZMQ
initialiation, rather than look like monitoring system initialization.
This does not stop other future components which want to use
monitoring-over-ZMQ: those components would initialize ZMQ routing
themselves.
API-wise:
Parsl executors lose the hub_zmq_port attribute which was configured by
the DFK after initialising monitoring.
As a replacement, Parsl executors gain a monitoring_messages attribute,
which is the multiprocessing.Queue where executors should send
monitoring messages when they have received them from their own
components. This queue already existed between monitoring components,
but is now exposed as an interface for other Parsl components.
Configuration-wise:
Several ZMQ-related monitoring configuration options now come from HTEX
configuration, rather than from MonitoringHub configuration. There are
no new configuration options.
* Choice of ZMQ port now comes from the same range as other HTEX ZMQ
ports, rather than from the port range in MonitoringHub. This means the
minimum number of available ports there is now 4, instead of 3.
* ZMQ router log files now go into the High Throughput Executor's log
directory, usually a subdirectory of the main log directory.
* ZMQ log verbosity is configured by High Throughput Executor's
worker_debug configuration parameter, rather than by
MonitoringHub.monitoring_debug.
* The ZMQ router will now listen on the interchange loopback address,
configured by HighThroughputExecutor.loopback_address, rather than on
all addresses.
## Type of change
- New feature
- Code maintenance/cleanup
0 commit comments