Distributed Embedded Systems Using Zephyr - Yuval Peress, Google
Channel: The Linux Foundation
Date: 2023-07-12

Distributed Embedded Systems Using Zephyr - Yuval Peress, Google

Embedded computing goes way beyond a single chip. In a given system, it’s likely that several tasks are running concurrently and interacting with each other. In most other computing disciplines these would be called micro-services. With the latest integration of Pigweed’s embedded RPC implementation, it’s now possible to imagine a similar concept in the embedded domain. In such a system design, it’ll be possible to define the task’s interface using a .proto file. During compile time, we can choose how we want the generated code to behave: local vs remote. Having this boundary enables applications to distribute computation across multiple microcontrollers.  During the talk, I’ll discuss the benefits of having a proto API boundary and the benefits of running the service locally vs remotely along with the overhead. Additionally, I’ll discuss the benefits of such a modular design on testing. Finally, we’ll walk through a sample application with 2 services. The sample will demonstrate the benefits of: 1. Being able to develop the services in parallel 2. Writing tests based on the API boundary (before writing code) 3. Being able to run the service remotely without additional engineering overhead and minimal performance/memory overhead