Optimal Unified Data Allocation and Task Scheduling for Real-Time Multi-Tasking Systems

  • Authors:
  • Rony Ghattas;Gregory Parsons;Alexander G. Dean

  • Affiliations:
  • NC State University, USA;NC State University, USA;NC State University, USA

  • Venue:
  • RTAS '07 Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many real-time (RT) embedded systems can benefit from a memory hierarchy to bridge the processor/ memory speed gap. These RT embedded systems usually utilize a cacheless architecture to avoid the time variability which complicates the timing analysis essential for RT systems. In the absence of a cache the burden of allocating the data objects to the memory hierarchy is on the programmer/compiler. There has been much research into allocating data objects into the memory hierarchy for efficient execution. However, existing methods have limited scope and ignore some aspects of RT multitasking embedded systems. In this paper we propose a synergistic, optimal approach to allocating data objects and scheduling realtime tasks for embedded systems. We allocate data using integer linear programming (ILP) to minimize each task's worst-case execution time (WCET), then perform preemption threshold scheduling (PTS) on the tasks to reduce stack memory requirements while still meeting hard RT deadlines. The memory reduction of PTS allows these steps to be repeated. The data objects now require less memory, so more can fit into faster memory, further reducing WCET. The increased slack time can be used by PTS to reduce preemptions further, until a fixed point is reached. We evaluate the technique with several levels of data object granularity using both synthetic workloads and a realtime benchmark and find it to be highly effective.