Chris Donnan : Programming – Brooklyn Style
software, trading, family, fun
Posted linux, trading on Wednesday, September 20th, 2006.
I was doing some of my normal reading this evening. One of the more interesting things that I was reading was – again – regarding some news from Wombat today: Wombat Raises the Bar Again in High Performance Market Data Race on Intel, Novell, and Voltaire Technologies. Interesting – read the news – I found it while reading at another publication that I have read front to back since last night – AutomatedTrader.net. what a fantastic new publication – really!!! Anyhow I am off topic now. In short – Wombat is king in low latency data – enough said!
The Wombat speed records are awesome – but the real purpose of this post is to talk about SUSE Linux Enterprise Real Time. My main desktop has been Suse for ~the past year. I have had lots of attempts at making my MAIN machine linux over the past several years, but Suse was the 1st linux distro that let me make it my primary OS. I do not know how I missed it – but man is this real time Suse interesting! This statement sums up what they are shooting for here “SUSE Linux Enterprise Real Time, is the low-risk, high-performance, real-time Linux solution for complex financial services applications.”. Red Hat has such a huge enterprise finance market share – I am curious to see what happens with Suse Linux Enterprise Rea Time.
Some bullet points:
True Real-time SUSE Linux
Built on the SUSE Linux kernel, Real-Time Extensions is specifically engineered for real-time enterprise computing needs. Real-Time Extensions provides a single-kernel environment that directly controls all system operations. Complex real-time applications require that file I/O, networking and graphics be controlled deterministically together with real-time tasks. Only Real-Time Extensions ensures this determinism.
Guaranteed Response Time
In multiprocessing systems, Real-Time Extensions allows individual CPUs to be shielded from interrupt processing, daemons and other Linux tasks. Processor shielding provides a highly deterministic environment where interrupt response and transaction execution time is guaranteed. Real-Time Extensions offers a guaranteed kernel response time of less than 30 microseconds.
Scalable SMP and Processor Shielding
In tightly-coupled symmetric multiprocessing systems, SUSE Linux Enterprise Real Time allows individual CPUs to be shielded from interrupt processing, daemons, bottom halves, and other Linux tasks. RTE processor shielding provides a highly deterministic execution environment where interrupt response and the time it takes to execute a transaction can be guaranteed.
Multithreading and Preemption
The SUSE Linux Enterprise Real Time Linux kernel allows multiple processes to execute in the kernel simultaneously. The kernel protects key data structures and critical sections of code with semaphores and spin locks to preserve system integrity.
Processes executing in the RTE kernel can also be preempted, i.e. forced to relinquish a CPU involuntarily. The RTE kernel can transfer control from a lower priority process to a higher priority process except when the lower priority process is executing in a critical kernel section. To provide deterministic response, many critical sections of the kernel have been tuned and optimized to dramatically shorten non-preemptable conditions. These changes are key to allowing a high-priority process to respond immediately to an external event, even when the CPU is currently in use.
Semaphores internal to SUSE Linux Enterprise Real Time also support priority inheritance to prevent priority inversion when multiple threads of an application are competing for operating system resources.
Single Kernel Environment
SUSE Linux Enterprise Real Time is a standard Linux designed to fully support time-critical applications. RTE provides a true single-kernel programming environment that directly controls all system operation. Complex time-critical applications often require that high-speed file I/O, networking and graphics be performed deterministically together with real-time task scheduling. Only RTE’s single-kernel design ensures determinism and high-speed performance of all these features.
Frequency-Based Scheduler
SUSE Linux Enterprise Real Time’s Frequency-Based Scheduler (FBS) is a high-resolution task scheduler that enables the user to run processes in cyclical execution patterns. FBS controls the periodic execution of multiple, coordinated processes utilizing major and minor cycles with overrun detection. A performance monitor is also provided to view CPU utilization during each scheduled execution frame.
Real-Time Clock & Interrupt Module
SUSE Linux Enterprise Real Time supports Concurrent’s Real-Time Clock & Interrupt Module (RCIM), a multifunction PCI card designed for time- critical applications that require rapid response to external events. Eight programmable timers and twelve input and output external interrupt lines are available. Any interrupt source can be distributed to other systems for synchronizing multi-system applications. The RCIM also includes a high-resolution synchronized clock to provide a common time base across multiple systems. A GPS option allows system time to be synchronized with GPS standard time. High-stability crystal oscillator options provide for accurate time keeping without an external time source.
Needless to say – I will be following SUSE Linux Enterprise Real Time closely! Leave it to Wombat to be taking advantage of all the possible leverage points available. They are a great example of smart, motivated, experienced people – in the field – delivering empowering technology.
-Chris
You can leave a response, or trackback from your own site.
