OASIS : Self-tuning Storage for Applications

This paper introduces OASIS, a self-tuning storage management architecture that allows applications and the storage environment to negotiate resource allocations without requiring human intervention. The goal of OASIS is to maximize the utilization of all the storage resources in the storage area network subject to fairness in the allocation of resources to applications. To achieve this goal, OASIS continually inspects the application’s I/O behavior, and determines the application’s storage requirements automatically. Subsequently, OASIS communicates this information from the applications to a storage manager by means of a communication protocol that isolates the complexities of applications and storage from each other. The OASIS framework includes algorithms to dynamically and continuously map application requirements into appropriate low-level resource allocations. A key advantage of OASIS over best-effort systems is the ability to fairly share storage resources between workloads of varying characteristics. What distinguishes OASIS from other managed systems however, is its self-tuning nature. We implemented a prototype of the OASIS architecture and performed experiments on a set of competing synthetic workloads derived from traces. Our results show that OASIS is able to detect the bandwidth and latency requirements of the competing workloads and generate a fairer allocation of storage resources than a best-effort approach. More importantly, experience with a real-life database scenario, shows that OASIS is able to satisfy the bandwidth requirements of competing multi-threaded workloads without any storage administrator input. In particular, OASIS is able to identify an under-performing workload and ensure it receives a fair share of the overall storage system resources, resulting in a performance increase by as much as a factor of five for that workload over best-effort resource allocation.

[1]  Rodney Van Meter,et al.  Network attached storage architecture , 2000, CACM.

[2]  Prashant J. Shenoy,et al.  Cello: A Disk Scheduling Framework for Next Generation Operating Systems* , 1998, SIGMETRICS '98/PERFORMANCE '98.

[3]  Sam Lightstone,et al.  Self-managing technology in IBM DB2 universal database , 2001, CIKM '01.

[4]  Dror G. Feitelson,et al.  Self-Tuning Systems , 1999, IEEE Softw..

[5]  Dharmendra S. Modha,et al.  CacheCOW: QoS for storage system caches , 2003, IWQoS'03.

[6]  Alan Jay Smith,et al.  Characteristics of I/O traffic in personal computer and server workloads , 2002, IBM Syst. J..

[7]  Banu Özden,et al.  Disk scheduling with quality of service guarantees , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[8]  P. A. Blight The Analysis of Time Series: An Introduction , 1991 .

[9]  Jian Xu,et al.  Performance virtualization for large-scale storage systems , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[10]  Gregory R. Ganger,et al.  A Human Organization Analogy for Self-* Systems , 2003 .

[11]  Margo I. Seltzer,et al.  Structure and Performance of the Direct Access File System , 2002, USENIX ATC, General Track.

[12]  Margo I. Seltzer,et al.  Using probabilistic reasoning to automate software tuning , 2004, SIGMETRICS '04/Performance '04.

[13]  Arif Merchant,et al.  Façade: Virtual Storage Devices with Performance Guarantees , 2003, FAST.

[14]  Eric Anderson,et al.  Proceedings of the Fast 2002 Conference on File and Storage Technologies Hippodrome: Running Circles around Storage Administration , 2022 .

[15]  Marcos K. Aguilera,et al.  Performance debugging for distributed systems of black boxes , 2003, SOSP '03.

[16]  Xiaoyun Zhu,et al.  Triage: performance isolation and differentiation for storage systems , 2004, Twelfth IEEE International Workshop on Quality of Service, 2004. IWQOS 2004..

[17]  Frank Kelly,et al.  Rate control for communication networks: shadow prices, proportional fairness and stability , 1998, J. Oper. Res. Soc..