{'fraction_non_alphanumeric': 0.01780821917808219, 'fraction_numerical': 0.0006849315068493151, 'mean_word_length': 5.551569506726457, '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}}
Performance Comparison of I/0 Access Disciplines for Transaction-Processing Systems

Synchronous and asynchronous I/O access disciplines are compared for use in a transaction-processing system. Synchronous access causes an executing process to be suspended while its I/O is performed, whereas asynchronous access permits a process to continue execution concurrently with the servicing of its I/O requests. While it is intuitively clear that asynchronous access generally yields superior performance due to the greater concurrency allowed between transactions, our results considerably sharpen such intuition by quantifying the margin of improvement. The performances of the two disciplines are studied under a variety of conditions by using simple and standard queuing network models. Of particular interest is a situation where an I/O device is congestion-adaptive in service rate. Simulation models for a realistic implementation are described and the results compared with those of the queuing models. The paper concludes by giving guidelines which determine whether, for a particular system, asynchronous I/O is likely to provide a significantly better processing capacity than synchronous I/O. We also observe that similar performance advantages (due to greater transaction concurrency) can be obtained by a transaction-processing architecture which uses re-entrant procedures and dynamically generates a process and data area for each active transaction.