{'fraction_non_alphanumeric': 0.022326674500587545, 'fraction_numerical': 0.004700352526439483, 'mean_word_length': 5.402255639097745, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Charm: An I/O-Driven Execution Strategy for High-Performance Transaction Processing

The performance of a transaction processing system whose database is not completely memory-resident critically depends on the amount of physical disk I/O required. This paper describes a high-performance transaction processing system called Charm, which aims to reducing the concurrency control overhead by minimizing the performance impacts of disk I/O on lock contention delay. In existing transaction processing systems, a transaction blocked by lock contention is forced to wait while the transaction currently holding the contended lock is performing physical disk I/O. A substantial portion of a transaction’s lock contention delay is thus attributed to disk I/Os performed by other transactions. Charm implements a 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 database pages. Moreover, Charm supports an optimistic version of the TSTE strategy (OTSTE), which further eliminates unnecessary performance overhead associated with TSTE. Charm has been successfully implemented on the Berkeley DB package and is completely transparent to existing applications in that no modification to applications is required. Performance measurements from a fully operational Charm prototype based on the TPC-C workload demonstrate that Charm out-performs conventional transaction processing systems by up to 46.48% in transaction response time and by up to 51.48% in transaction throughput rate. To the best of our knowledge, this is the first empirical measurement results on TSTE from an operational system.