Technology trends have continued to increase the access-time gap between processor and disk. To bridge the gap, main-memory buffer caches are used along the block retrieving path to avoid slow disk accesses. Besides client buffer caches, a requested block can also be cached at a web server, an application server, a database server, a file server and a storage system. These buffer caches form a multi-level buffer cache hierarchy. Even though buffer cache management has been studied intensively in the past, the increasingly diversified, dynamic and distributed nature of buffer cache workloads and the widening processor-disk gap threaten to reduce the effectiveness of memory hierarchies.
The goal of our project is to improve the effectiveness of such buffer cache hierarchy.
Publications:- Eviction-based Placement for Storage Caches [USENIX'03]
- The Multi-Queue Replacement Algorithm for Second Level Buffer Caches [USENIX'01]
- C-Miner: Mining Block Correlations in Storage Systems [FAST'04]
- Experiences with VI Communication for Database Storage [ISCA'02]
Funding:
- NSF CNS
- IBM CAS Fellowship
- UIUC Startup Grant