Periodic timers revisited: The real-time embedded system perspective

Common sense dictates that single-shot timer mechanisms are more suitable for real-time applications than periodic ones, specially in what concerns precision and jitter. Nevertheless, real-time embedded systems are inherently periodic, with tasks whose periods are almost always known at design-time. Therefore a carefully designed periodic timer should be able to incorporate much of the advantages of single-shot timers and yet avoid hardware timers reprogramming, an expensive operation for the limited-resource platforms of typical embedded systems. In this paper, we describe and evaluate two timing mechanisms for embedded systems, one periodic and another single-shot, aiming at comparing them and identifying their strengths and weaknesses. Our experiments have shown that a properly designed periodic timer can usually match, and in some cases even outperform, the single-shot counterpart in terms of precision and interference, thus reestablishing periodic timers as a dependable alternative for real-time embedded systems.

[1]  Sergio Ruocco,et al.  A Real-Time Programmer's Tour of General-Purpose L4 Microkernels , 2008, EURASIP J. Embed. Syst..

[2]  Timothy Roscoe,et al.  30 seconds is not enough!: a study of operating system timer usage , 2008, Eurosys '08.

[3]  Peter Druschel,et al.  Soft timers: efficient microsecond software timer support for network processing , 1999, SOSP.

[4]  Michael F. P. O'Boyle,et al.  Compiler parallelization of C programs for multi-core DSPs with multiple address spaces , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[5]  Antônio Augusto Fröhlich,et al.  Hardware Mediators: A Portability Artifact for Component-Based Systems , 2004, EUC.

[6]  Antônio Augusto Fröhlich,et al.  On the Design of Flexible Real-Time Schedulers for Embedded Systems , 2009, 2009 International Conference on Computational Science and Engineering.

[7]  D. Niehaus Hrtimers and Beyond : Transforming the Linux Time Subsystems , 2009 .

[8]  Bruce Jacob,et al.  Hardware support for real-time operating systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[9]  D. Feitelson,et al.  General-Purpose Timing : The Failure of Periodic Timers , .

[10]  Jonathan Walpole,et al.  Supporting time-sensitive applications on a commodity OS , 2002, OPSR.

[11]  B. Srinivasan,et al.  A firm real-time system implementation using commercial off-the-shelf hardware and free software , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[12]  J. Mugler,et al.  Proceedings Formatting Team , 2002 .

[13]  Giovani Gracioli,et al.  One-Shot Time Management Analysis in EPOS , 2008, 2008 International Conference of the Chilean Computer Science Society.