Benchmarking Real-time Determinism in Windows CE
Abstract
The real time or deterministic performance of Windows CE has been extensively investigated for applications in industrial control systems. With the release of CE.NET, engineers are asking if the new [CE 4.x] operating system is more or less agile than its widely used predecessors, 2.12, and 3.0. This white paper first establishes the real-time performance of CE 3.0 on the "industry standard" StrongARM platform, and then compares it in detail to CE.NET [CE 4.x], and its predecessor CE 2.12.
Real-Time performance was tested by using a standard function generator to create a hardware interrupt on the device. The device then starts an IST which immediately sets a GPIO line high and sets a Windows event. Further, an application thread receives that event and sets another GPIO line high. We tested and are reporting several timing differentials with reference to the generated hardware interrupt and the time at which the output GPIO lines actually went high.
These are "hard tests" for "hard real-time". There are no measurements made "internal" to the hardware/software platform, and there are no semantic games on the nature of hard and soft real time. The results, measured with high speed, high precision instruments, were surprising, suggesting that Microsoft specifications for CE real time performance were too conservative. CE as an RTOS performs far better than generally discussed.
View the full whitepaper here (June 2002, pdf 154k)
----------------- Chris Tacke, eMVP Applied Data Support
Keywords: benchmark, CreateEvent(), CreateFile(), CreateThread(), derministic, event, interrupt, ISR (interrupt service routine), IST (interrupt service thread), jitter, latency, multi-tasking, overhead, performance, Polygons, pulse, real-time, saturation, WaitForSingleObject()
Edited by akidder 16-Aug-2005: Add title and keywords |