Priority-driven, preemptive I/O controllers for real-time systems

  • Authors:
  • B. Sprunt;D. Kirk;L. Sha

  • Affiliations:
  • Carnegie-Mellon Univ., Pittsburgh, PA;Carnegie-Mellon Univ., Pittsburgh, PA;Carnegie-Mellon Univ., Pittsburgh, PA

  • Venue:
  • ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
  • Year:
  • 1988

Quantified Score

Hi-index 0.01

Visualization

Abstract

Current I/O controller architectures inhibit the use of priority-driven preemptive scheduling algorithms that can guarantee hard deadlines in real-time systems. This paper examines the effect of three I/O controller architectures upon schedulable utilization, which is the highest attainable resource utilization at or below which all deadlines can be guaranteed. FIFO request queueing, priority queueing, and priority queueing with preemptable service are simulated for a range of CPU computation to I/O traffic ratios. The results show that, for I/O bound tasks sets and zero preemption costs, priority queueing with preemptable service can provide a level of schedulable utilization 35% higher than that attainable with FIFO queueing and 20% higher than priority queueing and nonpreemptable service. Although the potential gain for priority queueing with preemptable service is large, further simulations that incorporate a time penalty for each preemption show that the gain is very sensitive to preemption cost. With preemption cost represented as a ratio of preemption time to the minimum task period, the level of schedulable utilization for priority queueing with preemptable service degrades to that of priority queueing with nonpreemptable service, for a preemption cost ratio of 0.04. A high level design of a preemptable I/O controller is described and the issues determining preemption cost are detailed along with techniques for its minimization.*