Real-time considerations for rugged embedded systems

This chapter introduces the characterizing aspects of embedded systems and discusses the specific features that a designer should address in an embedded system “rugged,” i.e., able to operate reliably in harsh environments. The chapter addresses both the hardware and the less obvious software aspects. After presenting a current list of certifications for ruggedization, the chapters present a case study that focuses on the interaction of the hardware and software layers in reactive real-time system. In particular, it shows how the use of fast field programmable gate array prototyping could provide insights on unexpected factors that influence the performance and thus responsiveness to events of a scheduling algorithm for multiprocessor systems that manages both periodic, hard real-time task, and aperiodic tasks. The main lesson is that to make the system “rugged,” a designer should consider these issues by, for example, overprovisioning resources and/or computation capabilities.

[1]  Sanjoy K. Baruah,et al.  Static-priority scheduling on multiprocessors , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[2]  A. Crespo,et al.  Soft aperiodic task scheduling on hard real-time multiprocessor systems , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[3]  Gianluca Palermo,et al.  A Dual-Priority Real-Time Multiprocessor System on FPGA for Automotive Applications , 2008, 2008 Design, Automation and Test in Europe.

[4]  Gerhard Fohler,et al.  Joint scheduling of distributed complex periodic and hard aperiodic tasks in statically scheduled systems , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[5]  Andy J. Wellings,et al.  Dual priority scheduling , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[6]  Marco Spuri,et al.  Implications of Classical Scheduling Results for Real-Time Systems , 1995, Computer.

[7]  Björn Andersson,et al.  Fixed-priority preemptive multiprocessor scheduling: to partition or not to partition , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[8]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[9]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[10]  Jesús Labarta,et al.  An Efficient Scheme to Allocate Soft-Aperiodic Tasks in Multiprocessor Hard Real-Time Systems , 2002, PDPTA.

[11]  Gianluca Palermo,et al.  HW/SW methodologies for synchronization in FPGA multiprocessors , 2009, FPGA '09.

[12]  Jesús Labarta,et al.  Dual priority algorithm to schedule real-time tasks in a shared memory multiprocessor , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[13]  Computer Staff HP Means High-Powered: FutureBusiness, Side A , 1995 .

[14]  David S. Johnson,et al.  Complexity Results for Multiprocessor Scheduling under Resource Constraints , 1975, SIAM J. Comput..

[15]  Sanjoy Baruah,et al.  EDF scheduling on multiprocessor platforms: some (perhaps) counterintuitive observations , 2002 .

[16]  Krithi Ramamritham,et al.  Distributed Scheduling of Tasks with Deadlines and Resource Requirements , 1989, IEEE Trans. Computers.

[17]  Gianluca Palermo,et al.  An Interrupt Controller for FPGA-based Multiprocessors , 2007, 2007 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.