{'fraction_non_alphanumeric': 0.02040816326530612, 'fraction_numerical': 0.0012004801920768306, 'mean_word_length': 5.415384615384616, '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 Generic Consensus Algorithm for Shared Memory

The shared memory model matches important classes of modern applications, such as fault-tolerant and highly available data centric services. Consensus is an important building block able to realize such reliable distributed systems. However, there exists no deterministic solution to consensus in asynchronous systems prone to failures. Failure and leader detectors are elegant abstractions which encapsulate the extra synchrony necessary to circumvent this impossibility. In this paper, we present a generic consensus algorithm for asynchronous shared memory systems able to be instantiated with two fundamental detectors, namely ◇S and Ω. The algorithm is wait-free, tolerating up to n - 1 failures, and optimal, regarding the synchrony required and the number of registers it uses.