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.
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
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
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
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
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
Beal D, Bianchi E, Dozio L, Hughes S, Mantegazza P, Papacharalambous S (2000) RTAI: real time application interface. Linux J 29:10
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
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
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
Brandenburg B, Anderson J (2009a) Joint opportunities of real-time Linux and real-time systems research. In: Proc of the real-time Linux workshop
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
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
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
Caccamo M, Buttazzo G, Thomas D (2005) Efficient reclaiming in reservation-based real-time systems. Real-Time Syst 54(2):198–213
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
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
Dhall SK, Liu CL (1978) On a real-time scheduling problem. Oper Res 26:127–140
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
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
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
Gosling J, Bollella G (2000) The real-time specification for Java. Addison-Wesley, New York
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
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
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
Laplante P (1993) Real-time systems design and analysis. IEEE Press, New York
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
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 20:46–61
Lopez J, Diaz J, Garcia D (2004) Utilization bounds for EDF scheduling on real-time multiprocessor systems. Real-Time Syst 28:39–69
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
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
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
Palopoli L, Cucinotta T, Marzario L, Lipari G (2009) AQuoSA: adaptive quality of service architecture. Softw Pract Exp 39:1–31
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
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
Robertz S (2002) Applying priorities to memory allocation. In: Proc of the ACM international symposium on memory management, pp 108–118
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
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
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
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
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
Yodaiken V (1999) The rtlinux manifesto. In: Proc of the Linux expo
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-011-9127-8