The latest versions of Linux kernel enhanced with a Real-Time patch show fast response times with latencies below 58μsec, a response some 40-times better on system events than a standard pre-emptive Linux kernel. Real-Time Linux is suitable for many applications including, communication stacks, IP-PBXs, and industrial automation.
The Linux kernel is designed to deliver first class performance for personal computers and servers. However, over the last few years, another market where the Linux kernel has shown its potential is in Real-Time Embedded systems.
The key characteristic of a Real-Time Operating System is determinism, something that implies quick response to certain events, and accurate scheduling of periodic tasks. The standard Linux kernel lacks a framework that demonstrates the Real-Time performance required by hard real-time applications.
The Linux community has shown solid interest to address the lack of Real-Time properties in the Linux kernel, and has developed a number of enhancements making the response time for events in the Linux kernel suitable for Real-Time applications. Real-Time Linux improvements are distributed from kernel.org, the Linux source code repository.
In benchmarking the Linux kernel, we collected latency data from a Freescale MX515 development board. The MX515 uses a Cortex-A8 processor from ARM running at 800MHz. The version of the Linux kernel in our tests was 2.6.31.12, modified with a Real-Time patch. We ported the Real-Time patch to work on Cortex-A8 and also made a number of changes to support the MX515 architecture. In order to examine and compare the response times for events, we used two different kernel configurations; one with the Real-Time feature enabled and one with a standard Linux pre-emption. We generated a set of hardware timing events and captured the latencies from the Real-Time applications running in the user space.
The Real-Time Linux research results:
The results from our tests are very encouraging, with the Real-Time kernel performing latencies up to 58μsec maximum, whereas the standard pre-emptive Linux configuration brings about 2465μsec peak response latency; 40-times worse than the latency measured in the Real-Time kernel.
The graph below shows latencies (on a logarithmic scale) for a Real-Time Linux versus a pre-emptive one. In the Real-Time system it is clear, that the event response latencies are quite consistently within the region of 12 to 60 µsec.
Consultancy services:
Hedera Innovations provides you with Open-Source software development and hardware design services in a wide range of applications. Our specialist services allow you to differentiate, increase functionality and reduce cost in your project with cutting-edge Open-Source software components and a custom embedded system design service.
|