Hi,
Yes, this sounds correct to me.
A simple solution is perhaps to bake a -w/--nodelist
argument into cluster_script.sh
with a custom variable to allow your users to define, optionally, a node at the point of job submission.
e.g.
...
{%- if custom_node %}
#SBATCH --nodelist={{ custom_node }}
{%- endif %}
...
If node hostnames are prohibitively cumbersome to enter, you could also include a dictionary that maps them to more user-friendly aliases. See this thread for an example.
The downside to the implementation is that cluster usage will be relatively opaque from within cryoSPARC. Users won’t know which nodes already have jobs running on them. An alternative would be to have one lane for each node, this time using explicitly the -w/--nodelist
argument.
Cheers,
Yang