Modeling Device Driver Effects in Real-Time Schedulability Analysis: Study of a Network Driver

Device drivers are integral components of operating systems. The computational workloads imposed by device drivers tend to be aperiodic and unpredictable because they are triggered in response to events that occur in the device, and may arbitrarily block or preempt other time-critical tasks. This characteristic poses significant challenges in real-time systems, where schedulability analysis is essential to guarantee system-wide timing constraints. At the same time, device driver workloads cannot be ignored. Demand-based schedulability analysis is a technique that has been successful in validating the timing constraints in both single and multiprocessor systems. In this paper we present two approaches to demand-based schedulability analysis of systems that include device drivers. First, we derive load-bound functions using empirical measurement techniques. Second, we modify the scheduling of network device driver tasks in Linux to implement an algorithm for which a load-bound function can be derived analytically. We demonstrate the practicality of our approach through detailed experiments with a network device under Linux. Our results show that, even though the network device driver does not conform to conventional periodic or sporadic task models, it can be successfully modeled using hyperbolic load-bound functions that are fitted to empirical performance measurements

[1]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[2]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[3]  Victor Yodaiken The RTLinux Manifesto , 1999 .

[4]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[5]  Sanjoy K. Baruah,et al.  Schedulability Analysis of Multiprocessor Sporadic Task Systems , 2007, Handbook of Real-Time and Embedded Systems.

[6]  Yuting Zhang,et al.  Process-Aware Interrupt Scheduling and Accounting , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[7]  Giorgio C. Buttazzo,et al.  Non-preemptive interrupt scheduling for safe reuse of legacy drivers in real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[8]  Jay K. Strosnider,et al.  The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments , 1987, IEEE Trans. Computers.

[9]  David E. Culler,et al.  The Emergence of Networking Abstractions and Techniques in TinyOS , 2004, NSDI.

[10]  Dionisio de Niz,et al.  Predictable Interrupt Management for Real Time Kernels over conventional PC Hardware , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[11]  Steve R. Kleiman,et al.  Interrupts as threads , 1995, OPSR.

[12]  John Regehr,et al.  Preventing interrupt overload , 2005, LCTES.

[13]  Thu D. Nguyen,et al.  Implementing network protocols at user level , 1993, TNET.

[14]  Lui Sha,et al.  Solutions for Some Practical Problems in Prioritized Preemptive Scheduling , 1986, RTSS.

[15]  John Regehr,et al.  Inferring Scheduling Behavior with Hourglass , 2002, USENIX Annual Technical Conference, FREENIX Track.

[16]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[17]  Peter Druschel,et al.  Lazy receiver processing (LRP): a network subsystem architecture for server systems , 1996, OSDI '96.

[18]  Jane W.-S. Liu Real-Time Systems , 2000, Encyclopedia of Algorithms.

[19]  Joseph Y.-T. Leung,et al.  Handbook of Real-Time and Embedded Systems , 2007 .

[20]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[21]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, RTSS 1987.