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

dc.contributor.advisorDruschel, Peteren_US
dc.creatorIyer, Sitaramen_US
dc.date.accessioned2009-06-04T06:41:41Zen_US
dc.date.available2009-06-04T06:41:41Zen_US
dc.date.issued2006en_US
dc.description.abstractOperating 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.en_US
dc.format.extent221 p.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.callnoTHESIS COMP.SCI. 2006 IYERen_US
dc.identifier.citationIyer, Sitaram. "Advanced memory management and disk scheduling techniques for general-purpose operating systems." (2006) Diss., Rice University. <a href="https://hdl.handle.net/1911/18919">https://hdl.handle.net/1911/18919</a>.en_US
dc.identifier.urihttps://hdl.handle.net/1911/18919en_US
dc.language.isoengen_US
dc.rightsCopyright 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.en_US
dc.subjectComputer scienceen_US
dc.titleAdvanced memory management and disk scheduling techniques for general-purpose operating systemsen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophyen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3216722.PDF
Size:
10.96 MB
Format:
Adobe Portable Document Format