Real-time Linux for US Navy weapons systems gets an upgrade
Yesterday, a supplier of Linux for driving time critical applications -- such as intercepting ballistic missiles -- released RedHawk Linux 5.1, its latest "real-time" operating system distribution.
Concurrent is a Linux distributor specializing in real-time technologies that can be utilized by some very serious businesses. For example, Concurrent is the key supplier of RedHawk Linux for the US Navy's Aegis cruisers, which are equipped with anti-air, anti-surface, and anti-submarine weapons systems.
The company's trademark architecture relies on the presence of multiple processors, and the ability to schedule threading between CPUs and cores to ensure higher reliability for user tasks, as opposed to hardware-specific tasks. One way it does this is through a mechanism Concurrent calls processor shielding, which grants higher priorities to selected cores that run user applications...such as anti-submarine algorithmic operations.
"When the worst-case time measured for either executing a code segment or response to an interrupt is significantly different than the typical case, the application's performance is said to be experiencing jitter. Because of computer architecture features such as memory caches and because of contention for shared resources, there will always be some amount of jitter in measurements of execution times," reads a Concurrent white paper on the subject (PDF available here).
"Real-time applications are defined by the fact that they must respond to real world events within a predetermined deadline. Computations that are completed after this deadline are considered incorrect. This means that the worst-case jitter the operating system allows determines whether that operating system is suitable for hosting a given real-time application. Each real-time application must define the amount of jitter that is acceptable to that application."
As the white paper goes on, high-priority tasks are granted to shielded CPUs, while hardware interrupts are assigned to the others.
In the multi-core era, it becomes possible to segment processor resources and architecture more granularly. So the most noteworthy new features of RedHawk Linux 5.1 is Intel and AMD quad-core processor support, plus support for non-uniform memory architecture (NUMA) used by AMD processors.
NUMA enables separate cores to access different segments of memory without having to utilize the same stream. Real-time processes are able to work faster using NUMA because all processes are local to a particular node and will not be shared or interrupted by another page trying to use the same node.
NUMA is more important for companies using real-time Linux operating systems because they need reliable access to time-critical environment situations that may not be met by a regular Linux OS. NUMA is used by AMD processors today, and will being integrated into the next generation of 45 nm Intel CPUs. Previous Intel Xeon and Pentium processors used a shared pool of memory that each processor was forced to access using a memory controller hub or front-side bus.
AMD's official Web site provides several links detailing more about NUMA and its importance with multiprocessor computer systems.