Making Ethernet Work for Real-Time Systems
January 12, 2017 | BY: Andrew McCoubrey
Not long ago, watching videos on the Internet required patience and tolerance - streams would often pause, break up, or turn into a blocky mess before resuming. Today, binge-watching HD streams on Netflix is a reality for many, thanks to higher-speed links, better video algorithms, and smarter networks that give preferential treatment to streaming content. Advances in network technology are even enabling what would have been unthinkable before – using commercial Ethernet technology for high-performance real-time embedded systems, even in safety-critical airborne applications.
Say Aloha to Collisions
Ethernet traces its origins to a research project at the University of Hawaii – ALOHAnet. In 1971 this network used radio links to connect users across the Hawaiian Islands to a time-sharing computer. The key innovation was random access to a shared medium – every terminal could transmit onto the same frequency at any time. If two terminals started transmitting at the same time, they would interfere with each other – a so-called “collision”. When this happened the terminals would detect the collision and stop transmitting, then wait before sending again. When this approach was adapted to work on another shared medium – coaxial cable – Ethernet was born.
Before Ethernet, network technologies that shared a cable would give each connected device a fixed slice of the bandwidth – for example using time-division multiplexing (TDM) – or make everyone take turns accessing the network. This reduced the capacity of the network by forcing each sender to wait its turn, even if nobody else had data to send. As the network grew, the available capacity had to be divided into ever smaller slices, reducing the throughput available to anyone. With Ethernet, every connected system can access full network capacity when needed, which makes the network faster. But collisions introduce unpredictable delays – a major problem for real-time systems.
Fortunately, collisions are no longer an issue in Ethernet networks. Today, non-blocking switches give each computer a dedicated link, eliminating contention for a shared medium. With collisions eliminated, there are no longer random delays in Ethernet networks. Designers of real time systems can use the latency through a switch to calculate a worst-case delay from sender to receiver – and plan their software accordingly.
Quality of Service – Real-Time Rides First Class
Today’s Ethernet switches don’t just eliminate collisions – they offer a range of features for managing network data. One common family of features implements “Quality of Service” (QoS) – a system for classifying types of network traffic and applying different policies to different types. In systems where real-time traffic shares the network with other, non-real-time traffic, QoS can be used to ensure that real-time data is prioritized. When there is congestion – traffic destined for an output interface exceeds the link speed – packets will queue up in the switch waiting their turn to be sent. If all traffic waits in the same queue, real-time traffic can be delayed. But QoS features allow real-time traffic to be sent into a priority queue that is always serviced first.
Deterministic Ethernet – Enforcing Real-Time Rules
Building a real-time network takes more than just features in the switch – connected devices must also play by the rules. A variety of approaches have been adopted to avoid congestion, add redundancy and make the system easier to analyze. By creating and enforcing policies for every device in the system, Ethernet can be made to meet the requirements of even the most critical real-time applications. One of the early technologies for deterministic Ethernet was AFDX, developed by Airbus to provide reliable and predictable networking for avionics. AFDX uses Ethernet technology but also enforces strict round-robin scheduling, giving each device a slice of the network bandwidth. The result is a deterministic network than can be safety-certified. But the technology is also relatively low-speed and depends on proprietary IP.
Newer approaches to deterministic Ethernet such as Time-Triggered Ethernet (TTE) provide increased speeds and more flexibility, allowing real-time and best-effort traffic to share the network. However, these solutions still require specialized hardware or proprietary IP. Since most of the functionality needed is now available in ordinary commercial Ethernet switches, an alternative approach is to simply use the QoS and policy features of standard hardware. All you really need is a solid understanding of the switch architecture and control over the endpoint software.
More Standards – Coming Soon
Soon, a new family of open standards may make it easier to build deterministic Ethernet solutions with off-the-shelf hardware and software. In the last few years, the IEEE 802.3 standard has gained a range of features to facilitate predictable switching of real-time audio and video –called “Audio Video Bridging” or AVB. Recognizing the need for real-time networking in other domains such as industrial automation and autonomous vehicles, a new set of standards is being developed for “Time Sensitive Networking” – TSN. Once the standard is implemented in commercial switch devices, another level of technology will become available to make real-time Ethernet even more compelling.