Off-campus UNL users: To download campus access dissertations, please use the following link to log into our proxy server with your NU ID and password. When you are done browsing please remember to return to this page and log out.
Non-UNL users: Please talk to your librarian about requesting this dissertation through interlibrary loan.
Dynamic quality of service in an open system
General purpose operating systems are hosting more and more time-sensitive applications such as multimedia systems, online transaction systems, and interactive games. We believe the lines between real-time systems and general purpose systems will become blurred in the future. Open systems will support both real-time and non-real-time applications simultaneously. In such systems, applications can enter, exit and change their resource requirements dynamically. ^ In response to this trend, we propose a process and execution framework that is built upon real-time scheduling techniques. In the context of real-time scheduling theory, any Quality of Service (QoS) requirement can be viewed as an execution rate which is described by two parameters, the worst case execution time (WCET) and the expected response time (period). In practice, adaptive tasks have various modes with different execution times and periods. They might change the execution mode during runtime. The traditional real-time scheduling theories, however, assume both the WCET and the period, even the task set itself, are static, which have been determined before the system starts. ^ We propose a new scheduling framework to support QoS in an open system in this work, which consists of three components: the scheduler, rate controllers, and an aperiodic server. Our approach is based on a new Variable Rate Execution (VRE) task model that relaxes the canonical assumptions made in real-time scheduling theory. The VRE model supports variable WCETs, periods and dynamic task sets. Therefore, tasks can enter, exit and change their QoS requirements dynamically. Our approach integrates hard-real-time tasks, soft-real-time tasks and non-real-time tasks. We view Quality of Service as a spectrum of execution requirements: hard real-time tasks are assigned an execution rate to meet all deadlines; soft real-time tasks are assigned a rate that meets most deadlines; non-real-time tasks, without any deadline, are assigned a best-effort rate that will not affect the hard and soft real-time tasks. ^ In practice, different applications have different execution patterns and scheduling goals, and they need different scheduling policies. Our framework does not integrate all scheduling policies, but it is extensible and reconfigurable for applications to customize specific control modules. We propose rate controllers as user-specific control modules. A rate controller monitors the execution of one or a group of tasks and dynamically adjusts their execution rates. The rate controllers are designed outside of the space of tasks. Thus, they are compatible with time-sharing applications. The user can design rate controllers to control the execution rate of existing time-sharing applications without modifying the applications. ^ Non-real-time tasks are supported by an aperiodic server, which utilizes the spare CPU bandwidth left by hard and soft real-time tasks. Work of the aperiodic server focuses on its fairness among all non-real-time tasks, and its response time, for interactive tasks, such as shell and vi, which execute as non-real-time tasks. ^ This dissertation discusses the design, the theoretical correctness, the implementation, and the evaluation of the framework. ^
Liu, Xin, "Dynamic quality of service in an open system" (2004). ETD collection for University of Nebraska - Lincoln. AAI3159551.