Charm: An I/O-Driven High-Performance Transaction Processing System

Performance of transaction processing systems is mostly determined by the amount of required physical disk I/O, which is due to database table accesses or log record writes. This paper describes a high-performance transaction processing system called Charm, which aims to reduce the performance impacts of disk I/O to the minimum. In current transaction processing architectures, a transaction blocked by lock contention is forced to wait while the transaction currently holding the contended lock is performing physical disk I/O. Consequently a signiicant portion of a transaction's lock contention time is attributed to disk I/Os performed by other transactions. Charm incoprorates a novel two-stage transaction execution (TSTE) strategy, which makes sure that all the data pages that a transaction needs be memory-resident before it is allowed to lock shared database pages. Charm also supports an optimistic version of the TSTE strategy (OT-STE), which eliminates unnecessary performance overheads associated with TSTE when transactions do not need to issue physical disk I/Os. To address the performance problem associated with synchronous record logging, Charm supports another innovation: track-based logging, which eeectively eliminates the the seek delay and rotational latency of each database logging operation, thus approximating the performance level of group commits while ensuring the same reliability guarantee as synchronous transaction commits. Prototype performance measurements based on TPC-C workloads demonstrate that Charm out-performs conventional transaction processing system implementations by up to 47% in total execution time and up to 44% in average transaction response time.

[1]  James E. Smith,et al.  A Simulation Study of Decoupled Architecture Computers , 1986, IEEE Transactions on Computers.

[2]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[3]  Margo I. Seltzer,et al.  LIBTP: Portable, Modular Transactions for UNIX , 1992 .

[4]  B. R. Badrinath,et al.  Synchronizing Transactions on Objects , 1988, IEEE Trans. Computers.

[5]  Arthur J. Bernstein,et al.  Design and performance of an assertional concurrency control system , 1998, Proceedings 14th International Conference on Data Engineering.

[6]  Hyoung-Joo Kim,et al.  SEOF: an adaptable object prefetch policy for object-oriented database systems , 1997, Proceedings 13th International Conference on Data Engineering.

[7]  Tzi-cker Chiueh Trail: a track-based logging disk architecture for zero-overhead writes , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[8]  Anna R. Karlin,et al.  Integrated parallel prefetching and caching , 1996, SIGMETRICS '96.

[9]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[10]  Maurice Herlihy,et al.  Apologizing versus asking permission: optimistic concurrency control for abstract data types , 1990, TODS.