Use of 'run hosts'

What are the requirements for using run hosts? My understanding it that this launches the cylc scheduler process itself on a separate server to where you run cylc install and cylc play.

I get errors saying the flow.cylc file cannot be found on the remote server when I try using this option, is it expected that the [run host] should share a disk with where you’re running cylc play?

Hello,

this launches the cylc scheduler process itself on a separate server to where you run cylc install and cylc play .

Yes, if run hosts are configured, the cylc play command will pick one of the hosts (according to any configured ranking) and re-invoke itself on that host via SSH.

The run hosts must:

  1. Share a common $HOME directory.
  2. Share a common Cylc global config ( global.cylc ).
  3. Be set up to allow passwordless SSH between them.

The documentation for this was written recently so has not yet been published yet but you can get a sneak peak via the “nightly” build of the documentation:

https://cylc.github.io/cylc-doc/nightly/html/user-guide/writing-workflows/scheduler.html#submitting-workflows-to-a-pool-of-hosts

Not sure it’s clear from Oliver’s response, or the documentation (we’ll fix that), but yes - you need to run cylc commands on a host that sees your workflow run directories.

Typical setup, as at NIWA: users log into particular HPC nodes for interactive work, including starting and interacting with Cylc workflows. And the run hosts global config ensures that all the Cylc schedulers start on a small pool of dedicated “Cylc nodes”, with basic load balancing at start up. (And all the nodes are on the shared filesystem).