Digital & Communication Technology
Zenoh is an open-source protocol designed by the ZettaScale team which has been receiving a lot of attention due to some of its very unique features. Before explaining what is special about Zenoh and how it can help, among other things, reduce the energy used in communication, it is worth explaining the motivations behind Zenoh’s design. When looking at the protocols available today, it is impossible to find a technology that can run efficiently from the data centre down to the microcontroller. A protocol that can work efficiently on constrained as well as high-bandwidth networks. As a result, most of the systems that span from the data centre to the microcontroller must deal with the integration of multiple technologies, some of which are imposing some extremely strict limitations on the communication patterns.
As an example, MQTT only supports client to broker communication and no peer-to- peer, yet peer-to-peer is essential to leverage locality. If we take an example on the opposite side of the spectrum, DDS supports peer-to- peer, but it is very hard to get it to work across the Internet. Both protocols are not easy to use on constrained networks — in both cases another (non-wire-interoperable) protocol has to be used, MQTT-SN for one and DDS-XRCE for the other.
If we look at protocol overhead, neither DDS nor MQTT were really designed to minimize the protocol data, and even protocols that are supposed to be wire- efficient, such as DDS-XRCE are clumsy to use and overly verbose. On one hand, an MQTT publisher will send data even if there is nobody interested in receiving it. On the other hand, the wire-overhead for both
DDS and MQTT is, at very minimum, several tens of bytes.
Zenoh addresses the limitations of existing protocols, by providing a wire-overhead of about five bytes and providing the ability to communicate, share, and query data over arbitrary topologies. Different from mainstream protocols, Zenoh can run on IP networks but technically does not need it, as it can sit as low as Data- Link Level on the ISO/ OSI communication model.
Zenoh is able to deliver great performance on both high-end and extremely constrained hardware and networks. It can deliver over 60 Gbps of throughput on regular workstations connected by 100 Gbps
www.cieonline.co.uk
IP network and has a latency of 10usec. Let’s now compare the impact of the wire-overhead. Imagine that there is a device that is sending a reading every hour, let’s assume that this reading is 16 bytes. With Zenoh, over a year timespan, the amount of data sent would be (16+5)*24*365 = 140160 + 43800 bytes, whereas the 43800 bytes would be the Zenoh protocol overhead. With MQTT, assuming a topic name of 32 characters, so that we can have the same minimal wire-overhead as DDS, we would get (16 + 75)*25*365 bytes = 140160 + 657000 bytes. There are two things to notice here. First, with MQTT and DDS we end up sending far more protocol data than user data. Second, these protocols have at least 15x more wire overhead than Zenoh. Please consider that while the protocol data is not a lot per se, if you consider that there could be millions of these devices communicating, you see that a factor 15 makes a huge difference in the amount of data sent and, therefore, the overall energy used. But there is more. In Zenoh, if applicable for your network, you could avoid using IP in some segments, further reducing the wire-overhead. The other aspect in which Zenoh can
help cut down energy use is by keeping communications local. As shown in the diagram below, Zenoh allows applications to communicate peer-to-peer, brokered by a router or a peer, or routed. This flexibility makes sure that the communication topology can always be optimal for your application and as such, exploit locality and reduce power consumption as explained earlier. If this wasn’t already great, Zenoh provides more, specifically, it makes available a primitive for geo-distributed queries that enables decentralized storage of data, thus providing yet another way of reducing energy consumption by leveraging locality for data at rest.
Final thoughts
In this article we have investigated the hidden cost of the communication, identifi ed the different approaches that can be taken for reducing it, and introduced a novel and swiftly growing protocol, named Zenoh. Zenoh allows for the optimization of energy utilization by supporting locality, and minimizing protocol data overhead.
https://www.zettascale.tech/ Components in Electronics December/January 2023 35
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50 |
Page 51 |
Page 52 |
Page 53 |
Page 54 |
Page 55 |
Page 56 |
Page 57 |
Page 58 |
Page 59 |
Page 60 |
Page 61 |
Page 62 |
Page 63