Advanced memory management and disk scheduling techniques for general-purpose operating systems

Date
2006
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

Operating systems have evolved into sophisticated, high-performance virtualizing platforms, to support and be fair towards concurrently running applications. However, since applications usually run oblivious of each other and prefer narrow system interfaces, they inadvertently contend for resources, resulting in inappropriate allocations and significant performance degradations. This dissertation identifies and eliminates two such problems: one we call rigidity in physical memory management which we solve using adaptive memory management, and a second we call deceptive idleness in disk schedulers that we solve through anticipatory disk scheduling . Many applications, their libraries, and runtimes can trade memory consumption for performance by maintaining caches, triggering garbage collection, etc. However, due to ignorance of memory pressure in the system, they are forced to be conservative about memory usage. Adaptive memory management is a technique that informs applications of the severity of memory pressure via a metric that quantifies the cost of using memory. This enables applications to allocate memory liberally when available (with performance benefits of 20% to 300%); and to release it under contention. The system thus reaches an equilibrium that balances the impact of memory pressure on each application; adapts to avoid paging during load bursts and improves stability and responsiveness; and reduces the need for manual configuration of memory footprints. It also provides finer control on memory usage by adapting proportional to application priorities. Disk schedulers generally schedule a request as soon as the previous request has finished. Unfortunately, many applications perform synchronous I/O by issuing a request after the previous request has been served. This causes the scheduler to suffer from deceptive idleness, a condition where it incorrectly assumes that the process has no further requests, and seeks to a request from another process. Anticipatory dish scheduling transparently solves this problem by sometimes injecting a small, controlled delay into the disk scheduler before it makes a scheduling decision, whenever it expects the current request to be quickly followed by another nearby request. This improves performance by up to 70% and enables proportional schedulers to achieve their contracts. Anticipatory scheduling has been ported to Linux, where it is now the default disk scheduler.

Description
Degree
Doctor of Philosophy
Type
Thesis
Keywords
Computer science
Citation

Iyer, Sitaram. "Advanced memory management and disk scheduling techniques for general-purpose operating systems." (2006) Diss., Rice University. https://hdl.handle.net/1911/18919.

Has part(s)
Forms part of
Published Version
Rights
Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
Link to license
Citable link to this page