“…For example, one can design a linked list protected by a global lock in a few minutes, but inevitably, this list will be non-scalable. Accordingly, optimistic concurrency is deployed in every state-of-the-art data structure (e.g., lists [19,29], hash tables [8,37], trees [4,41], queues [39,40]). With optimistic concurrency, operations perform some non-synchronized work, before employing synchronization (i) for validating this optimistic work, and (ii) for possibly modifying the data structure.…”