Experiences with VI communication for database storage

  • Authors:
  • Yuanyuan Zhou;Angelos Bilas;Suresh Jagannathan;Cezary Dubnicki;James F. Philbin;Kai Li

  • Affiliations:
  • Emphora Inc., Princeton, NJ;University of Toronto, Toronto, Ontario M5S3G4, Canada;Emphora Inc., Princeton, NJ;Emphora Inc., Princeton, NJ;Emphora Inc., Princeton, NJ;Princeton University, Princeton, NJ

  • Venue:
  • ISCA '02 Proceedings of the 29th annual international symposium on Computer architecture
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

This paper examines how VI-based interconnects can be used to improve I/O path performance between a database server and the storage subsystem. We design and implement a software layer, DSA, that is layered between the application and VI. DSA takes advantage of specific VI features and deals with many of its shortcomings. We provide and evaluate one kernel-level and two user-level implementations of DSA. These implementations trade transparency and generality for performance at different degrees, and unlike research prototypes are designed to be suitable for real-world deployment. We present detailed measurements using a commercial database management system with both micro-benchmarks and industrial database workloads on a mid-size, 4 CPU, and a large, 32 CPU, database server.Our results show that VI-based interconnects and user-level communication can improve all aspects of the I/O path between the database system and the storage back-end. We also find that to make effective use of VI in I/O intensive environments we need to provide substantial additional functionality than what is currently provided by VI. Finally, new storage APIs that help minimize kernel involvement in the I/O path are needed to fully exploit the benefits of VI-based communication.