Run-Time Services for Hybrid CPU/FPGA Systems on Chip

  • Authors:
  • Jason Agron;Wesley Peck;Erik Anderson;David Andrews;Ed Komp;Ron Sass;Fabrice Baijot;Jim Stevens

  • Affiliations:
  • University of Kansas, USA;University of Kansas, USA;University of Kansas, USA;University of Kansas, USA;University of Kansas, USA;University of Kansas, USA;University of Kansas, USA;University of Kansas, USA

  • Venue:
  • RTSS '06 Proceedings of the 27th IEEE International Real-Time Systems Symposium
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern FPGA devices, which include (multiple) processor core(s) as diffused IP on the silicon die, provide an excellent platform for developing custom multiprocessor systems-on-programmable chip (MPSoPC) architectures. As researchers are investigating new methods for migrating portions of applications into custom hardware circuits, it is also critical to develop new run-time service frameworks to support these capabilities. Hthreads (HybridThreads) is a multithreaded RTOS kernel for hybrid FPGA/CPU systems designed to meet this new growing need. A key capability of hthreads is the migration of thread management, synchronization primitives, and run-time scheduling services for both hardware and software threads into hardware. This paper describes the hthreads scheduler, a key component for controlling both software-resident threads (SW threads) and threads implemented in programmable logic (HW threads). Run-time analysis shows that the hthreads scheduler module helps in reducing unwanted system overhead and jitter when compared to historical software schedulers, while fielding scheduling requests from both hardware and software threads in parallel with application execution. Run time analysis shows the scheduler achieves constant time scheduling for up to 256 active threads with a total of 128 different priority levels, while using uniform APIs for threads requesting OS services from either side of the hardware/ software boundary.