Skip to main content
Log in

CPU scheduling and memory management for interactive real-time applications

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

In this paper, we propose, design, implement, and evaluate a CPU scheduler and a memory management scheme for interactive soft real-time applications. Our CPU scheduler provides a new CPU reservation algorithm that is based on the well-known Constant Bandwidth Server (CBS) algorithm but is more flexible in allocating the CPU time to multiple concurrently-executing real-time applications. Our CPU scheduler also employs a new multicore scheduling algorithm, extending the Earliest Deadline First to yield Window-constraint Migrations (EDF-WM) algorithm, to improve the absolute CPU bandwidth available in reservation-based systems. Furthermore, we propose a memory reservation mechanism incorporating a new paging algorithm, called Private-Shared-Anonymous Paging (PSAP). This PSAP algorithm allows interactive real-time applications to be responsive under memory pressure without wasting and compromising the memory resource available for contending best-effort applications. Our evaluation demonstrates that our CPU scheduler enables the simultaneous playback of multiple movies to perform at the stable frame-rates more than existing real-time CPU schedulers, while also improves the ratio of hard-deadline guarantee for randomly-generated task sets. Furthermore, we show that our memory management scheme can protect the simultaneous playback of multiple movies from the interference introduced by memory pressure, whereas these movies can become unresponsive under existing memory management schemes.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Abeni L, Buttazzo G (1998) Integrating multimedia applications in hard real-time systems. In: Proc of the IEEE real-time systems symposium, pp 3–13

    Google Scholar 

  • Abeni L, Buttazzo G (2004) Resource reservation in dynamic real-time systems. Real-Time Syst, 123–167

  • Abeni L, Lipari G (2002) Implementing resource reservations in Linux. In: Real time Linux workshop

    Google Scholar 

  • Akachi K, Kaneko K, Kanehira N, Ota S, Miyanori G, Hirata M, Kajita S, Kanehiro F (2005) Development of humanoid robot HRP-3P. In: Proc of the IEEE-RAS international conference on humanoid robots, pp 50–55

    Chapter  Google Scholar 

  • Andersson B, Bletsas K, Baruah S (2008) Scheduling arbitrary-deadline sporadic task systems on multiprocessors. In: Proc of the IEEE real-time systems symposium, pp 385–394

    Google Scholar 

  • Baker T (2006) A comparison of global and partitioned EDF schedulability tests for multiprocessors. In: Proc of the international conference on real-time and network systems, pp 119–127

    Google Scholar 

  • Beal D, Bianchi E, Dozio L, Hughes S, Mantegazza P, Papacharalambous S (2000) RTAI: real time application interface. Linux J 29:10

    Google Scholar 

  • Bletsas K, Andersson B (2009) Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound. In: Proc of the IEEE real-time systems symposium, pp 447–456

    Google Scholar 

  • Block A, Brandenburg B, Anderson J, Quint S (2008) Adaptive multiprocessor real-time scheduling with feedback control. In: Proc of the Euromicro conference on real-time systems, pp 23–33

    Chapter  Google Scholar 

  • Borg A, Wellings A, Gill C, Cytron R (2006) Real-time memory management: life and times. In: Proc of the Euromicro conference on real-time systems, pp 237–250

    Google Scholar 

  • Brandenburg B, Anderson J (2009a) Joint opportunities of real-time Linux and real-time systems research. In: Proc of the real-time Linux workshop

    Google Scholar 

  • Brandenburg B, Anderson J (2009b) On the implementation of global real-time schedulers. In: Proc of the IEEE real-time systems symposium, pp 214–224

    Google Scholar 

  • Brandenburg B, Anderson J (2009c) Reader-writer synchronization for shared-memory multiprocessor real-time systems. In: Proc of the Euromicro conference on real-time systems, pp 184–193

    Google Scholar 

  • Brandenburg B, Calandrino J, Anderson J (2008) On the scalability of real-time scheduling algorithms on multicore platforms: a case study. In: Proc of the IEEE real-time systems symposium, pp 157–169

    Google Scholar 

  • Caccamo M, Buttazzo G, Thomas D (2005) Efficient reclaiming in reservation-based real-time systems. Real-Time Syst 54(2):198–213

    Google Scholar 

  • Calandrino J, Leontyev H, Block A, Devi U, Anderson J (2006) LITMUSRT: a testbed for empirically comparing real-time multiprocessor schedulers. In: Proc of the IEEE real-time systems symposium, pp 111–123

    Google Scholar 

  • Childs S, Ingram D (2001) The Linux-SRT integrated multimedia operating systems: bringing QoS to the desktop. In: Proc of the IEEE real-time technology and applications symposium, pp 135–140

    Chapter  Google Scholar 

  • Dhall SK, Liu CL (1978) On a real-time scheduling problem. Oper Res 26:127–140

    Article  MathSciNet  MATH  Google Scholar 

  • Eswaran A, Rajkumar R (2005) Energy-aware memory firewalling for QoS-sensitive applications. In: Proc of the Euromicro conference on real-time systems, pp 11–20

    Google Scholar 

  • Faggioli D, Trimarchi M, Checconi F (2009a) An implementation of the earliest deadline first algorithm in Linux. In: Proc of the ACM symposium on applied computing, pp 1984–1989

    Google Scholar 

  • Faggioli D, Trimarchi M, Checconi F, Scordino C (2009b) An EDF scheduling class for the Linux kernel. In: Proc of the real-time Linux workshop

    Google Scholar 

  • Gosling J, Bollella G (2000) The real-time specification for Java. Addison-Wesley, New York

    Google Scholar 

  • Hand S (1999) Self-paging in the Nemesis operating system. In: Proc of the USENIX symposium on operating systems design and implementation, pp 73–86

    Google Scholar 

  • Kaneko K, Kanehiro F, Hirukawa H, Kawasaki T, Hirata M, Akachi K, Isozumi T (2004) Humanoid robot HRP-2. In: Proc of the IEEE international conference on robotics and automation, pp 1083–1090

    Google Scholar 

  • Kato S, Yamasaki N, Ishikawa Y (2009) Semi-partitioned scheduling of sporadic task systems on multiprocessors. In: Proc of the Euromicro conference on real-time systems, pp 249–258

    Google Scholar 

  • Laplante P (1993) Real-time systems design and analysis. IEEE Press, New York

    Google Scholar 

  • Lin C, Brandt S (2005) Improving soft real-time performance through better slack reclaiming. In: Proc of the IEEE real-time systems symposium, pp 410–421

    Google Scholar 

  • Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 20:46–61

    Article  MathSciNet  MATH  Google Scholar 

  • Lopez J, Diaz J, Garcia D (2004) Utilization bounds for EDF scheduling on real-time multiprocessor systems. Real-Time Syst 28:39–69

    Article  MATH  Google Scholar 

  • Marzario L, Lipari G, Balbastre P, Crespo A (2004) IRIS: a new reclaiming algorithm for server-based real-time systems. In: Proc of the IEEE real-time and embedded technology and applications symposium, pp 211–218

    Google Scholar 

  • Nakajima T, Tezuka H (1997) Virtual memory management for interactive continuous media applications. In: Proc of the IEEE international conference on multimedia computing and systems, pp 415–423

    Chapter  Google Scholar 

  • Oikawa S, Rajkumar R (1999) Portable RT: a portable resource kernel for guaranteed and enforced timing behavior. In: Proc of the IEEE real-time technology and applications symposium, pp 111–120

    Chapter  Google Scholar 

  • Palopoli L, Cucinotta T, Marzario L, Lipari G (2009) AQuoSA: adaptive quality of service architecture. Softw Pract Exp 39:1–31

    Article  Google Scholar 

  • Pizlo F, Vitek J (2006) Memory management for real-time Java: state of the art. In: Proc of the IEEE symposium on object oriented real-time distributed computing, pp 248–254

    Google Scholar 

  • Rajkumar R, Lee C, Lehoczky J, Siewiorek D (1997) A resource allocation model for QoS management. In: Proc of the IEEE real-time systems symposium, pp 298–307

    Chapter  Google Scholar 

  • Robertz S (2002) Applying priorities to memory allocation. In: Proc of the ACM international symposium on memory management, pp 108–118

    Google Scholar 

  • Srinivasan B, Pather S, Hill R, Ansari F, Niehaus D (1998) A firm real-time system implementation using commercial off-the-shelf hardware and free software. In: Proc of the IEEE real-time technology and applications symposium, pp 112–119

    Google Scholar 

  • Tokuda H, Nakajima T, Rao P (1990) Real-time mach: towards a predictable real-time system. In: Proc of the USENIX mach symposium, pp 73–82

    Google Scholar 

  • Wang Y, Lin K (1999) Implementing a general real-time scheduling framework in the RED-Linux real-time kernel. In: Proc of the IEEE real-time systems symposium, pp 246–255

    Google Scholar 

  • Yamashita M, Sakai R, Tanaka A, Imada K, Takahashi Y, Ida T, Matsumoto N, Kato N (2009) AV applications for TV sets empowered by cell broadband engine. In: Proc of the international conference on consumer electronics, pp 1–2

    Google Scholar 

  • Yang T, Liu T, Berger E, Kaplan S, Moss JB (2008) Redline: first class support for interactivity in commodity operating systems. In: Proc of the USENIX symposium on operating systems design and implementation, pp 73–86

    Google Scholar 

  • Yodaiken V (1999) The rtlinux manifesto. In: Proc of the Linux expo

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shinpei Kato.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kato, S., Ishikawa, Y. & Rajkumar, R.(. CPU scheduling and memory management for interactive real-time applications. Real-Time Syst 47, 454–488 (2011). https://doi.org/10.1007/s11241-011-9127-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-011-9127-8

Keywords

Navigation