Systems Seminar - CSE
Improving Device Drivers for Real-Time Systems
Add to Google Calendar
Device drivers are integral real-time components of operating systems, which have timing requirements of their own as well as affecting the ability of the system to satisfy application timing constraints. Therefore, it is essential to include the effects of device drivers in both design and schedulability analysis of real-time applications. However, there is a gap between the theoretical workload and scheduling models used in real-time schedulability analysis and the reality of the device drivers provided with off-the-shelf operating systems. At FSU, we have been looking at this problem. Our goal is to lay groundwork for a new generation of device drivers that will support whole-system schedulability analysis and also better support the requirements of real-time applications, through both algorithmic improvements and configurable parameters.
After outlining some general problems that need to be addressed about device drivers and real time systems, I will describe what we have learned so far through experiments with modifications to two examples of drivers in the Linux operating system, for agigabit Ethernet network interface adapter and a SCSI disk adapter. These devices have different constraints imposed on them by hardware, impose different kinds of demands on CPU scheduling, and have different effects on I/O timing at the application level. In one case a major concern is CPU interference, so the focus is in better management of the scheduling of interrupt-driven execution of the device driver. In the other case, the CPU interference is less significant, but both performance and analysis can be improved by better management of how the driver schedules access to the device.
Ted Baker is a Professor and former Chair of the Department of Computer Science at the Florida State University. He earned his Ph.D. in computer science from Cornell University in 1974, for research on relative computability and computational complexity. His most cited work in that area is on relativizations of the P=?NP question. During that time period he also did work on multi-dimensional string matching, which has since been applied to the matching of DNA sequences. Starting in 1979, Professor Baker became involved with compiler development and the the Ada programming language. The group he organized at FSU produced one of the first validated Ada cross-compilers for embedded systems. That project led him from compilers to real-time embedded computing, in which he worked on a variety of topics, from basic research on scheduling and concurrency control through development of kernels and run-time system support for real-time programming languages. Dr. Baker has been active in IEEE (POSIX) and ISO standards work related to real-time systems. He was a member of the SEI Rate Monotonic Analysis group, served as real-time area expert for the Ada 9X language mapping and revision team, and was a member of the 1997 National Research Council panel on Software Policies for the Department of Defense. He directed the FSU teams that developed several significant software artifacts, including the FSU POSIX threads library, the Florist implementation of the POSIX.5 API, a validation suite for the same, and the multitasking run-time system for the Gnu Ada (GNAT) compiler. He directed the porting of the latter to several environments, including the Java Virtual Machine and RTLinux. Professor Baker's current research focii are multiprocessor scheduling and real-time device driver architecture, from both analytical and empirical viewpoints.