Run RCC in parallel for different robots

Hi All,

I have been scratching my head to find a solution / workaround to run different robots in parallel within rcc.
I have only limited resource so cannot run them on different machines.
eg:
robot 1.
robot 2.
started at the same time, but i can see instructions of different robots are executed one by one, not at the same time

First of all, if you are doing something that uses keyboard, mouse, display, be aware that in one machine they cannot be shared, unless you use Windows Remote Desktop (RDP) wake-up for Workforce executions and that is also way to utilize one machine with multiple robots.

Second, environment creation and setup cannot be done in parallel manner for single user, because micromamba and pip cannot use same resources at same time. So there is a lock to protect that. And also note, that you should then be using different holotree spaces for different robots, using --space robot1 option on each robot that want to run parallel, otherwise you might run other things that “lock” parts of robot while running.

After that, things can go parallel, but if your tasks are short and dominated by environment setup, you might not be able to observe that parallel execution. And also note, that with machine with limited capabilities (like for example just 1 CPU), OS will also “switch” between robots.

And also make sure, that you are running latest rcc and not something very old, since originally, rcc prevented parallel runs.

If this did not help, please describe in more detail what for example “one by one” means to you.

Happy hacking!

3 Likes

Great explanation. Thank you, i hope this helps me. I will try this and mark the answer.