As the performance gap between processor and disk increases, buffer caches are playing a more and more important role in computer system performance. Many applications including web browsers, web servers, file servers, database servers, storage servers etc need to implement buffer cache modules. Many of these codes can potentially be shared to save development efforts and decrease the opportunity for software bugs. In addition, buffer cache management has become increasingly complex due to (i) ever so many different workloads with dynamic access patterns, (ii) many recently proposed cache managed schemes each tailored for specific access pattern, and (iii) the multi-level buffer cache hierarchy distributed among multiple heterogeneous software components on different machines.

This research addresses the above problems by investigating a unified, autonomic and collaborated buffer cache library called CacheLib. CacheLib will implement most existing cache replacement and prefetching algorithms. Software can use CacheLib to create and manage a buffer cache, relieving developers from implementing their own buffer cache modules. This research will also explore autonomic and collaborative caching schemes. With autonomic caching, the system can automatically select caching schemes to dynamically adapt to access patterns. With collaborating caching, multiple buffer caches residing in heterogeneous software are managed collaboratively to deliver the expected performance commensurate to the aggregate cache size.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0305854
Program Officer
David Du
Project Start
Project End
Budget Start
2003-06-01
Budget End
2007-05-31
Support Year
Fiscal Year
2003
Total Cost
$350,000
Indirect Cost
Name
University of Illinois Urbana-Champaign
Department
Type
DUNS #
City
Champaign
State
IL
Country
United States
Zip Code
61820