Remote¶
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.