Unified and effective soft real-time processing in integrated systems
Scott Brandt, Caixue Lin · 2006
Real-time systems are growing in complexity as hard real-time and soft real-time applications are becoming common in general-purpose computing environments. To reduce cost and enhance functionality, there is a growing need for scheduling solutions that can simultaneously support applications with a variety of different timing constraints including (1) critical hard real-time applications such as signal sampling and processing, (2) non-critical soft real-time applications such as desktop multimedia, and (3) best-effort applications such as compilers, word processors, etc. Within the class of soft real-time applications, there are a variety of different time constraints and flexibilities. However, there has been an absence of research focused on establishing an integrated and flexible scheduling model that can simultaneously handle these different types of applications in a dynamic environment. The goal of this research is to simultaneously and effectively support all the different types of applications on a single system using a uniform scheduler. Careful management of system resources and effective scheduling of the different types of applications are the keys to providing the best application performance. Our Resource Allocation/Dispatching ( RAD) integrated scheduling model separates resource allocation and dispatching explicitly. Based on the RAD model, we developed and implemented the Rate-Based Earliest Deadline (RBED) integrated scheduler, which simultaneously supports hard real-time, soft real-time, and best-effort processes. We also developed a complete soft real-time taxonomy, which captures the different timeliness features of existing soft real-time applications using four soft real-time classes, and integrated these different soft real-time classes into RBED. Our novel Tax-based Resource Allocation Policy (TRAP) achieves an automatic balance between fairness and performance for soft real-time applications under overloaded conditions. Our SMArt Slack Handler (SMASH) embodies our five general principles for effective dynamic slack scheduling, and significantly improves the performance of soft real-time applications compared to other slack scheduling algorithms. The result is a system that effectively schedules all classes of soft real-time, hard real-time and best-effort applications using a uniform scheduler. We validated our integrated scheduling system through two case studies: one on adaptive control systems and another on Quality of Service (QoS) storage systems.