|Title||Hardware-Software Architecture for Priority Queue Management in Real-time and Embedded Systems|
|Publication Type||Journal Articles|
|Authors||Kumar, C., S. Vyas, R. Cytron, C. Gill, J. Zambreno, and P. Jones|
|Journal||International Journal of Embedded Systems (IJES)|
The use of hardware-based data structures for accelerating real-time and embedded system applications is limited by the scarceness of hardware resources. By their nature, being limited by the silicon area available, hardware data structures cannot scale in size as easily as their software counterparts. We assert a hardware-software co-design approach is required to elegantly overcome these limitations. In this paper, we present a hybrid priority queue architecture that includes a hardware accelerated binary heap that can also be managed in software when its queue size exceeds hardware limits. A memory mapped interface provides software with access to priority-queue-structured on-chip memory, which enables quick and low overhead transitions between hardware and software management. As an application of this hybrid architecture, we present a scalable task scheduler for real-time systems that reduces scheduler processing overhead and improves timing determinism of the scheduler.