{'fraction_non_alphanumeric': 0.02700877785280216, 'fraction_numerical': 0.0006752194463200541, 'mean_word_length': 5.279661016949152, '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}}
A Low-Cost Non-Blocking Atomic Commitment Protocol for Asynchronous Systems

In distributed transactional systems, an Atomic Commitment Protocol (ACP) is used to ensure the atomicity of distributed transactions even in the presence of failures. An ACP is said to be non-blocking if it allows correct participants to decide on the transaction despite the failure of others. Several non-blocking protocols have been proposed in the literature. However, none of these protocols is able to combine high efficiency during normal processing with fault-tolerance (i.e. non-blocking). In this paper, we present a non-blocking atomic commitment protocol, noted ANB-CLL (Asynchronous Non-Blocking Coordinator Logical Log), that drastically reduces the cost of distributed transaction commitment in terms of time delay and message complexity. Performance analysis shows that the resulting protocol is more efficient than all other non-blocking protocols proposed in the literature. An important characteristic of ANB-CLL is that it can be applied to commercial transactional systems that are not 2PC compliant. To achieve non-blocking, ANBCLL uses a uniform consensus protocol as a termination protocol in an asynchronous system augmented with an unreliable failure detector, and in which processes may crash and recover. By supporting recovery, we study, for the first time, the problem of non-blocking atomic commitment in asynchronous systems based on a crashrecovery model of computation.