Hardware Task-Status Manager for an RTOS with FIFO communication

In this paper, we address the problem of improving the performance of real-time embedded Multiprocessor System-on-Chip (MPSoC). Such MPSoCs often execute data-flow applications composed of multiple tasks, which communicate through First-In-First-Out (FIFO) queues. The tasks on each processor in the MPSoC are scheduled for execution by an instance of a Real-Time Operating System (RTOS). To improve performance, we propose a Hardware Task-Status Manager (HWTSM) block that reduces the Worst Case Execution Time (WCET) of the RTOS. The HWTSM is a Molen-style Custom Computing Unit (CCU), a coprocessor that determines the execution eligibility of tasks from FIFO-filling information. Furthermore, we propose a new processor-coprocessor execution model, denoted as parallel non-blocking. In this model the HWTSM execution overlaps with the execution of RTOS and user applications. The HWTSM is integrated into the existing CompSoC platform and this entire system is prototyped on a Xilinx XC5VFX130T FPGA chip. We experiment with two types of applications running in software, i.e., synthetic and real. With the synthetic applications, the results indicate a WCET reduction of the RTOS between 1.1 and 3.0 times. For each one of the real applications - JPEG and H.264 decoders, the experimental results indicate a WCET reduction of the RTOS by 1.3 and 1.6 times, respectively. The overall system performance gain vary from from 0.9% to 13.3% for synthetic applications, from 2.3% to 4.6% for the JPEG decoder, and from 3.8% to 7.5% for the H.264 decoder.

[1]  Francesco Regazzoni,et al.  Hardware/software partitioning of operating systems: a behavioral synthesis approach , 2006, ACM Great Lakes Symposium on VLSI.

[2]  Ba Thang Nguyen MSc THESIS Task Scheduling Methods for Composable and Predictable MPSoCs , 2010 .

[3]  Kees G. W. Goossens,et al.  Virtual execution platforms for mixed-time-criticality systems: the CompSOC architecture and design flow , 2013, SIGBED.

[4]  Marco Platzner,et al.  ReconOS: An RTOS Supporting Hard-and Software Threads , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[5]  Kyle Rupnow,et al.  Block, Drop or Roll(back): Alternative Preemption Methods for RH Multi-Tasking , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[6]  Georgi Kuzmanov,et al.  Architectural Support for Multithreading on Reconfigurable Hardware , 2011, ARC.

[7]  Stamatis Vassiliadis,et al.  The MOLEN ρμ-coded processor , 2001 .

[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]  Gianluca Palermo,et al.  Lightweight DMA management mechanisms for multiprocessors on FPGA , 2008, 2008 International Conference on Application-Specific Systems, Architectures and Processors.

[10]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

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

[12]  B. T. Nguyen Task Scheduling Methods for Composable and Predictable MPSoC , 2010 .

[13]  Andreas Koch,et al.  Architectures and Execution Models for Hardware/Software Compilation and Their System-Level Realization , 2010, IEEE Transactions on Computers.

[14]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[15]  Kees G. W. Goossens,et al.  Design and implementation of an operating system for composable processor sharing , 2011, Microprocess. Microsystems.

[16]  Masaharu Imai,et al.  Hardware implementation of a real-time operating system , 1995, Proceedings of the 12th TRON Project International Symposium.

[17]  Rudy Lauwereins,et al.  Run-time support for heterogeneous multitasking on reconfigurable SoCs , 2004, Integr..

[18]  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).

[19]  Kees G. W. Goossens,et al.  Composable local memory organisation for streaming applications on embedded MPSoCs , 2011, CF '11.

[20]  Sander Stuijk,et al.  CA-MPSoC: An automated design flow for predictable multi-processor architectures for multiple applications , 2010, J. Syst. Archit..

[21]  Stamatis Vassiliadis,et al.  The MOLEN rho-mu-Coded Processor , 2001, FPL.

[22]  Paraskevas Evripidou,et al.  Communication Assist for Data Driven Multithreading , 2001, Panhellenic Conference on Informatics.

[23]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[24]  Kees G. W. Goossens,et al.  Composability and Predictability for Independent Application Development, Verification, and Execution , 2011, Multiprocessor System-on-Chip.

[25]  Kees G. W. Goossens,et al.  C-HEAP: A Heterogeneous Multi-Processor Architecture Template and Scalable and Flexible Protocol for the Design of Embedded Signal Processing Systems , 2002, Des. Autom. Embed. Syst..

[26]  Kees G. W. Goossens,et al.  dAElite: A TDM NoC Supporting QoS, Multicast, and Fast Connection Set-Up , 2014, IEEE Transactions on Computers.