RLTK’s remote module is based on Dask’s distributed. It has scheduler which coordinates the actions of several worker s spread across multiple machines and the concurrent requests of several clients.

To start scheduler, do:

python -m rltk remote.scheduler --port <port>

Then on worker machines, do

python -m rltk remote.worker <scheduler-ip>:<scheduler-port> --nprocs <processors>

Authentication is supported through Privacy Enhanced Mail (PEM) files. You can either get them from CA (Certificate Authority) or generate self-signed PEM locally. Here’s an example of generating PEM by using OpenSSL:

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

Then provide these PEM files while starting scheduler and workers. If you don’t have CA certificate, set tls-ca-file same to tls-cert.

# scheduler
python -m rltk remote.scheduler --port <port> --tls-ca-file cert.pem --tls-cert cert.pem --tls-key key.pem

# worker, specify protocol TLS in scheduler's address
python -m rltk remote.worker tls://<scheduler-ip>:<scheduler-port> --tls-ca-file cert.pem --tls-cert cert.pem --tls-key key.pem

Dask provides a web UI to monitor scheduler and worker status, detailed usage can be found here.