A Novel Hardware-Accelerated Priority Queue for Real-Time Systems

This paper presents an efficient hardware architecture of priority queue, which is suitable for real-time systems due to the constant response time of the queue. The proposed architecture is based on shift registers, systolic arrays, heapsort algorithm, the Rocket Queue architecture and dual-port RAMs. This architecture, called Heap Queue, can sort items according to their sorting values and can remove the first item from the queue. The implementation of the Heap Queue architecture has throughput of one instruction per two clock cycles regardless of the actual number of items in the system and regardless of the queue capacity. The developed queue is optimized for low chip area costs, which leads to lower energy consumption too. The Heap Queue architecture has constant time complexity due to two clock-cycle response time of the instructions and therefore, the architecture is highly deterministic. The usage of the queue is recommended for applications in hard real-time systems. The architecture was verified using simplified version of UVM and applying millions of randomly generated instructions. Achieved ASIC and FPGA synthesis results are presented and compared to the synthesis results of the Systolic Array and Rocket Queue architectures. More than 86% of chip area and 92% of power consumption can be saved if Heap Queue is adopted. Advantages and disadvantages of the proposed architecture in comparison to the existing architectures are discussed.

[1]  Chanik Park,et al.  Real-time scheduling in heterogeneous dual-core architectures , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[2]  Viera Stopjaková,et al.  Rocket Queue: New data sorting architecture for real-time systems , 2017, 2017 IEEE 20th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[3]  Lukáš Kohútka,et al.  A new efficient sorting architecture for real-time systems , 2017, 2017 6th Mediterranean Conference on Embedded Computing (MECO).

[4]  Arnaldo S. R. Oliveira,et al.  Hardware Co-Processor for the OReK Real-Time Executive , 2010 .

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

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

[7]  Fawnizu Azmadi Hussin,et al.  SEOS: Hardware Implementation of Real-Time Operating System for Adaptability , 2013, 2013 First International Symposium on Computing and Networking.

[8]  Wojciech M. Zabołotny Dual port memory based Heapsort implementation for FPGA , 2011, Symposium on Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments (WILGA).

[9]  Neil W. Bergmann,et al.  A Hardware Scheduler Based on Task Queues for FPGA-Based Embedded Real-Time Systems , 2015, IEEE Transactions on Computers.

[10]  Johan Stärner,et al.  Real-time scheduling co-processor in hardware for single and multiprocessor systems , 1996, Proceedings of EUROMICRO 96. 22nd Euromicro Conference. Beyond 2000: Hardware and Software Design Strategies.