Lane/Worker configuration

Dear cryoSPARC dev team and users,

i have some detailed questions about lane/worker configuration.

Currently, we’re using cryoSPARC v3.2.2, but an upgrade to v.4.x is planned for this year. We have a main server, running the cryoSPARC master, but not having any GPU. For computing, we have 7 GPU nodes, doing the calculation. We do not have any cluster installation, so there is no queuing using SLURM or equivalent, but managing the workload is done by the cryosparc master.

Currently, our setup is a single worker per lane, so we have 7 different lanes in the configuration. Our users queue their jobs, based on node usage. Currently, our lab is quite small, and only 3-4 users use cryoSPARC, so this is currently fine.

My first question now is, what is the advantage to add multiple workers in a single lane? Does this speed up the analysis? E.g., can we then use 8 instead of 4 GPUs for the analysis? This would be beneficial, as this would speed up the analysis, of the costs of total jobs running in parallel. But as said before, due to the small number of users, this would be beneficial for us.

If my thoughts are correct, can I just re-connect the worker using the cryosparcw connect --update and specify the lane? Or do I have to unhook the worker/lane prior to doing this?

If my previous thoughts are coherent, are there limitations for multi-worker lanes? Due to the historical growth and expansion of our worker nodes, we have relatively high heterogeneity.
5 machines have NVIDIA 2080 Ti (2 times just 2 GPU, 3 times 4 GPUs)
1 machine has 4 3090, 1 machine has 4 A5000.
Additionally, not all of the workers do have an SSD cache.

Do I need to consider this heterogeneity, when merging workers into a single lane? Should I try to have workers with similar architecture, merged in a single workstation? Or is cryoSPARC able to identify these differences and the workload is distributed based on this?

And as a closing question, is there a cli command to rename workers and lanes? And delete lanes, after merging, leaving empty lanes left?

Thanks for your help and guidance


Pooling multiple node-type “targets” in single lane does not increase the number of GPUs available to any job. Pooling may, however, reduce a job’s time in the queue:
Consider a one-node-per-lane configuration where a user selected one lane not knowing that the node in another lane would become available sooner than expected. Had the two nodes been pooled in a single lane, the job would start as soon as any suitable node in the multi-node lane becomes available.

Imo, it makes most sense to pool nodes between which users would not have a large preference.

There are several relevant commands. Please see the cli documentation.

Hi @wtempel

thank you for your response. My idea of multi-worker lanes was obviously completely wrong, so thanks for this clarification. Maybe this could be added in the installation/configuration information (if it’s already there, I am just blind).

And also thanks for the cli documentation.

I guess, this topic can be closed.