Disk Scheduling With Quality-of-Service Guarantees

01 July 1999

New Image

(PREVIOUS TITLE: ADDING QUALITY-OF-SERVICE GUARANTEES TO A COMMODITY OPERATING SYSTEM) We describe the design, implementation, and performance of Reservation Domains on FreeBSD. Reservation Domains isolate the performance of different processes running on the same system. Each Reservation Domain contains a share of the system's resources (e.g., CPU, memory, and disk or link bandwidths). Processes in one Reservation Domain cannot use resources necessary for processes in another Reservation Domain. On the other hand, all applications running on the system share fairly any unreserved or unused resources. Because users can establish Reservation Domains via the system's shell, even unmodified existing applications can enjoy end-to-end quality of service guarantees. To support quality of service in disk I/O, we introduce a new algorithm combining previous concepts from CPU and network scheduling. We demonstrate experimentally that applications running under Reservation Domains can obtain from a standard file system performance similar to that of a dedicated continuous media server.