News for hackers. Stuff that matters.
Re:ROS 2 Iron Irwini Release by cheeselip420 on Tuesday May 23, 2023 @04:37PM (#36050534)
Sure it does. I've seen teams of >100 engineers working on largely monolithic robotic codebases across several teams/companies (volumes in the 10s of thousands).

Beyond that, robotics isn't all that special. There are other domains which have soft-realtime requirements and huge scale. AAA video games are a multi-$100-billion industry, which largely ship single-process systems with extreme performance on par with state-of-the-art perception and motion planning use-cases.

AR/VR is another area where this is interesting - https://twitter.com/ID_AA_Carmack/status/1497098684546400260 - Carmack has alluded to this issue multiple times.

Re:ROS 2 Iron Irwini Release by rektide on Tuesday May 23, 2023 @04:44PM (#36050622)
It'll be interesting to see how/when wasm shows up in vr & robotics.

Being able to have some shared memory you pass around between safely sandboxed worklets still has any of the same coordination problems. But it at least has much much much less multiprocess jank.

Re:ROS 2 Iron Irwini Release by snovv_crash on Tuesday May 23, 2023 @06:10PM (#36051466)
What does the sandbox really gain you? Is it anything that couldn't just be handled at the OS level?
Re:ROS 2 Iron Irwini Release by rektide on Tuesday May 23, 2023 @06:17PM (#36051544)
It let's you safely run lots of different code in a single processs, without paying the context switching cost.

Quests's jank problem is probably in part that multiprocess architecture has to spawn new processes & change priorities of what's running & handle expensive context switches between processes elegantly, which is hard. Not only is non-monolithic code sometimes harder to reason about, it has all kinds of performance boundaries that are very painful to cut through.

Read through Pipewire changelogs & how they've worked so hard to make best use of kernel primitives with less and less overhead, look how hard they've worked to get near Jack levels of efficiency. Great example of the slow march of multi-process optimization.

Sandboxes let you collocate different processes inside the same process. You still have many of the same architectural challenges, but the ability to spawn new code & run it has much much lower overhead. It creates the possibility to make way more multi-process like architectures than we can explore now.

Re:ROS 2 Iron Irwini Release by snovv_crash on Tuesday May 23, 2023 @06:28PM (#36051661)
In robotics you generally don't want untrusted code anyways. It's much easier to a bad actor to do dangerous behaviour in the real world than breaking out of some sandbox. Kind of an analogue-hole situation.

And at that point why bother with an OS? What benefits are and OS providing then anyways? Just deploy with a unikernel.

Re:ROS 2 Iron Irwini Release by rektide on Tuesday May 23, 2023 @08:37PM (#36052560)
I don't think that matters. This regurgitates the idea that Sandboxes are security measures. That's a naively small use case.

Elsewhere in the threads here is a discussion of Nodelets, which are often used to load & run trusted code on ROS inside of host processes. This is like a jank special homebrew version, with a lot of pain, of what you get from wasm Sandboxes, where you can quickly spin up cheap fast runtime and connect them as nauseum.

That's really the key. Sandboxes are really about having many (typically different) runtimes in process. Often these will be processes working with processes. As I highlighted already extensively, the benefit is performance & overhead, versus native processes & native ipc. Sandboxes are just a known term for a runtime within the process, for a subprocess.

Re:ROS 2 Iron Irwini Release by dbcurtis on Tuesday May 23, 2023 @07:48PM (#36052252)
checks corp github today’s weather: 1.7k open pr’s.

Likely 1000’s of topics, I’ve never counted.

I am not interested in moving to a single app in a single language at the moment.