Discretionary Caching for I/O on Clusters

  • Authors:
  • Murali Vilayannur;Anand Sivasubramaniam;Mahmut Kandemir;Rajeev Thakur;Robert Ross

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • CCGRID '03 Proceedings of the 3st International Symposium on Cluster Computing and the Grid
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

I/O bottlenecks are already a problem in many large-scaleapplications that manipulate huge datasets. Thisproblem is expected to get worse as applications get larger,and the I/O subsystem performance lags behind processorand memory speed improvements. Caching I/O blocks isone effective way of alleviating disk latencies, and there canbe multiple levels of caching on a cluster of workstations.Previous studies have shown the benefits of caching -whether it be local to a particular node, or a shared globalcache across the cluster - for certain applications. However,we show that while caching is useful in some situations,it can hurt performance if we are not careful aboutwhat to cache and when to bypass the cache. This paperpresents compilation techniques and runtime support to addressthis problem. These techniques are implemented andevaluated on an experimental Linux/Pentium cluster runninga parallel file system. Our results using a diverse setof applications (scientific and commercial) demonstrate thebenefits of a discretionary approach to caching for I/O subsystemson clusters, providing as much as 33% savings overindiscriminately caching everything in some applications.