The design and implementation of a log-structured file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Non-volatile memory for fast, reliable file systems
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Floating parity and data disk arrays
Journal of Parallel and Distributed Computing - Special issue on parallel I/O systems
Parity logging overcoming the small write problem in redundant disk arrays
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
The HP AutoRAID hierarchical storage system
ACM Transactions on Computer Systems (TOCS) - Special issue on operating system principles
DCD—disk caching disk: a new approach for boosting I/O performance
ISCA '96 Proceedings of the 23rd annual international symposium on Computer architecture
Virtual log based file systems for a programmable disk
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Chained Declustering: A New Availability Strategy for Multiprocessor Database Machines
Proceedings of the Sixth International Conference on Data Engineering
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
Disk Mirroring with Alternating Deferred Updates
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
RAPID-Cache ¾ A Reliable and Inexpensive Write Cache for Disk I/O Systems
HPCA '99 Proceedings of the 5th International Symposium on High Performance Computer Architecture
Towards higher disk head utilization: extracting free bandwidth from busy disk drives
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Trading capacity for performance in a disk array
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
An implementation of a log-structured file system for UNIX
USENIX'93 Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings
File system logging versus clustering: a performance comparison
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
Transaction monitoring in ENCOMPASS: reliable distributed transaction processing
VLDB '81 Proceedings of the seventh international conference on Very Large Data Bases - Volume 7
Hi-index | 0.00 |
Transaction processing applications such as those exemplified by the TPC-C benchmark are among the most demanding I/O applications for conventional storage systems. Two complementary techniques exist to improve the performance of these systems. Eager-writing allows the free block that is closest to a disk head to be selected for servicing a write request, and mirroring allows the closest replica to be selected for servicing a read request. Applied individually, the effectiveness of each of these techniques is limited. An eager-writing disk array (EW-Array) combines these two complementary techniques. In such a system, eager-writing enables low-cost replica propagation so that the system can provide excellent performance for both read and write operations while maintaining a high degree of reliability. To fully realize the potential of an EW-Array, we must answer at least two key questions. First, since both eager-writing and mirroring rely on extra capacity to deliver performance improvements, how do we satisfy competing resource demands given a fixed amount of total disk space? Second, since eager-writing allows data to be dynamically located, how do we exploit this high degree of location independence in an intelligent disk scheduler? In this paper, we address these two key questions and compare the resulting EW-Array prototype performance against that of conventional approaches. The experimental results demonstrate that the eager-writing disk array is an effective approach to providing scalable performance for an important class of transaction processing applications.