A Hardware Scheduler Based on Task Queues for FPGA-Based Embedded Real-Time Systems

A hardware scheduler is developed to improve real-time performance of soft-core processor based computing systems. A hardware scheduler typically accelerates system performance at the cost of increased hardware resources, inflexibility and integration difficulty. However, the reprogrammability of FPGA-based systems removes the problems of inflexibility and integration difficulty. This paper introduces a new task-queue architecture to better support practical task controls and maintain good resource scaling. The scheduler can be configured to support various algorithms such as time sliced priority scheduling, Earliest Deadline First and Least Slack Time. The hardware scheduler reduces scheduling overhead by more than 1,000 clock cycles and raises the system utilization bound by a maximum 19.2 percent. Scheduling jitter is reduced from hundreds of clock cycles in software to just two or three cycles for most operations. The additional resource cost is no more than 17 percent of a typical softcore system for a small scale embedded application.

[1]  R. Cayssials,et al.  Real-time scheduling coprocessor for NIOS II processor , 2012, 2012 VIII Southern Conference on Programmable Logic.

[2]  Wolfgang A. Halang State of the Art and Open Research Topics in Embedded Hard Real-Time Systems Design , 2000 .

[3]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[4]  Su-Lim Tan,et al.  Real-Time Operating Systems for Small Microcontrollers , 2009, IEEE Micro.

[5]  A. Crespo,et al.  A binary-tree architecture for scheduling real-time systems with hard and soft tasks , 1999, Proceedings. XII Symposium on Integrated Circuits and Systems Design (Cat. No.PR00387).

[6]  Kang G. Shin,et al.  Scalable Hardware Priority Queue Architectures for High-Speed Packet Switches , 2000, IEEE Trans. Computers.

[7]  Rabi N. Mahapatra,et al.  A Hardware Scheduler for Real Time Multiprocessor System on Chip , 2010, 2010 23rd International Conference on VLSI Design.

[8]  Anthony Massa,et al.  Embedded Software Development with eCos , 2002 .

[9]  Bhagirath Narahari,et al.  Shared hardware data structures for hard real-time systems , 2012, EMSOFT '12.

[10]  Mohamed Shalan,et al.  A Configurable Hardware Scheduler for Real-Time Systems , 2003, Engineering of Reconfigurable Systems and Algorithms.

[11]  D.L. Maskell,et al.  Accelerating an embedded RTOS in a SoPC platform , 2004, 2004 IEEE Region 10 Conference TENCON 2004..

[12]  D. Andrews,et al.  hthreads: a hardware/software co-designed multithreaded RTOS kernel , 2005, 2005 IEEE Conference on Emerging Technologies and Factory Automation.

[13]  A. Crespo,et al.  A hardware scheduler for complex real-time systems , 1999, ISIE '99. Proceedings of the IEEE International Symposium on Industrial Electronics (Cat. No.99TH8465).

[14]  Wolfgang A. Halang,et al.  Implementation of Hard Real-Time Embedded Control Systems , 2004, Real-Time Systems.

[15]  Niraj K. Jha,et al.  Analysis of power dissipation in embedded systems using real-time operating systems , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Jaehwan Lee,et al.  A comparison of the RTU hardware RTOS with a hardware/software RTOS , 2003, ASP-DAC '03.

[17]  Dirk Timmermann,et al.  Scheduling coprocessor for enhanced least-laxity-first scheduling in hard real-time systems , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[18]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[19]  Lennart Lindh,et al.  Real-time kernel in hardware RTU: a step towards deterministic and high-performance real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[20]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[21]  Borko Furht,et al.  Real-Time Operating Systems , 1991 .

[22]  César A. M. Marcon,et al.  RTOS Scheduler Implementation in Hardware and Software for Real Time Applications , 2006, Seventeenth IEEE International Workshop on Rapid System Prototyping (RSP'06).

[23]  T. Srikanthan,et al.  RTOS Acceleration Techniques – Review and Challenges , .

[24]  Giorgio Buttazzo Rate Monotonic vs. EDF: Judgment Day , 2003, EMSOFT.

[25]  William Stallings,et al.  Operating Systems: Internals and Design Principles , 1991 .