Improving Disk Throughput in Data-Intensive Servers

Low disk throughput is one of the main impediments to improving the performance of data-intensive servers. In this paper, we propose two management techniques for the disk controller cache that can significantly increase disk throughput. The first technique, called File-Oriented Read-ahead (FOR), adjusts the number of read-ahead blocks brought into the disk controller cache according to file system information. The second technique, called Host-guided Device Caching (HDC), gives the host control over part of the disk controller cache. As an example use of this mechanism, we keep the blocks that cause the most misses in the host buffer cache permanently cached in the disk controller. Our detailed simulations of real server workloads show that FOR and HDC can increase disk throughput by up to 34% and 24%, respectively, in comparison to conventional disk controller cache management techniques. When combined, the techniques can increase throughput by up to 47%.

[1]  Christos Faloutsos,et al.  Active Storage for Large-Scale Data Mining and Multimedia , 1998, VLDB.

[2]  Liviu Iftode,et al.  Impact of Next-Generation I/O Architectures on the Design and Performance of Network Servers , 2002 .

[3]  Daniel A. Reed,et al.  Adaptive disk striping for parallel input/output , 1999, 16th IEEE Symposium on Mass Storage Systems in cooperation with the 7th NASA Goddard Conference on Mass Storage Systems and Technologies (Cat. No.99CB37098).

[4]  Yiming Hu,et al.  DCD—disk caching disk: a new approach for boosting I/O performance , 1996, ISCA '96.

[5]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[6]  Gregory R. Ganger,et al.  Towards higher disk head utilization: extracting free bandwidth from busy disk drives , 2000, OSDI.

[7]  Yale N. Patt,et al.  Scheduling algorithms for modern disk drives , 1994, SIGMETRICS 1994.

[8]  Robert J. Fowler,et al.  MINT: a front end for efficient simulation of shared-memory multiprocessors , 1994, Proceedings of International Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[9]  Valery Soloviev,et al.  MPL-Adaptive Algorithms for Multisegmented Disk Caches , 1994 .

[10]  David A. Patterson,et al.  Virtual log based file systems for a programmable disk , 1999, OSDI '99.

[11]  J. Spencer Love,et al.  Caching strategies to improve disk system performance , 1994, Computer.

[12]  Yale N. Patt,et al.  Disk subsystem load balancing: disk striping vs. conventional data placement , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[13]  Kenneth Salem,et al.  Adaptive Block Rearrangement Under UNIX , 1997, Softw. Pract. Exp..

[14]  Magnus Karlsson,et al.  Dynamics and evolution of Web sites: analysis, metrics and design issues , 2001, Proceedings. Sixth IEEE Symposium on Computers and Communications.

[15]  Xiang Yu,et al.  Trading capacity for performance in a disk array , 2000, OSDI.

[16]  R. S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[17]  M. Frans Kaashoek,et al.  Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files , 1997, USENIX Annual Technical Conference.

[18]  Azer Bestavros,et al.  GISMO: a Generator of Internet Streaming Media Objects and workloads , 2001, PERV.

[19]  Peter Druschel,et al.  Anticipatory scheduling: a disk scheduling framework to overcome deceptive idleness in synchronous I/O , 2001, SOSP.

[20]  Andrea C. Arpaci-Dusseau,et al.  Evolving RPC for active storage , 2002, ASPLOS X.

[21]  John Wilkes,et al.  An introduction to disk drive modeling , 1994, Computer.

[22]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

[23]  Joel H. Saltz,et al.  Active disks: programming model, algorithms and evaluation , 1998, ASPLOS VIII.

[24]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[25]  Evangelos P. Markatos,et al.  Main Memory Caching of Web Documents , 1996, Comput. Networks.

[26]  L. Richard Carley,et al.  MEMS-based integrated-circuit mass-storage systems , 2000, CACM.

[27]  Li Fan,et al.  Web caching and Zipf-like distributions: evidence and implications , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[28]  Yuanyuan Zhou,et al.  The Multi-Queue Replacement Algorithm for Second Level Buffer Caches , 2001, USENIX Annual Technical Conference, General Track.

[29]  Hai Jin,et al.  Active Disks: Programming Model, Algorithms and Evaluation , 2002 .

[30]  Philip S. Yu,et al.  Caching on the World Wide Web , 1999, IEEE Trans. Knowl. Data Eng..

[31]  J. Griffin,et al.  Designing computer systems with MEMS-based storage , 2000, SIGP.

[32]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[33]  Jeffrey Scott Vitter,et al.  Modeling and optimizing I/O throughput of multiple disks on a bus , 1999, SIGMETRICS '99.

[34]  Qing Yang,et al.  DCD --- Disk Caching Disk: A New Approach for Boosting I/O Performance , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[35]  Elizabeth Shriver Performance modeling for realistic storage devices , 1997 .

[36]  Ricardo Bianchini,et al.  Efficiency vs. portability in cluster-based network servers , 2001, PPoPP '01.

[37]  Yale N. Patt,et al.  System-oriented evaluation of I/O subsystem performance , 1995 .