Temporal behavior of Ethernet communications: impact of the operating system and protocol stack - Pedro Silva (2010)
Ethernet is currently the most widely used networking technology, spanning across many application domains including embedded systems. In this particular case, Ethernet is even used in many time-critical applications in which the delay induced by communication must be short and bounded. It is thus very important to understand the entire transmission process and assess its temporal behavior. There are a number of aspects to consider, including the network protocol, network topology, network elements and end devices. This paper aims at assessing the impact of the operating system and its protocol stack implementation in the end devices on the network temporal behavior. We studied four operating systems, namely a standard Ubuntu distribution with and without a real-time kernel patch, an embedded stripped down version of Linux and QNX Neutrino, and two hardware platforms, namely ordinary PCs and a single board computer based on an AVR32 CPU. We measured the Round Trip Delay (RTD) using RAW, UDP and TCP sockets to interface the protocol stack. We verified that on high computing power platforms the difference between the sockets is small but still significant in resource-constrained platforms. On the other hand, full featured general OSs present rather large worst-case delays. These can be reduced using real-time patches for those OSs, RTOSs, or even removing unnecessary modules, services and particularly, data intensive device drivers. We believe this study can be helpful for system designers as well as for teaching networks courses in embedded systems.