The spring scheduling coprocessor: a scheduling accelerator

  • Authors:
  • Wayne Burleson;Jason Ko;Douglas Niehaus;Krithi Ramamritham;John A. Stankovic;Gary Wallace;Charles Weems

  • Affiliations:
  • Univ. of Massachusetts at Amherst, Amherst;PipeLinks, Inc., Santa Clara;Univ. of Kansas, Lawrence;Univ. of Massachusetts at Amherst, Amherst;Univ. of Virginia, Charlottesville;Univ. of Massachusetts at Amherst, Amherst;Univ. of Massachusetts at Amherst, Amherst

  • Venue:
  • IEEE Transactions on Very Large Scale Integration (VLSI) Systems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

The spring scheduling coprocessor is a novel very large scale integration (VLSI) accelerator for multiprocessor real-time systems. The coprocessor can be used for static as well as online scheduling. Many different policies and their combinations can be used (e.g., earliest deadline first, highest value first, or resource-oriented policies such as earliest available time first). In this paper, we describe a coprocessor architecture, a CMOS implementation, an implementation of the host/coprocessor interface and a study of the overall performance improvement. We show that the current VLSI chip speeds up the main portion of the scheduling operation by over three orders of magnitude. We also present an overall system improvement analysis by accounting for the operating system overheads and identify the next set of bottlenecks to improve. The scheduling coprocessor includes several novel VLSI features. It is implemented as a parallel architecture for scheduling that is parameterized for different numbers of tasks, numbers of resources, and internal wordlengths. The architecture was implemented using a single-phase clocking style in several novel ways. The 328 000 transistor custom 2-/spl mu/m VLSI accelerator running with a 100-MHz clock, combined with careful hardware/software co-design results in a considerable performance improvement, thus removing a major bottleneck in real-time systems.