Use this URL to cite or link to this record in EThOS:
Title: Disk quality of service in a general-purpose operating system
Author: Childs, S. O.
Awarding Body: University of Cambridge
Current Institution: University of Cambridge
Date of Award: 2001
Availability of Full Text:
Full text unavailable from EThOS.
Please contact the current institution’s library for further details.
Users of general-purpose operating systems run a range of multimedia, productivity, and system housekeeping applications. Many of these applications are disk-bound, or have significant disk usage requirements. CPU scheduling is insufficient to ensure reliable performance for such applications, as it cannot control contention for the disk. User-controllable disk scheduling is necessary; the disk scheduler should respect Quality of Service (QoS) specifications defined by users when scheduling disk requests. Disks have a number of distinctive features that influence scheduler design: context-switches that involve seek operations are expensive, disk operations are non-preemptible, and the cost of data transfer varies according to the amount of seek overhead. Any new scheduler must recognise these factors if it is to provide acceptable performance. We present a new disk scheduler for Linux-SRT, a version of Linux with support for CPU QoS. This disk scheduler provides multiple scheduling classes: periodic allocation, static priority, best-effort, and idle. The scheduler makes disk QoS available as a low-level system service, independent of the particular file system used. Applications need not be modified to benefit from disk QoS. The structure of the Linux disk subsystem causes requests from different clients to be executed in an interleaved fashion. This results in many expensive seek operations. We implement laxity, a technique for batching together multiple requests from a single client. This feature that greatly improves the performance of applications performing synchronous I/O, and provides better isolation between applications. We perform experiments to test the effectiveness of our research system in typical scenarios. The results demonstrate that the system can be used to protect time-critical applications from the effects of contention, to regulate low-importance disk-bound tasks, and to limit the disk utilisation of particular processes (allowing resource partitioning). We use the accounting features of our disk scheduler to measure the disk resource usage of typical desktop applications. Based on these measurements, we classify applications and suggest suitable scheduling policies. We also present techniques for determining appropriate parameters for these policies. Scheduling features are of little use unless users can employ them effectively. We extend Linux-SRT's QoS architecture to accommodate control of disk scheduling; the resulting system provides a coherent interface for managing QoS across multiple devices. The disk scheduler exports status information to user space; we construct tools for monitoring and controlling processes' disk utilisation.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available