IIT CS550 Techniques for Implementing Quality of Service in the Eclipse, Nemesis, and Real-Time Mach Operating Systems Francesca Ruffolo December 6, 2001 Instructor: Dr. Marius Soneru Comparative Operating Systems December 2001 IIT CS550 Agenda Motivation for Quality of Service Implementation Overview of Operating Systems Eclipse/BSD Nemesis Real Time Mach Techniques for Implementing Quality of Service Eclipse/BSD Nemesis Real Time Mach Conclusion References Comparative Operating Systems December 2001 IIT CS550 Motivation for Quality of Service An increasing need to run multiple server applications (audio and video media servers, web servers and host services) for organizations and individuals on the same platform A need for control over provisioning of system resources among applications to achieve desired levels of predictable performance Quality of service guarantees with respect to packet delay and bandwidth are not extended directly to the application via the operating system and thus add little value Comparative Operating Systems December 2001 IIT CS550 Operating System Overview Eclipse/BSD (Berkeley Software Distribution) Nemesis Real Time (RT) Mach Comparative Operating Systems December 2001 Overview of Eclipse/BSD IIT CS550 Evolved from the Plan 9 operating system developed by Bell Laboratories in New Jersey starting in the late 1980’s in response to trends in the computing industry at that time: Networks of smaller, more personal machines were preferred over large centralized timeshared computers (typically UNIX workstations) Administrators grew weary of overloaded, routine time-sharing systems and wished to move to small, self-maintained systems Referred to as Eclipse/BSD based off of FreeBSD (Berkeley Software Distribution) version 3.4. Comparative Operating Systems December 2001 Overview of Nemesis IIT CS550 Resulted from work completed for the Pegasus and Pegasus II projects and the following partnerships: University of Cambridge, U.K. University of Twente, Netherlands University of Glasgow, U.K. Swedish Institute of Computer Science, Sweden Citrix Systems, LTD, U.K. Runs on a large number of platforms including Intel 486, Pentium, PPro, DEC Alpha workstations, StrongARM SA-110 based Comparative Operating Systems network computers December 2001 IIT CS550 Overview of Real-Time Mach Research began in 1985 and resulted in a flagship product developed by the Real-Time and Multimedia Laboratory in partnership with the Department of Computer Science at Carnegie Mellon University. Incorporated into a number of commercial operating systems including DEC’s OSF/1 for the DEC Alpha and IBM-s OS/2 for the RS6000 based machines Comparative Operating Systems December 2001 IIT CS550 Techniques for QoS Implementation Eclipse/BSD Reservations, Tagging, Reservation Domains, Cumulative Service Guarantee, Move-to-Rear List Scheduling (MTR-LS) Nemesis Quality of Service Manager, Run Time Resource Allocation (RTRA), Accounting, Policing Real-Time Mach Processor Reserves, Dynamic QoS Server, QoS-based Resource Allocation Model (QRAM ) Comparative Operating Systems December 2001 IIT CS550 Eclipse/BSD – QoS Techniques Reservations /reserv (reservation) file system through which the operating system can access, use and reconfigure the system resource schedulers Each resource contains a reservation directory (Example for CPU with multiple resources: /reserv/CPU/r1, /reserv/CPU/r2, etc. ) Quality of Service Parameters: Delay, Fairness, and Cumulative Service Guarantee* Used to determine resource allocation to the applications Obtains quality of service parameters and compares the virtual service time to real service time Comparative Operating Systems December 2001 Eclipse/BSD – QoS Techniques IIT CS550 Reservation Domain Offers access and admissions to the /reserv file system Allows control over system resources among applications in order to achieve a desired performance level Assigns a certain fraction of each resource: a domain may contain 25% CPU, 50% disk I/O, 25% main memory Move-to-Rear List Scheduling Algorithm Provides all three quality of service parameters: bounded delay, cumulative guarantee, and fairness Contains an ordered list of pairs that indexes the reservation domain and specifies the size of the quantum or the maximum amount of service time the reservation domain can receive without being interrupted Comparative Operating Systems December 2001 IIT CS550 Nemesis - QoS Techniques Quality of Service Manager Comes to agreement with processes about the quality of service that will be delivered to them Receives a description of requirements from the application and converts it to a set of QoS parameters Decides whether or not it can accommodate the request Informs the application directly if level of service cannot be met (user is informed by QoS manager or application) Informs application of resource availability if service level can be met Run time resource allocator (RTRA) Assigns the available resources among those applications that need to use them by using QoS parameters supplied by the QoS manager System dispatcher performs run time allocation in the case of the processor resource Comparative Operating Systems December 2001 IIT CS550 Nemesis - QoS Techniques Q oS D escription C ontract Q oS M anager A pplication R esource A llocatio n P aram eters R un T im e R esource A llocation A cco unting T im e CPU / M em ory Policing …. I/O F ig u re 2. Q o S M an ag em en t Comparative Operating Systems December 2001 IIT CS550 Nemesis - QoS Techniques Policing Ensures that an application does not exceed its allocation and start consuming resources reserved for other applications (dispatcher monitors processor time) Ensures that the writer of the application does not request excessive resources to guarantee that applications perform satisfactorily Accounting Kernals already account for resources used by an application Cost of resources is charged to the accounting structure that is associated with the currently executing user mode protection domain (complicated because the single client may need to interact with a number of servers during execution) Credits or connection to a QoS server can be used to resolve this issue Comparative Operating Systems December 2001 IIT CS550 Real-Time Mach QoS Techniques Processor Reserves Allow threads to specify their CPU resource requirements in terms of their timing constraints CPU demand is thus made available upon admission of the processor reserve by the kernal Dynamic QoS Server Provides interaction between the application and the system layer Application can specify its requirements to the system layer while the system layer provides to the application accurate and dynamic feedback on the state of the applications resources both individually and with respect to other applications Comparative Operating Systems December 2001 IIT CS550 Real-Time Mach QoS Techniques Client QoS Interface Client QoS Interface QoS Server Display Admission Control Dynamic Quality Control Client Quality Attribute Database Processor Reservation Real- Time Mach Figure 3. QoS Server Architecture Comparative Operating Systems December 2001 Real-Time Mach QoS Techniques IIT CS550 QoS Based Resource Allocation Model (Q-RAM) Fulfills simultaneous requirements of multiple applications along multiple QoS dimensions (e.g. timeliness, data quality, reliable packet delivery) while allowing applications access to multiple resources (e.g CPU, disk bandwidth, memory) simultaneously Takes the characteristics, definitions and assumptions and makes resource allocations to each application such that the total system utility is maximized with the constraint that every application is feasible with respect to each QoS dimension Comparative Operating Systems December 2001 Conclusion IIT CS550 All three systems use a mathematical model in determining resource allocation to the applications Eclipse’s scheduling policy uses a cumulative service guarantee, fairness and delay quality of service parameters and compares the virtual service time to real service time Real-Time Mach uses the Q-RAM model where it inputs its quality of service parameters to generate utility functions that are then optimized Nemesis utilizes the RTRA to assign the available resources among applications using QoS parameters supplied by the QoS manager Comparative Operating Systems December 2001 IIT CS550 Conclusion Operating Systems used different methods of implementing QoS Eclipse appears to add the mechanisms to support QoS in the existing operating system Nemesis developed a separate module (QoS manager) and provided links to integrate the module into the system RT Mach implemented the majority of its changes in the QoS server, a separate module, and integrated it to the operating system with links limited to processor reserves area of the operating system Disadvantages of integrating quality of service in an existing system Possible drift from exact quality of service requirements or objectives because altering was needed to fit the quality of service mechanisms into the system Risk of inaccurately measuring the performance Risk of propagating effects through larger portions of the system because the mechanisms added are at the lower Comparative Operating Systems levels of the operating system December 2001 IIT CS550 Operating Systems with QoS Capability Sumo (Lancaster University) Synthesis (Columbia University) Synthetix (Oregon Graduate Institute) Vino (Harvard University) Tornado (University of Toronto) Scout (University of Arizona) Comparative Operating Systems December 2001 IIT CS550 Representative List of References J. Blanquer, J. Bruno, E. Gabber, M. Mcshea, B. Özden, and A. Silberschatz, "Resource Management for QoS Eclipse/BSD” Proceedings of the FreeBSD 1999 Conference, Berkeley, California, October 1999. J. Bruno, E. Gabber, B. Özden, and A. Silberschatz, "The Eclipse Operating System: Providing Quality of Service via Reservation Domains”. Proceedings of the USENIX 1998 Annual Technical Conference, New Orleans, Louisiana", June 1998. E. Hyden. “Operating System Support for Quality of Service”. Dissertation for degree of Doctor Of Philosophy. February, 1994, Chapters 3 and 4. R. Rajkumar, C. Lee, J. Lehoczky and D. Siewiorek. "A Resource Allocation Model for QoS Management" In Proceedings of the IEEE Real-Time Systems Symposium December, 1997. See Report for remaining references Comparative Operating Systems December 2001