MSA: a memory-aware utility accrual scheduling algorithm

  • Authors:
  • Shahrooz Feizabadi;Binoy Ravindran;E. Douglas Jensen

  • Affiliations:
  • Real-Time Systems Laboratory, Virginia Tech Blacksburg, VA;Real-Time Systems Laboratory, Virginia Tech Blacksburg, VA;The MITRE Corporation Bedford, MA

  • Venue:
  • Proceedings of the 2005 ACM symposium on Applied computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

Whereas fairness can be the basis for general-purpose operating system scheduling policies, timeliness is the primary concern for real-time systems. As such, real-time schedulers permit uninterrupted, exclusive access to the CPU by a specific task to ensure its timely completion of execution. Only a subset of tasks, however, can satisfy their timing constraints during processor overload conditions in a real-time system. Utility accrual (UA) scheduling disciplines assure scalability and graceful performance degradation by identifying the subset of tasks to be granted the heavily contended system resources.Furthermore, whereas general-purpose operating systems treat memory monolithically and indiscriminately service dynamic allocation requests, UA-schedulers can benefit from special memory management considerations during memory overload conditions. MSA, the scheduling algorithm here presented is the first of its kind to treat memory as a UA-scheduler-managed resource. The scheduler is made aware of memory allocation requirements of each task throughout runtime and accordingly makes appropriate CPU and resource scheduling decisions. The algorithm is well-suited for use in resource-constrained embedded systems in a soft real-time environment.We have implemented MSA in a POSIX real-time operating environment and measured its performance under various load conditions. Our experimental results show overall performance gains over other memory-unaware UA scheduling algorithms during memory overload.