Andrew Tomkins

Thesis Title: Practical and Theoretical Issues in Prefetching and Caching
Degree Type: Ph.D. in Computer Science
Advisor(s): Merrick Furst
Graduated: December 1997

Abstract:

This thesis has two parts, the first more practical, and the second more theoretical. The first part considers informed preteching and caching in which an application provides information about its upcoming I/A accesses to the operating system, allowing the system to prefetch data and to make informed cache replacement decisions. I compare existing algorithms for this problem using trace-driven simulation, and use the results to develop a new algorithm that performs better than previous approaches, again under trace-driven simulation.

The second part considers weights caching, a theoretical problem from the domain of on-line algorithms. I present an algorithm with competitive ratio O(log2k) on (k + 1)-point spaces, the first poly-logarithmic ratio for this problem. I also give an almost-tight lower bound of Omega(log k) for any weighted caching problem on at least k + 1 points. I then show a connection between this problem and a new on-line k-server model in which the servers may rearrange themselves without cost during "free-time" between requests, and describe a series of results in the free-time model.

Thesis Committee:
Merrick Furst (Chair)
Avrim Blum
Garth Gibson
Daniel D. Sleator
Richard J. Lipton (Princeton University)

James Morris, Head, Computer Science Department
Raj Reddy Dean, School of Computer Science

Keywords:
Operating systems, storage management, secondary storage, caching, prefeching, trace-driven simulation, TIP, algorithms, probabalistic algorithms, online algorithms, competitive ratio, weighted caching, metrical task systems, free time, k-server problems

CMU-CS-97-181.pdf (917.76 KB) ( 206 pages)
Copyright Notice