Predictable Paging in Real-Time Systems: A Compiler Approach

  • Authors:
  • Isabelle Puaut;Damien Hardy

  • Affiliations:
  • Universite Europeenne de Bretagne/IRISA, France;Universite Europeenne de Bretagne/IRISA, France

  • Venue:
  • ECRTS '07 Proceedings of the 19th Euromicro Conference on Real-Time Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Conventionally, the use of virtual memory in real-time systems has been avoided, the main reason being the difficulties it provides to timing analysis. However, there is a trend towards systems where different functions are implemented by concurrent processes. Such systems need spatial separation between processes, which can be easily implemented via the use of the Memory Management Unit (MMU) of commercial processors. In addition, some systems have a limited amount of physical memory available. So far, attempts to provide real-time address spaces have focused on the predictability of virtual to physical address translation and do not implement demand-paging. In this paper we propose a compiler approach to introduce a predictable form of paging, in which page-in and page-out points are selected at compile-time. The problem under study can be formulated as a graph coloring problem, as in register allocation within compilers. Since the graph coloring problem is NP-complete for more than three colors, we define a heuristic, which in contrast to those used for register allocation, aim at minimizing worst-case performance instead of average-case performance. Experimental results applied on tasks code show that predictability does not come at the price of performance loss as compared to standard (dynamic) demand paging.