- Abstract:
-
We study the problem of buffer allocation in databases that store data across multiple storage devices. In such systems devices share the same main memory for caching. The in-memory pages are managed independently for each device. We analytically model the performance of such a system and propose an algorithm to decide the portion of the buffer pool to allocate to data pages of each device. Our algorithm is based on a novel technique to accurately track the hit ratio curve for the data of each storage device. This curve is combined with the \IO costs of each device to decide the utility of caching pages for that device. The memory space allocated to each device is then determined by its utility. Our system is self- tuning and adapts allocation decisions to changing workload characteristics. We have implemented the proposed techniques and experimentally evaluated them using both synthetic and real-world workloads. The results show our proposals to yield substantial \IO cost savings with practically no overhead. We believe these techniques to be necessary for any high-performing multi-device system.
- Links To Paper
- 1st Link
- Bibtex format
- @Misc{EDI-INF-RR-1331,
- author = {
Ioannis Koltsidas
and Stratis Viglas
},
- title = {Utility-Aware Multi-Device Caching},
- year = 2009,
- url = {http://homepages.inf.ed.ac.uk/s0679010/multi-dev-cache-TR.pdf},
- }
|