Hagit Attiya

dblp:a/HagitAttiya · also Chagit Attiya · DBLP profile ↗
← Back
215ranked-venue papers
179as first author
45since 2021 · last 2026
0000-0002-8017-6457ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 98 · 83 first-author · 18 since 2021Theory of computation · 47 · 41 first-author · 10 since 2021Applied, interdisciplinary, general and emerging computing · 16 · 11 first-authorSecurity and privacy · 7 · 4 first-author · 1 since 2021Software engineering, systems software and programming languages · 3 · 3 first-author · 1 since 2021Databases, data management, data science and information retrieval · 2 · 1 first-authorComputer networks · 1 · 1 first-author
YearPublicationVenuePosition
2026 Impossibility Results for Strong Linearizability: The Difficulty of Consistent Refereeing
Hagit Attiya, Armando Castañeda, Constantin Enea
PODC1
2026 Why Canonical-Round Algorithms Fail for Optimal Byzantine Resilience
abstract
Canonical asynchronous rounds are a widely used abstraction for structuring distributed algorithms, making asynchronous executions appear synchronous and enabling modular reasoning. We show that this abstraction is fundamentally incompatible with optimal resilience in the Byzantine setting, even when randomization is allowed. Specifically, we prove that when 3f < n ≤ 5 f, where n is the number of processes and at most f may be Byzantine faulty, no randomized canonical-round algorithm can solve consensus with bounded expected round complexity, and that communication-closed variants fail to solve consensus altogether in this regime.
Hagit Attiya, Itay Flam, Jennifer L. Welch
PODC1
2026 Brief Announcement: A Space-Efficient Lock-Free Linear-Probing Hash Table
abstract
Linear probing is a simple and space-efficient approach to hash table design, widely used in sequential settings due to its compact memory layout. However, designing a concurrent linear-probing hash table with strong liveness guarantees has proved difficult, and only a handful of such algorithms have been proposed, all using large per-entry metadata, compromising space efficiency.
Hagit Attiya, Rotem Oshman, Noa Schiller
PODC1
2026 Equivalence and Separation Between Heard-Of and Asynchronous Message-Passing Models
Hagit Attiya, Armando Castañeda, Dhrubajyoti Ghosh, Thomas Nowak 0001
SIROCCO1
2026 Arbitration-Free Consistency Is Available (and Vice Versa)
abstract
The fundamental tension between availability and consistency shapes the design of distributed storage systems. Classical results capture extreme points of this trade-off: the CAP theorem shows that strong models like linearizability preclude availability under partitions, while weak models like causal consistency remain implementable without coordination. These theorems apply to simple read-write interfaces, leaving open a precise explanation of the combinations of object semantics and consistency models that admit available implementations. This paper develops a general semantic framework in which storage specifications combine operation semantics and consistency models. The framework encompasses a broad range of objects (key-value stores, counters, sets, CRDTs, and SQL databases) and consistency models (from causal consistency and sequential consistency to snapshot isolation and bounded staleness). Within this framework, we prove the Arbitration-Free Consistency (AFC) theorem, showing that an object specification within a consistency model admits an available implementation if and only if it is arbitration-free , that is, it does not require a total arbitration order to resolve visibility or read dependencies. The AFC theorem unifies and generalizes previous results, revealing arbitration-freedom as the fundamental property that delineates coordination-free consistency from inherently synchronized behavior.
Hagit Attiya, Constantin Enea, Enrique Román-Calvo
Proc. ACM Program. Lang.1
2025 Recoverable Lock-Free Locks
abstract
This paper presents the first transformation that introduces both lock-freedom and recoverability. Our transformation starts with a lock-based implementation, and provides a recoverable, lock-free substitution to lock acquire and lock release operations. The transformation supports nested locks for generality and ensures recoverability without jeopardising the correctness of the lock-based implementation it is applied on.
Hagit Attiya, Panagiota Fatourou, Eleftherios Kosmas, Yuanhao Wei
OPODIS1
2025 Auditing without Leaks Despite Curiosity
abstract
Auditing data accesses helps preserve privacy and ensures accountability by allowing one to determine who accessed (potentially sensitive) information. A prior formal definition of register auditability was based on the values returned by read operations, without accounting for cases where a reader might learn a value without explicitly reading it or gain knowledge of data access without being an auditor.
Hagit Attiya, Antonio Fernández 0001, Alessia Milani, Alexandre Rapetti, Corentin Travers
PODC1
2025 Solvability Characterization for General Three-Process Tasks
abstract
A key result of distributed computing in asynchronous systems is a characterization for the wait-free solvability of colorless tasks by the existence of a continuous map from the task's input complex (representing the valid input configurations) to its output complex (representing the valid output configurations) which respects that task's specification. This natural characterization led to many proofs, mainly of impossibility: showing that a colorless task is not wait-free solvable, can be done by proving that there is no continuous map (respecting the task's specification) between two simplicial complexes, which can be done using classical topological machinery.
Hagit Attiya, Pierre Fraigniaud, Ami Paz, Sergio Rajsbaum
PODC1
2025 On the Existence of Extension-Based Proofs of Impossibility for Set-Agreement
Hagit Attiya, Pierre Fraigniaud, Ami Paz, Sergio Rajsbaum
SIROCCO1
2025 History-Independent Concurrent Hash Tables
abstract
A history-independent data structure does not reveal the history of operations applied to it, only its current logical state, even if its internal state is examined. This paper studies history-independent concurrent dictionaries, in particular, hash tables, and establishes inherent bounds on their space requirements. This paper shows that there is a lock-free history-independent concurrent hash table, in which each memory cell stores two elements and two bits, based on Robin Hood hashing. Our implementation is linearizable, and uses the shared memory primitive LL/SC. The expected amortized step complexity of the hash table is $O(c)$, where $c$ is an upper bound on the number of concurrent operations that access the same element, assuming the hash table is not overpopulated. We complement this positive result by showing that even if we have only two concurrent processes, no history-independent concurrent dictionary that supports sets of any size, with wait-free membership queries and obstruction-free insertions and deletions, can store only two elements of the set and a constant number of bits in each memory cell. This holds even if the step complexity of operations on the dictionary is unbounded.
Hagit Attiya, Michael A. Bender, Martin Farach-Colton, Rotem Oshman, Noa Schiller
STOC1
2025 Auditable Shared Objects: From Registers to Synchronization Primitives
abstract
Auditability allows to track operations performed on a shared object, recording who accessed which information. This gives data owners more control on their data. Initially studied in the context of single-writer registers, this work extends the notion of auditability to other shared objects, and studies their properties. We start by moving from single-writer to multi-writer registers, and provide an implementation of an auditable n-writer m-reader read / write register, with O(n+m) step complexity. This implementation uses (m+n)-sliding registers, which have consensus number m+n. We show that this consensus number is necessary. The implementation extends naturally to support an auditable load-linked / store-conditional (LL/SC) shared object. LL/SC is a primitive that supports efficient implementation of many shared objects. Finally, we relate auditable registers to other access control objects, by implementing an anti-flickering deny list from auditable registers.
Hagit Attiya, Antonio Fernández 0001, Alessia Milani, Alexandre Rapetti, Corentin Travers
DISC1
2025 Brief Announcement: Communication Patterns for Optimal Resilience
abstract
Canonical asynchronous rounds are a widely used abstraction for structuring distributed algorithms, making asynchronous executions appear synchronous and enabling modular reasoning. We show that this abstraction is fundamentally incompatible with optimal resilience in the Byzantine setting, even when randomization is allowed. Specifically, we prove that when $3f < n \le 5f$, where $n$ is the number of processes and at most $f$ may be Byzantine faulty, no randomized canonical-round algorithm can solve consensus with bounded expected round complexity, and that communication-closed variants fail to solve consensus altogether in this regime. We establish these lower bounds via a unifying notion of nontrivial convergence, which captures consensus as well as classical relaxations, such as approximate agreement and connected consensus. Using simple reductions, the same impossibility extends to fundamental communication primitives such as reliable broadcast and gather. Our results identify a sharp boundary: while bounded canonical-round algorithms for these problems exist when $n > 5f$, they cannot when $n \le 5f$. Thus optimal resilience, $n > 3f$, cannot be achieved within the canonical-round framework. On the positive side, we show that the gather primitive captures the content-dependent communication needed to bypass this limitation. We use gather to obtain a simple and modular algorithm for connected consensus with optimal resilience, clarifying the communication structures required for optimal resilience.
Hagit Attiya, Itay Flam, Jennifer L. Welch
DISC1
2025 Preserving hyperproperties of programs using primitives with consensus number 2
abstract
Abstract When a concrete concurrent object refines another, more abstract object, the correctness of a program employing the concrete object can be verified by considering its behaviors when using the more abstract object. This approach is sound for trace properties of the program, but not for hyperproperties, including many security properties and probability distributions of events. We define strong observational refinement, a strengthening of refinement that preserves hypersafety properties, and prove that it is equivalent to the existence of forward simulations. We show that strong observational refinement generalizes strong linearizability, a restriction of linearizability, the prevalent consistency condition for implementing concurrent objects. Our results imply that strong linearizability is also equivalent to existence of forward simulations, and show that strongly linearizable implementations can be composed both horizontally and vertically. This paper also investigates whether there are wait-free strongly-linearizable implementations from realistic primitives such as test&set or fetch&add, whose consensus number is 2. We show that many objects with consensus number 1 have wait-free strongly-linearizable implementations from fetch&add. We also show that several objects with consensus number 2 have wait-free or lock-free implementations from other objects with consensus number 2. In contrast, we prove that even when fetch&add, swap and test&set primitives are used, some objects with consensus number 2 do not have lock-free strongly-linearizable implementations. This includes queues and stacks, and relaxed variants thereof.
Hagit Attiya, Armando Castañeda, Constantin Enea
Acta Informatica1
2025 Asynchronous fully-decentralized SGD in the cluster-based model
Hagit Attiya, Noa Schiller
Theor. Comput. Sci.1
2024 History-Independent Concurrent Objects
abstract
A data structure is called history independent if its internal memory representation does not reveal the history of operations applied to it, only its current state. In this paper we study history independence for concurrent data structures, and establish foundational possibility and impossibility results. We show that a large class of concurrent objects cannot be implemented from smaller base objects in a manner that is both wait-free and history independent; but if we settle for either lock-freedom instead of wait-freedom or for a weak notion of history independence, then at least one object in the class, multi-valued single-reader single-writer registers, can be implemented from smaller base objects, binary registers.
Hagit Attiya, Michael A. Bender, Martin Farach-Colton, Rotem Oshman, Noa Schiller
PODC1
2024 Strong Linearizability using Primitives with Consensus Number 2
abstract
A powerful tool for designing complex concurrent programs is through composition with object implementations from lower-level primitives. Strongly-linearizable implementations allow to preserve hyper-properties, e.g., probabilistic guarantees of randomized programs. However, the only known wait-free strongly-linearizable implementations for many objects rely on compare&swap, a universal primitive that allows any number of processes to solve consensus. This is despite the fact that these objects have wait-free linearizable implementations from read / write primitives, which do not support consensus. This paper investigates a middle-ground, asking whether there are wait-free strongly-linearizable implementations from realistic primitives such as test&set or fetch&add, whose consensus number is 2.
Hagit Attiya, Armando Castañeda, Constantin Enea
PODC1
2024 Brief Announcement: Solvability of Three-Process General Tasks
abstract
The topological view on distributed computing represents a task T as a relation Δ between the complex ℐ of its inputs and the complex 𝒪 of its outputs. A cornerstone result in the field is an elegant computability characterization of the solvability of colorless tasks in terms of ℐ, 𝒪 and Δ. Essentially, a colorless task is wait-free solvable if and only if there is a continuous map from the geometric realization of ℐ to that of 𝒪 that respects Δ. This paper makes headway towards providing an analogous characterization for general tasks, which are not necessarily colorless, by concentrating on the case of three-process inputless tasks. Our key contribution is identifying local articulation points as an obstacle for the solvability of general tasks, and defining a topological deformation on the output complex of a task T, which eliminates these points by splitting them, to obtain a new task T', with an adjusted relation Δ' between the input complex ℐ and an output complex 𝒪' without articulation points. We obtain a new characterization of wait-free solvability of three-process general tasks: T is wait-free solvable if and only if there is a continuous map from the geometric realization of ℐ to that of 𝒪' that respects Δ'.
Hagit Attiya, Pierre Fraigniaud, Ami Paz, Sergio Rajsbaum
DISC1
2024 Special issue on PODC 2021 and DISC 2021
Hagit Attiya
Distributed Comput.1
2024 Lower Bounds on the Amortized Time Complexity of Shared Objects
Hagit Attiya, Arie Fouren, Jeremy Ko
Theory Comput. Syst.1
2023 Asynchronous Fully-Decentralized SGD in the Cluster-Based Model
Hagit Attiya, Noa Schiller
CIAC1
2023 Faithful Simulation of Randomized BFT Protocols on Block DAGs
abstract
Blockchain plays an important role in cryptocurrency markets and technology services. However, limitations on high latency and low scalability retard their adoptions and applications in classic designs. Reconstructed blockchain systems have been proposed to avoid the consumption of competitive transactions caused by linear sequenced blocks. These systems, instead, structure transactions/blocks in the form of Directed Acyclic Graph (DAG) and consequently re-build upper layer components including consensus, incentives, \textit{etc.} The promise of DAG-based blockchain systems is to enable fast confirmation (complete transactions within million seconds) and high scalability (attach transactions in parallel) without significantly compromising security. However, this field still lacks systematic work that summarises the DAG technique. To bridge the gap, this Systematization of Knowledge (SoK) provides a comprehensive analysis of DAG-based blockchain systems. Through deconstructing open-sourced systems and reviewing academic researches, we conclude the main components and featured properties of systems, and provide the approach to establish a DAG. With this in hand, we analyze the security and performance of several leading systems, followed by discussions and comparisons with concurrent (scaling blockchain) techniques. We further identify open challenges to highlight the potentiality of DAG-based solutions and indicate their promising directions for future research.
Hagit Attiya, Constantin Enea, Shafik Nassar
CONCUR1
2023 The Synchronization Power of Auditable Registers
Hagit Attiya, Antonella Del Pozzo, Alessia Milani, Ulysse Pavloff, Alexandre Rapetti
OPODIS1
2023 Multi-Valued Connected Consensus: A New Perspective on Crusader Agreement and Adopt-Commit
Hagit Attiya, Jennifer L. Welch
OPODIS1
2023 Bounds on Worst-Case Responsiveness for Agreement Algorithms
Hagit Attiya, Jennifer L. Welch
OPODIS1
2023 Recoverable and Detectable Self-Implementations of Swap
Tomer Lev Lehman, Hagit Attiya, Danny Hendler
OPODIS2
2023 Topological Characterization of Task Solvability in General Models of Computation
abstract
The famous asynchronous computability theorem (ACT) relates the existence of an asynchronous wait-free shared memory protocol for solving a task with the existence of a simplicial map from a subdivision of the simplicial complex representing the inputs to the simplicial complex representing the allowable outputs. The original theorem relies on a correspondence between protocols and simplicial maps in round-structured models of computation that induce a compact topology. This correspondence, however, is far from obvious for computation models that induce a non-compact topology, and indeed previous attempts to extend the ACT have failed. This paper shows that in every non-compact model, protocols solving tasks correspond to simplicial maps that need to be continuous. It first proves a generalized ACT for sub-IIS models, some of which are non-compact, and applies it to the set agreement task. Then it proves that in general models too, protocols are simplicial maps that need to be continuous, hence showing that the topological approach is universal. Finally, it shows that the approach used in ACT that equates protocols and simplicial complexes actually works for every compact model. Our study combines, for the first time, combinatorial and point-set topological aspects of the executions admitted by the computation model.
Hagit Attiya, Armando Castañeda, Thomas Nowak 0001
DISC1
2023 One Step Forward, One Step Back: FLP-Style Proofs and the Round-Reduction Technique for Colorless Tasks
abstract
The paper compares two generic techniques for deriving lower bounds and impossibility results in distributed computing. First, we prove a speedup theorem (a-la Brandt, 2019), for wait-free colorless algorithms, aiming at capturing the essence of the seminal round-reduction proof establishing a lower bound on the number of rounds for 3-coloring a cycle (Linial, 1992), and going by backward induction. Second, we consider FLP-style proofs, aiming at capturing the essence of the seminal consensus impossibility proof (Fischer, Lynch, and Paterson, 1985) and using forward induction. We show that despite their very different natures, these two forms of proof are tightly connected. In particular, we show that for every colorless task $Π$, if there is a round-reduction proof establishing the impossibility of solving $Π$ using wait-free colorless algorithms, then there is an FLP-style proof establishing the same impossibility. For 1-dimensional colorless tasks (for an arbitrary number $n\geq 2$ of processes), we prove that the two proof techniques have exactly the same power, and more importantly, both are complete: if a 1-dimensional colorless task is not wait-free solvable by $n\geq 2$ processes, then the impossibility can be proved by both proof techniques. Moreover, a round-reduction proof can be automatically derived, and an FLP-style proof can be automatically generated from it. Finally, we illustrate the use of these two techniques by establishing the impossibility of solving any colorless covering task of arbitrary dimension by wait-free algorithms.
Hagit Attiya, Pierre Fraigniaud, Ami Paz, Sergio Rajsbaum
DISC1
2023 Brief Announcement: Multi-Valued Connected Consensus: A New Perspective on Crusader Agreement and Adopt-Commit
abstract
Algorithms to solve fault-tolerant consensus in asynchronous systems often rely on primitives such as crusader agreement, adopt-commit, and graded broadcast, which provide weaker agreement properties than consensus. Although these primitives have a similar flavor, they have been defined and implemented separately in ad hoc ways. We propose a new problem called connected consensus that has as special cases crusader agreement, adopt-commit, and graded broadcast, and generalizes them to handle multi-valued inputs. The generalization is accomplished by relating the problem to approximate agreement on graphs. We present three algorithms for multi-valued connected consensus in asynchronous message-passing systems, one tolerating crash failures and two tolerating malicious (unauthenticated Byzantine) failures. We extend the definition of binding, a desirable property recently identified as supporting binary consensus algorithms that are correct against adaptive adversaries, to the multi-valued input case and show that all our algorithms satisfy the property. Our crash-resilient algorithm has failure-resilience and time complexity that we show are optimal. When restricted to the case of binary inputs, the algorithm has improved time complexity over prior algorithms. Our two algorithms for malicious failures trade off failure resilience and time complexity. The first algorithm has time complexity that we prove is optimal but worse failure-resilience, while the second has failure-resilience that we prove is optimal but worse time complexity. When restricted to the case of binary inputs, the time complexity (as well as resilience) of the second algorithm matches that of prior algorithms. The contributions of the paper are first, a deeper insight into the connections between primitives commonly used to solve the fundamental problem of fault-tolerant consensus, and second, implementations of these primitives that can contribute to improved consensus algorithms.
Hagit Attiya, Jennifer L. Welch
DISC1
2023 Brief Announcement: Recoverable and Detectable Self-Implementations of Swap
abstract
Recoverable algorithms tolerate failures and recoveries of processes by using non-volatile memory. Of particular interest are self-implementations of key operations, in which a recoverable operation is implemented from its non-recoverable counterpart (in addition to reads and writes). This paper presents two self-implementations of the SWAP operation. One works in the system-wide failures model, where all processes fail and recover together, and the other in the independent failures model, where each process crashes and recovers independently of the other processes. Both algorithms are wait-free in crash-free executions, but their recovery code is blocking. We prove that this is inherent for the independent failures model. The impossibility result is proved for implementations of distinguishable operations using interfering functions, and in particular, it applies to a recoverable self-implementation of swap.
Tomer Lev Lehman, Hagit Attiya, Danny Hendler
DISC2
2023 Special issue on DISC 2019
Hagit Attiya
Distributed Comput.1
2023 Locally solvable tasks and the limitations of valency arguments
Hagit Attiya, Armando Castañeda, Sergio Rajsbaum
J. Parallel Distributed Comput.1
2022 The Step Complexity of Multidimensional Approximate Agreement
Hagit Attiya, Faith Ellen
OPODIS1
2022 Blunting an Adversary Against Randomized Concurrent Programs with Linearizable Implementations
abstract
Atomic shared objects, whose operations take place instantaneously, are a powerful abstraction for designing complex concurrent programs. Since they are not always available, they are typically substituted with software implementations. A prominent condition relating these implementations to their atomic specifications is linearizability, which preserves safety properties of the programs using them. However linearizability does not preserve hyper-properties, which include probabilistic guarantees of randomized programs: an adversary can greatly amplify the probability of a bad outcome, such as nontermination, by manipulating the order of events inside the implementations of the operations. This unwelcome behavior prevents modular reasoning, which is the key benefit provided by the use of linearizable object implementations. A more restrictive property, strong linearizability, does preserve hyper-properties but it is impossible to achieve in many situations. This paper suggests a novel approach to blunting the adversary's additional power that works even in cases where strong linearizability is not achievable. We show that a wide class of linearizable implementations, including well-known ones for registers and snapshots, can be modified to approach the probabilistic guarantees of randomized programs when using atomic objects. The technical approach is to transform the algorithm of each operation of an existing linearizable implementation by repeating a carefully chosen prefix of the operation several times and then randomly choosing which repetition to use subsequently. We prove that the probability of a bad outcome decreases with the number of repetitions, approaching the probability attained when using atomic objects. The class of implementations to which our transformation applies includes the ABD implementation of a shared register using message-passing, the Afek et al. implementation of an atomic snapshot using single-writer registers, the Vitanyi and Awerbuch implementation of a multi-writer register using single-writer registers, and the Israeli and Li implementation of a multi-reader register using single-reader registers, all of which are widely used in asynchronous crash-prone systems.
Hagit Attiya, Constantin Enea, Jennifer L. Welch
PODC1
2022 Detectable recovery of lock-free data structures
abstract
This paper presents a generic approach for deriving detectably recoverable implementations of many widely-used concurrent data structures. Such implementations are appealing for emerging systems featuring byte-addressable non-volatile main memory (NVMM), whose persistence allows to efficiently resurrect failed threads after crashes. Detectable recovery ensures that after a crash, every executed operation is able to recover and return a correct response, and that the state of the data structure is not corrupted.
Hagit Attiya, Ohad Ben-Baruch, Panagiota Fatourou, Danny Hendler, Eleftherios Kosmas
PPoPP1
2022 Special issue on PODC 2020
Hagit Attiya
Distributed Comput.1
2022 Special issue on DISC 2020
Hagit Attiya
Distributed Comput.1
2022 Store-collect in the presence of continuous churn with application to snapshots and lattice agreement
Hagit Attiya, Sweta Kumari 0001, Archit Somani, Jennifer L. Welch
Inf. Comput.1
2022 Separating lock-freedom from wait-freedom at every level of the consensus hierarchy
Hagit Attiya, Armando Castañeda, Danny Hendler, Matthieu Perrin
J. Parallel Distributed Comput.1
2021 Recoverable and Detectable Fetch&Add
Liad Nahum, Hagit Attiya, Ohad Ben-Baruch, Danny Hendler
OPODIS2
2021 2021 Principles of Distributed Computing Doctoral Dissertation Award
abstract
No abstract available.
Marcos K. Aguilera, Hagit Attiya, Christian Cachin, Alessandro Panconesi
PODC2
2021 Flat-Combining-Based Persistent Data Structures for Non-volatile Memory
Matan Rusanovsky, Hagit Attiya, Ohad Ben-Baruch, Tom Gerby, Danny Hendler, Pedro Ramalhete
SSS2
2021 Impossibility of Strongly-Linearizable Message-Passing Objects via Simulation by Single-Writer Registers
abstract
A key way to construct complex distributed systems is through modular composition of linearizable concurrent objects. A prominent example is shared registers, which have crash-tolerant implementations on top of message-passing systems, allowing the advantages of shared memory to carry over to message-passing. Yet linearizable registers do not always behave properly when used inside randomized programs. A strengthening of linearizability, called strong linearizability, has been shown to preserve probabilistic behavior, as well as other "hypersafety" properties. In order to exploit composition and abstraction in message-passing systems, it is crucial to know whether there exist strongly-linearizable implementations of registers in message-passing. This paper answers the question in the negative: there are no strongly-linearizable fault-tolerant message-passing implementations of multi-writer registers, max-registers, snapshots or counters. This result is proved by reduction from the corresponding result by Helmi et al. The reduction is a novel extension of the BG simulation that connects shared-memory and message-passing, supports long-lived objects, and preserves strong linearizability. The main technical challenge arises from the discrepancy between the potentially minuscule fraction of failures to be tolerated in the simulated message-passing algorithm and the large fraction of failures that can afflict the simulating shared-memory system. The reduction is general and can be viewed as the inverse of the ABD simulation of shared memory in message-passing.
Hagit Attiya, Constantin Enea, Jennifer L. Welch
DISC1
2021 Special issue on PODC 2018 and DISC 2018
Hagit Attiya
Distributed Comput.1
2021 Special issue on PODC 2019
Hagit Attiya
Distributed Comput.1
2021 Specification and space complexity of collaborative text editing
Hagit Attiya, Sebastian Burckhardt, Alexey Gotsman, Adam Morrison 0001, Hongseok Yang, Marek Zawirski
Theor. Comput. Sci.1
2020 Locally Solvable Tasks and the Limitations of Valency Arguments
abstract
An elegant strategy for proving impossibility results in distributed computing was introduced in the celebrated FLP consensus impossibility proof. This strategy is local in nature as at each stage, one configuration of a hypothetical protocol for consensus is considered, together with future valencies of possible extensions. This proof strategy has been used in numerous situations related to consensus, leading one to wonder why it has not been used in impossibility results of two other well-known tasks: set agreement and renaming. This paper provides an explanation of why impossibility proofs of these tasks have been of a global nature. It shows that a protocol can always solve such tasks locally, in the following sense. Given a configuration and all its future valencies, if a single successor configuration is selected, then the protocol can reveal all decisions in this branch of executions, satisfying the task specification. This result is shown for both set agreement and renaming, implying that there are no local impossibility proofs for these tasks.
Hagit Attiya, Armando Castañeda, Sergio Rajsbaum
OPODIS1
2020 Optimal Resilience in Systems That Mix Shared Memory and Message Passing
abstract
We investigate the minimal number of failures that can partition a system where processes communicate both through shared memory and by message passing. We prove that this number precisely captures the resilience that can be achieved by algorithms that implement a variety of shared objects, like registers and atomic snapshots, and solve common tasks, like randomized consensus, approximate agreement and renaming. This has implications for the m&m-model and for the hybrid, cluster-based model.
Hagit Attiya, Sweta Kumari 0001, Noa Schiller
OPODIS1
2020 Brief Announcement: Collect in the Presence of Continuous Churn with Application to Snapshots and Lattice Agreement
abstract
A popular programming technique that contributes to designing provably-correct distributed applications is to use shared objects for interprocess communication, instead of more low-level techniques. Although shared objects are a convenient abstraction, they are not generally provided in large-scale distributed systems; instead, the processes keep individual copies of the data and communicate by sending messages to keep the copies consistent. Traditional distributed computing considers a static system, with known bounds on the number of fixed computing nodes and the number of possible failures. Dynamic distributed systems allow nodes to enter and leave the system at will, either due to failures and recoveries, moving in the real world, or changes to the systems' composition. Motivating applications include those in peer-to-peer, sensor, mobile, and social networks, as well as server farms.
Hagit Attiya, Sweta Kumari 0001, Archit Somani, Jennifer L. Welch
PODC1
2020 Tracking in Order to Recover - Detectable Recovery of Lock-Free Data Structures
abstract
We present the tracking approach for deriving detectable implementations of many widely-used concurrent data structures for systems with non-volatile main memory (NVRAM). Detectable recovery ensures that in the crash-recovery model, every operation executed during a crash, resumes its execution and returns a correct response, and that the state of the data structure is not corrupted.
Hagit Attiya, Ohad Ben-Baruch, Panagiota Fatourou, Danny Hendler, Eleftherios Kosmas
SPAA1
2020 Store-Collect in the Presence of Continuous Churn with Application to Snapshots and Lattice Agreement
Hagit Attiya, Sweta Kumari 0001, Archit Somani, Jennifer L. Welch
SSS1
2020 Editorial: Special issue of PODC 2017 and DISC 2017
Hagit Attiya
Distributed Comput.1
2019 Putting Strong Linearizability in Context: Preserving Hyperproperties in Programsthat Use Concurrent Objects
abstract
It has been observed that linearizability, the prevalent consistency condition for implementing concurrent objects, does not preserve some probability distributions. A stronger condition, called strong linearizability has been proposed, but its study has been somewhat ad-hoc. This paper investigates strong linearizability by casting it in the context of observational refinement of objects. We present a strengthening of observational refinement, which generalizes strong linearizability, obtaining several important implications. When a concrete concurrent object refining another, more abstract object - often sequential - the correctness of a program employing the concrete object can be verified by considering its behaviors when using the more abstract object. This means that trace properties of a program using the concrete object can be proved by considering the program with the abstract object. This, however, does not hold for hyperproperties, including many security properties and probability distributions of events. We define strong observational refinement, a strengthening of refinement that preserves hyperproperties, and prove that it is equivalent to the existence of forward simulations. We show that strong observational refinement generalizes strong linearizability. This implies that strong linearizability is also equivalent to forward simulation, and shows that strongly linearizable implementations can be composed both horizontally (i.e., locality) and vertically (i.e., with instantiation). For situations where strongly linearizable implementations do not exist (or are less efficient), we argue that reasoning about hyperproperties of programs can be simplified by strong observational refinement of abstract objects that are not necessarily sequential.
Hagit Attiya, Constantin Enea
DISC1
2019 Privatization-Safe Transactional Memories
abstract
Transactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, and would prefer their programs to have a strongly atomic semantics, which allows transactions to be viewed as executing atomically with respect to non-transactional accesses. Since guaranteeing such semantics for arbitrary programs is prohibitively expensive, researchers have suggested guaranteeing it only for certain data-race free (DRF) programs, particularly those that follow the privatization idiom: from some point on, threads agree that a given object can be accessed non-transactionally. In this paper we show that a variant of Transactional DRF (TDRF) by Dalessandro et al. is appropriate for a class of privatization-safe TMs, which allow using privatization idioms. We prove that, if such a TM satisfies a condition we call privatization-safe opacity and a program using the TM is TDRF under strongly atomic semantics, then the program indeed has such semantics. We also present a method for proving privatization-safe opacity that reduces proving this generalization to proving the usual opacity, and apply the method to a TM based on two-phase locking and a privatization-safe version of TL2. Finally, we establish the inherent cost of privatization-safety: we prove that a TM cannot be progressive and have invisible reads if it guarantees strongly atomic semantics for TDRF programs.
Artem Khyzha, Hagit Attiya, Alexey Gotsman
DISC2
2019 Special issue on PODC 2015 and PODC 2016
Hagit Attiya
Distributed Comput.1
2019 Bounds on the Step and Namespace Complexity of Renaming
abstract
The $M(n)$-renaming task requires $n+1$ processes, each starting with a unique input name (from an arbitrary large range), to coordinate the choice of new output names from a range of size $M(n)$. It is known that $2n$-renaming can be solved if and only if $n+1$ is not a prime power. However, the previous proof of solvability was not constructive, involving a complex approximation theorem, and so it did not yield a concrete upper bound on the complexity of the resulting protocol. Here, we present the first upper bound on the step complexity of $2n$-renaming, whenever it is solvable, i.e., when $n+1$ is not a prime power. The paper also presents the first lower bound on the output namespace, showing that if $n+1$ is not a prime power and $n$ is a prime power, then $2n$ is a tight bound on the output namespace for $n+1$ processes.
Hagit Attiya, Armando Castañeda, Maurice Herlihy, Ami Paz
SIAM J. Comput.1
2019 Emulating a Shared Register in a System That Never Stops Changing
abstract
Emulating a shared register can mask the intricacies of designing algorithms for asynchronous message-passing systems subject to crash failures, since it allows them to run algorithms designed for the simpler shared-memory model. Typically such emulations replicate the value of the register in multiple servers and require readers and writers to communicate with a majority of servers. The success of this approach for static systems, where the set of nodes (readers, writers, and servers) is fixed, has motivated several similar emulations for dynamic systems, where nodes may enter and leave. However, existing emulations need to assume that the system eventually stops changing for a long enough period or that the system size is bounded. This paper presents the first emulation of a register supporting any number of readers and writers in a crash-prone system that can withstand nodes continually entering and leaving and imposes no upper bound on the system size. The algorithm works as long as the number of nodes entering and leaving during a fixed time interval is at most a constant fraction of the system size at the beginning of the interval, and as long as the number of crashed nodes in the system is at most a constant fraction of the current system size. The paper includes a lower bound on the fraction of correct nodes that is strictly larger than the fraction sufficient to solve the problem in the static case.
Hagit Attiya, Hyun Chul Chung, Faith Ellen, Saptaparni Kumar, Jennifer L. Welch
IEEE Trans. Parallel Distributed Syst.1
2018 Nesting-Safe Recoverable Linearizability: Modular Constructions for Non-Volatile Memory
abstract
We presents a novel abstract individual-process crash-recovery model for non-volatile memory, which enables modularity, so that complex recoverable objects can be constructed in a modular manner from simpler recoverable base objects. Within the framework of this model, we define nesting-safe recoverable linearizability (NRL) -- a novel correctness condition that captures the requirements for nesting recoverable objects. Informally, NRL allows the recovery code to extend the interval of the failed operation until the recovery code succeeds to complete (possibly after multiple failures and recovery attempts). Unlike previous correctness definitions, the NRL condition implies that, following recovery, an implemented (higher-level) recoverable operation is able to complete its invocation of a base-object operation and obtain its response. We present algorithms for nesting-safe recoverable primitives, namely, recoverable versions of widely-used primitive shared-memory operations such as read, write, test-and-set and compare-and-swap, which can be used to implement higher-level recoverable objects. We then exemplify how these recoverable base objects can be used for constructing a recoverable counter object. Finally, we prove an impossibility result on wait-free implementations of recoverable test-and-set (TAS) objects from read, write and TAS operations, thus demonstrating that our model also facilitates rigorous analysis of the limitations of recoverable concurrent objects.
Hagit Attiya, Ohad Ben-Baruch, Danny Hendler
PODC1
2018 Separating Lock-Freedom from Wait-Freedom
abstract
A long-standing open question has been whether lock-freedom and wait-freedom are fundamentally different progress conditions, namely, can the former be provided in situations where the latter cannot? This paper answers the question in the affirmative, by proving that there are objects with lock-free implementations, but without wait-free implementations-using objects of any finite power. We precisely define an object called n-process long-lived approximate agreement (n-LLAA), in which two sets of processes associated with two sides, 0 or 1, need to decide on a sequence of increasingly closer outputs. We prove that 2-LLAA has a lock-free implementation using reads and writes only, while n-LLAA has a lock-free implementation using reads, writes and (n - 1)-process consensus objects. In contrast, we prove that there is no wait-free implementation of the n-LLAA object using reads, writes and specific (n - 1)-process consensus objects, called (n - 1)-window registers.
Hagit Attiya, Armando Castañeda, Danny Hendler, Matthieu Perrin
PODC1
2018 Safe privatization in transactional memory
abstract
Transactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, e.g., to improve performance or to support legacy code. In this case, programmers would ideally like the TM to guarantee strong atomicity, where transactions can be viewed as executing atomically also with respect to non-transactional accesses. Since guaranteeing strong atomicity for arbitrary programs is prohibitively expensive, researchers have suggested guaranteeing it only for certain data-race free (DRF) programs, particularly those that follow the privatization idiom: from some point on, threads agree that a given object can be accessed non-transactionally. Supporting privatization safely in a TM is nontrivial, because this often requires correctly inserting transactional fences, which wait until all active transactions complete.
Artem Khyzha, Hagit Attiya, Alexey Gotsman, Noam Rinetzky
PPoPP2
2018 Erratum: Limited-Use Atomic Snapshots with Polylogarithmic Step Complexity
James Aspnes, Hagit Attiya, Keren Censor-Hillel, Faith Ellen
J. ACM2
2018 Characterizing Transactional Memory Consistency Conditions Using Observational Refinement
abstract
Transactional memory (TM) facilitates the development of concurrent applications by letting a programmer designate certain code blocks as atomic. The common approach to stating TM correctness is through a consistency condition that restricts the possible TM executions. Unfortunately, existing consistency conditions fall short of formalizing the intuitive semantics of atomic blocks through which programmers use a TM. To close this gap, we formalize programmer expectations as observational refinement between TM implementations. This states that properties of a program using a concrete TM implementation can be established by analyzing its behavior with an abstract TM, serving as a specification of the concrete one. We show that a variant of Transactional Memory Specification (TMS), a TM consistency condition, is equivalent to observational refinement for a programming language where local variables are rolled back upon a transaction abort. We thereby establish that TMS is the weakest acceptable condition for this case. We then propose a new consistency condition, called Strong Transactional Memory Specification (STMS) , and show that it is equivalent to observational refinement for a language where local variables are not rolled back upon aborts. Finally, we show that under certain natural assumptions on TM implementations, STMS is equivalent to a variant of a well-known condition of opacity. Our results suggest a new approach to evaluating TM consistency conditions and enable TM implementors and language designers to make better-informed decisions.
Hagit Attiya, Alexey Gotsman, Sandeep Hans, Noam Rinetzky
J. ACM1
2018 Nontrivial and universal helping for wait-free queues and stacks
Hagit Attiya, Armando Castañeda, Danny Hendler
J. Parallel Distributed Comput.1
2017 Lower Bounds on the Amortized Time Complexity of Shared Objects
abstract
The amortized step complexity of an implementation measures its performance as a whole, rather than the performance of individual operations. Specifically, the amortized step complexity of an implementation is the average number of steps performed by invoked operations, in the worst case, taken over all possible executions. The amortized step complexity of a wide range of known lock- free implementations for shared data structures, like stacks, queues, linked lists, doubly-linked lists and binary trees, includes an additive factor linear in the point contention—the number of processes simultaneously active in the execution. This paper shows that an additive factor, linear in the point contention, is inherent in the amortized step complexity for lock-free implementations of many distributed data structures, including stacks, queues, heaps, linked lists and search trees.
Hagit Attiya, Arie Fouren
OPODIS1
2017 Remote Memory References at Block Granularity
abstract
The cost of accessing shared objects that are stored in remote memory, while neglecting accesses to shared objects that are cached in the local memory, can be evaluated by the number of remote memory references (RMRs) in an execution. Two flavours of this measure—cache-coherent (CC) and distributed shared memory (DSM)—model two popular shared-memory architectures. The number of RMRs, however, does not take into account the granularity of memory accesses, namely, the fact that accesses to the shared memory are performed in blocks. This paper proposes a new measure, called block RMRs, counting the number of remote memory references while taking into account the fact that shared objects can be grouped into blocks. On the one hand, this measure reflects the fact that the RMR incurred for bringing a shared object to the local memory might save another RMR for bringing another object placed at the same block. On the other hand, this measure accounts for false sharing: the fact that an RMR may be incurred when accessing an object due to a concurrent access to another object in the same block. This paper proves that in both the CC and the DSM models, finding an optimal placement is NP-hard when objects have different sizes, even for two processes. In the CC model, finding an optimal placement, i.e., grouping of objects into blocks, is NP-hard when a block can store three objects or more; the result holds even if the sequence of accesses is known in advance. In the DSM model, the answer depends on whether there is an efficient mechanism to inform processes that the data in their local memory is no longer valid, i.e., cache coherence is supported. If coherence is supported with cheap invalidation, then finding an optimal solution is NP-hard. If coherence is not supported, an optimal placement can be achieved by placing each object in the memory of the process that accesses it most often, if the sequence of accesses is known in advance.
Hagit Attiya, Gili Yavneh
OPODIS1
2017 Special issue on DISC 2013, 2014 and PODC 2014
Hagit Attiya
Distributed Comput.1
2017 Poly-logarithmic adaptive algorithms require revealing primitives
Hagit Attiya, Arie Fouren
J. Parallel Distributed Comput.1
2017 Limitations of Highly-Available Eventually-Consistent Data Stores
abstract
Modern replicated data stores aim to provide high availability, by immediately responding to client requests, often by implementing objects that expose concurrency. Such objects, for example, multi-valued registers (MVRs), do not have sequential specifications. This paper explores a recent model for replicated data stores that can be used to precisely specify causalconsistency for such objects, and liveness properties like eventual consistency, without revealing details of the underlying implementation. The model is used to prove the following results: 1) An eventually consistent data store implementing MVRs cannot satisfy a consistency model strictly stronger than observable causal consistency (OCC). OCC is a model somewhat stronger than causal consistency, which captures executions in which client observations can use causality to infer concurrency of operations. This result holds under certain assumptions about the data store. 2) Under the same assumptions, an eventually consistent and causally consistent replicated data store must send messages of size linear in the size of the system: Ifs objects, each Ω(lg k)-bit in size, are supported by n replicas, then there is an execution in which an Ω(min{n, s}lg k)-bit message is sent.
Hagit Attiya, Faith Ellen, Adam Morrison 0001
IEEE Trans. Parallel Distributed Syst.1
2016 Specification and Complexity of Collaborative Text Editing
abstract
Collaborative text editing systems allow users to concurrently edit a shared document, inserting and deleting elements (e.g., characters or lines). There are a number of protocols for collaborative text editing, but so far there has been no precise specification of their desired behavior, and several of these protocols have been shown not to satisfy even basic expectations. This paper provides a precise specification of a replicated list object, which models the core functionality of replicated systems for collaborative text editing. We define a strong list specification, which we prove is implemented by an existing protocol, as well as a weak list specification, which admits additional protocol behaviors.
Hagit Attiya, Sebastian Burckhardt, Alexey Gotsman, Adam Morrison 0001, Hongseok Yang, Marek Zawirski
PODC1
2016 Lower Bound on the Step Complexity of Anonymous Binary Consensus
Hagit Attiya, Ohad Ben-Baruch, Danny Hendler
DISC1
2016 Special issue in memory of Berthold Vöcking
Hagit Attiya
Distributed Comput.1
2016 Counting-based impossibility proofs for set agreement and renaming
Hagit Attiya, Ami Paz
J. Parallel Distributed Comput.1
2016 Lower Bounds for Restricted-Use Objects
abstract
Concurrent objects play a key role in the design of applications for multicore architectures, making it imperative to precisely understand their complexity requirements. For some objects, it is known that implementations can be significantly more efficient when their usage is restricted. However, apart from the specific restriction of one-shot implementations, where each process may apply only a single operation to the object, very little is known about the complexities of objects under general restrictions. This paper draws a more complete picture by defining a large class of objects for which an operation applied to the object can be “perturbed” $L$ consecutive times, and by proving lower bounds on their space complexity and on the time complexity of deterministic implementations of such objects. This class includes bounded-value max registers, limited-use approximate and exact counters, and limited-use collect and compare-and-swap objects; $L$ depends on the number of times the object can be accessed or the maximum value it can support. For $n$-process implementations that use only historyless primitives, we prove $\Omega( \min( L, n ))$ space complexity lower bounds, which hold for both deterministic and randomized implementations. For deterministic implementations, we prove lower bounds of $\Omega(\min(\log L, n))$ on the worst-case step complexity of an operation. When arbitrary primitives can be used, we prove that either some operation incurs $\Omega(\min(\log L, n))$ memory stalls or some operation performs $\Omega(\min(\log L, n))$ steps. In addition to our deterministic time lower bounds, the paper establishes lower bounds on the expected step complexity of restricted-use randomized versions of many of these objects in a weak oblivious adversary model.
James Aspnes, Keren Censor-Hillel, Hagit Attiya, Danny Hendler
SIAM J. Comput.3
2015 Nontrivial and Universal Helping for Wait-Free Queues and Stacks
abstract
A well-known generalization of the consensus problem, namely, set agreement (SA), limits the number of distinct decision values that processes decide. In some settings, it may be more important to limit the number of "disagreers". Thus, we introduce another natural generalization of the consensus problem, namely, bounded disagreement (BD), which limits the number of processes that decide differently from the plurality. More precisely, in a system with n processes, the (n, l)-BD task has the following requirement: there is a value v such that at most l processes (the disagreers) decide a value other than v. Despite their apparent similarities, the results described below show that bounded disagreement, consensus, and set agreement are in fact fundamentally different problems. We investigate the relationship between bounded disagreement, consensus, and set agreement. In particular, we determine the consensus number for every instance of the BD task. We also determine values of n, l, m, and k such that the (n, l)-BD task can solve the (m, k)-SA task (where m processes can decide at most k distinct values). Using our results and a previously known impossibility result for set agreement, we prove that for all n >= 2, there is a BD task (and a corresponding BD object) that has consensus number n but can not be solved using n-consensus and registers. Prior to our paper, the only objects known to have this unusual characteristic for n >= 2 (which shows that the consensus number of an object is not sufficient to fully capture its power) were artificial objects crafted solely for the purpose of exhibiting this behaviour.
Hagit Attiya, Armando Castañeda, Danny Hendler
OPODIS1
2015 Poly-Logarithmic Adaptive Algorithms Require Unconditional Primitives
abstract
This paper studies the step complexity of adaptive algorithms using primitives stronger than reads and writes. We first consider unconditional primitives, like fetch&inc, which modify the value of the register to which they are applied, regardless of its current value. Unconditional primitives admit snapshot algorithms with O(log(k)) step complexity, where k is the total or the point contention. These algorithms combine a renaming algorithm with a mechanism for propagating values so they can be quickly collected. When only conditional primitives, e.g., compare&swap or LL/SC, are used (in addition to reads and writes), we show that any collect algorithm must perform Omega(k) steps, in an execution with total contention k in O(log(log(n))). The lower bound applies for snapshot and renaming, both one-shot and long-lived. Note that there are snapshot algorithms whose step complexity is polylogarithmic in n using only reads and writes, but there are no adaptive algorithms whose step complexity is polylogarithmic in the contention, even when compare&swap and LL/SC are used.
Hagit Attiya, Arie Fouren
OPODIS1
2015 Limitations of Highly-Available Eventually-Consistent Data Stores
abstract
Modern replicated data stores aim to provide high availability, by immediately responding to client requests, often by implementing objects that expose concurrency. Such objects, for example, multi-valued registers (MVRs), do not have sequential specifications. This paper explores a recent model for replicated data stores that can be used to precisely specify causal consistency for such objects, and liveness properties like eventual consistency, without revealing details of the underlying implementation. The model is used to prove the following results: An eventually consistent data store implementing MVRs cannot satisfy a consistency model strictly stronger than observable causal consistency (OCC). OCC is a model somewhat stronger than causal consistency, which captures executions in which client observations can use causality to infer concurrency of operations. This result holds under certain assumptions about the data store. Under the same assumptions, an eventually consistent and causally consistent replicated data store must send messages of unbounded size: If s objects are supported by n replicas, then, for every k > 1, there is an execution in which an Ω({n,s} k)-bit message is sent.
Hagit Attiya, Faith Ellen, Adam Morrison 0001
PODC1
2015 Trading Fences with RMRs and Separating Memory Models
abstract
Out-of-order execution of instructions is a common optimization technique for multicores and multiprocessors, which is governed by the memory model of the architecture. Relatively strong memory models, like TSO (supported by x86 and AMD), only allow reads to bypass earlier writes, while other models, like RMO (supported by ARM, POWER and Alpha) and PSO (supported by older SPARC), also allow the reordering of writes to different locations. These reorderings can be prevented by the use of costly fence instructions.
Hagit Attiya, Danny Hendler, Philipp Woelfel
PODC1
2015 Simulating a Shared Register in an Asynchronous System that Never Stops Changing - (Extended Abstract)
Hagit Attiya, Hyun Chul Chung, Faith Ellen, Saptaparni Kumar, Jennifer L. Welch
DISC1
2015 Limited-Use Atomic Snapshots with Polylogarithmic Step Complexity
abstract
This article presents a novel implementation of a snapshot object for n processes, with O (log 2 b log n ) step complexity for update operations and O (log b ) step complexity for scan operations, where b is the number of updates. The algorithm uses only reads and writes. For polynomially many updates, this is an exponential improvement on previous snapshot algorithms, which have linear step complexity. It overcomes the existing Ω( n ) lower bound on step complexity by having the step complexity depend on the number of updates. The key to this implementation is the construction of a new object consisting of a pair of max registers that supports a scan operation.
James Aspnes, Hagit Attiya, Keren Censor-Hillel, Faith Ellen
J. ACM2
2015 Practically stabilizing SWMR atomic memory in message-passing systems
Noga Alon, Hagit Attiya, Shlomi Dolev, Swan Dubois, Maria Potop-Butucaru, Sébastien Tixeuil
J. Comput. Syst. Sci.2
2014 Concurrent updates with RCU: search tree as an example
abstract
Read copy update (RCU) is a novel synchronization mechanism, in which the burden of synchronization falls completely on the updaters, by having them wait for all pre-existing readers to finish their read-side critical section. This paper presents citrus, a concurrent binary search tree (BST) with a wait-free Contains operation, using RCU synchronization and fine-grained locking for synchronization among updaters. This is the first RCU-based data structure that allows concurrent updaters. While there are methodologies for using RCU to coordinate between readers and updaters, they do not address the issue of coordination among updaters, and indeed, all existing RCU-based data structures rely on coarse-grained synchronization between updaters.
Maya Arbel-Raviv, Hagit Attiya
PODC2
2014 Safety of Live Transactions in Transactional Memory: TMS is Necessary and Sufficient
Hagit Attiya, Alexey Gotsman, Sandeep Hans, Noam Rinetzky
DISC1
2013 Safety of Deferred Update in Transactional Memory
abstract
Transactional memory allows the user to declare sequences of instructions as speculative transactions that can either commit or abort. If a transaction commits, it appears to be executed sequentially, so that the committed transactions constitute a correct sequential execution. If a transaction aborts, none of its instructions can affect other transactions. The popular criterion of opacity requires that the views of aborted transactions must also be consistent with the global sequential order constituted by committed ones. This is believed to be important, since inconsistencies observed by an aborted transaction may cause a fatal irrecoverable error or waste of the system in an infinite loop. Intuitively, an opaque implementation must ensure that no intermediate view a transaction obtains before it commits or aborts can be affected by a transaction that has not started committing yet, so called deferred-update semantics. In this paper, we intend to grasp this intuition formally. We propose a variant of opacity that explicitly requires the sequential order to respect the deferred-update semantics. Unlike opacity, our property also ensures that a serialization of a history implies serializations of its prefixes. Finally, we show that our property is equivalent to opacity if we assume that no two transactions commit identical values on the same variable, and present a counter-example for scenarios when the “unique-write” assumption does not hold.
Hagit Attiya, Sandeep Hans, Petr Kuznetsov, Srivatsan Ravi
ICDCS1
2013 Upper bound on the complexity of solving hard renaming
abstract
The M-renaming task requires n+1 processes, each starting with a unique input name (from an arbitrary large range), to coordinate the choice of new output names from a range of size M. This paper presents the first upper bound on the complexity of hard renaming, i.e., 2n-renaming, when n+1 is not a prime power. It is known that 2n-renaming can be solved if and only if n+1 is not a prime power; however, the previous proof of the "if" part was non-constructive, involving an approximation theorem; in particular, it did not yield a concrete upper bound on the complexity of the resulting protocol.
Hagit Attiya, Armando Castañeda, Maurice Herlihy, Ami Paz
PODC1
2013 A programming language perspective on transactional memory consistency
abstract
Transactional memory (TM) has been hailed as a paradigm for simplifying concurrent programming. While several consistency conditions have been suggested for TM, they fall short of formalizing the intuitive semantics of atomic blocks, the interface through which a TM is used in a programming language.
Hagit Attiya, Alexey Gotsman, Sandeep Hans, Noam Rinetzky
PODC1
2013 An O(1)-barriers optimal RMRs mutual exclusion algorithm: extended abstract
abstract
Mutual exclusion is a fundamental coordination problem. Over the last 20 years, shared-memory mutual exclusion research focuses on local-spin algorithms and uses the remote memory references (RMRs) metric.
Hagit Attiya, Danny Hendler, Smadar Levy
PODC1
2013 Built-in Coloring for Highly-Concurrent Doubly-Linked Lists
Hagit Attiya, Eshcar Hillel
Theory Comput. Syst.1
2013 The Cost of Privatization in Software Transactional Memory
abstract
Software transactional memory (STM) is a promising approach for programming concurrent applications; STM guarantees that a transaction, consisting of a sequence of operations on the memory, appears to execute atomically. In practice, however, it is important to be able to run transactions together with nontransactional legacy code accessing the same memory locations, by supporting privatization of shared data. Privatization should be provided without sacrificing the parallelism offered by today's multicore systems and multiprocessors. This paper proves an inherent cost for supporting privatization, which is linear in the number of privatized items. Specifically, we show that a transaction privatizing k items must have a data set of size at least k, in an STM with invisible reads, which is oblivious to different nonconflicting executions and guarantees progress in such executions. When reads are visible, it is shown that r memory locations must be accessed by a privatizing transaction, where r is the minimum between k, the number of privatized items, and the number of concurrent transactions guaranteed to make progress. This captures, in a concrete and quantitative manner, the tradeoff between the cost of privatization and the level of parallelism offered by the STM.
Hagit Attiya, Eshcar Hillel
IEEE Trans. Computers1
2013 A non-topological proof for the impossibility of k-set agreement
Hagit Attiya, Armando Castañeda
Theor. Comput. Sci.1
2012 Faster than optimal snapshots (for a while): preliminary version
abstract
This paper presents a novel implementation of a snapshot object for n processes, with O(log2blogn) step complexity for update operations and O(logb) step complexity for scan operations, where b is the number of updates. The algorithm uses only reads and writes.
James Aspnes, Hagit Attiya, Keren Censor-Hillel, Faith Ellen
PODC2
2012 Early Deciding Synchronous Renaming in O( logf ) Rounds or Less
Dan Alistarh, Hagit Attiya, Rachid Guerraoui, Corentin Travers
SIROCCO2
2012 Lower bounds for restricted-use objects: extended abstract
abstract
Concurrent objects play a key role in the design of applications for multi-core architectures, making it imperative to precisely understand their complexity requirements. For some objects, it is known that implementations can be significantly more efficient when their usage is restricted. However, apart from the specific restriction of one-shot implementations, where each process may apply only a single operation to the object, very little is known about the complexities of objects under general restrictions.
James Aspnes, Hagit Attiya, Keren Censor-Hillel, Danny Hendler
SPAA2
2012 Counting-Based Impossibility Proofs for Renaming and Set Agreement
Hagit Attiya, Ami Paz
DISC1
2012 Announcement: best reviewer award 2011
Hagit Attiya
Distributed Comput.1
2012 Polylogarithmic concurrent data structures from monotone circuits
abstract
This article presents constructions of useful concurrent data structures, including max registers and counters, with step complexity that is sublinear in the number of processes, n . This result avoids a well-known lower bound by having step complexity that is polylogarithmic in the number of values the object can take or the number of operations applied to it. The key step in these implementations is a method for constructing a max register , a linearizable, wait-free concurrent data structure that supports a write operation and a read operation that returns the largest value previously written. For fixed m , an m -valued max register is constructed from one-bit multi-writer multi-reader registers at a cost of at most ⌈log m ⌉ atomic register operations per write or read. An unbounded max register is constructed with cost O (min(log v , n )) to read or write a value v . Max registers are used to transform any monotone circuit into a wait-free concurrent data structure that provides write operations setting the inputs to the circuit and a read operation that returns the value of the circuit on the largest input values previously supplied. One application is a simple, linearizable, wait-free counter with a cost of O (min(log n log v , n )) to perform an increment and O (min(log v , n )) to perform a read, where v is the current value of the counter. For polynomially-many increments, this becomes O (log 2 n ), an exponential improvement on the best previously known upper bounds of O ( n ) for exact counting and O ( n 4/5+ϵ ) for approximate counting. Finally, it is shown that the upper bounds are almost optimal. It is shown that for deterministic implementations, even if they are only required to satisfy solo-termination, min(⌈log m ⌉, n -1) is a lower bound on the worst-case complexity for an m -valued bounded max register, which is exactly equal to the upper bound for m ≤ 2 n -1 , and min( n -1, ⌈ log m ⌉ - log(⌈ log m ⌉ + k )) is a lower bound for the read operation of an m -valued k -additive-accurate counter, which is a bounded counter in which a read operation is allowed to return a value within an additive error of ± k of the number of increment operations linearized before it. Furthermore, even in a solo-terminating randomized implementation of an n -valued max register with an oblivious adversary and global coins, there exist simple schedules in which, with high probability, the worst-case step complexity of a read operation is Ω(log n /log log n ) if the write operations have polylogarithmic step complexity.
James Aspnes, Hagit Attiya, Keren Censor-Hillel
J. ACM2
2012 Transactional scheduling for read-dominated workloads
Hagit Attiya, Alessia Milani
J. Parallel Distributed Comput.1
2012 A Single-Version STM that Is Multi-Versioned Permissive
Hagit Attiya, Eshcar Hillel
Theory Comput. Syst.1
2011 Laws of order: expensive synchronization in concurrent algorithms cannot be eliminated
abstract
Building correct and efficient concurrent algorithms is known to be a difficult problem of fundamental importance. To achieve efficiency, designers try to remove unnecessary and costly synchronization. However, not only is this manual trial-and-error process ad-hoc, time consuming and error-prone, but it often leaves designers pondering the question of: is it inherently impossible to eliminate certain synchronization, or is it that I was unable to eliminate it on this attempt and I should keep trying?
Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged M. Michael, Martin T. Vechev
POPL1
2011 Pragmatic Self-stabilization of Atomic Memory in Message-Passing Systems
Noga Alon, Hagit Attiya, Shlomi Dolev, Swan Dubois, Maria Potop-Butucaru, Sébastien Tixeuil
SSS2
2011 A Non-topological Proof for the Impossibility of k-Set Agreement
Hagit Attiya, Armando Castañeda
SSS1
2011 Structured Derivation of Semi-Synchronous Algorithms
Hagit Attiya, Fatemeh Borran, Martin Hutle, Zarko Milosevic 0001, André Schiper
DISC1
2011 The complexity of updating snapshot objects
Hagit Attiya, Faith Ellen, Panagiota Fatourou
J. Parallel Distributed Comput.1
2011 Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory
Hagit Attiya, Eshcar Hillel, Alessia Milani
Theory Comput. Syst.1
2011 Highly concurrent multi-word synchronization
Hagit Attiya, Eshcar Hillel
Theor. Comput. Sci.1
2010 The inherent complexity of transactional memory and what to do about it
abstract
This talk overviews some of the lower bounds on the complexity of implementing software transactional memory, and explains their underlying assumptions.
Hagit Attiya
PODC1
2010 Brief announcement: single-version permissive STM
abstract
We present a single-version STM that satisfies a practical notion of permissiveness: it never aborts read-only transactions, and it only aborts an update transaction due to another conflicting update transaction, thereby avoiding many spurious aborts. It avoids unnecessary contention on the memory, being strictly disjoint-access parallel.
Hagit Attiya, Eshcar Hillel
PODC1
2010 Sequential verification of serializability
abstract
Serializability is a commonly used correctness condition in concurrent programming. When a concurrent module is serializable, certain other properties of the module can be verified by considering only its sequential executions. In many cases, concurrent modules guarantee serializability by using standard locking protocols, such as tree locking or two-phase locking. Unfortunately, according to the existing literature, verifying that a concurrent module adheres to these protocols requires considering concurrent interleavings.
Hagit Attiya, G. Ramalingam, Noam Rinetzky
POPL1
2010 Brief announcement: combine -- an improved directory-based consistency protocol
Hagit Attiya, Vincent Gramoli, Alessia Milani
SPAA1
2010 A Provably Starvation-Free Distributed Directory Protocol
Hagit Attiya, Vincent Gramoli, Alessia Milani
SSS1
2010 Fast Randomized Test-and-Set and Renaming
Dan Alistarh, Hagit Attiya, Seth Gilbert, Andrei Giurgiu, Rachid Guerraoui
DISC2
2010 Brief Announcement: Sharing Memory in a Self-stabilizing Manner
Noga Alon, Hagit Attiya, Shlomi Dolev, Swan Dubois, Maria Potop-Butucaru, Sébastien Tixeuil
DISC2
2010 The Cost of Privatization
Hagit Attiya, Eshcar Hillel
DISC1
2010 Transactional Contention Management as a Non-Clairvoyant Scheduling Problem
Hagit Attiya, Leah Epstein, Hadas Shachnai, Tami Tamir
Algorithmica1
2010 Combining shared-coin algorithms
James Aspnes, Hagit Attiya, Keren Censor-Hillel
J. Parallel Distributed Comput.2
2010 Lower Bounds for Randomized Consensus under a Weak Adversary
abstract
This paper studies the inherent trade-off between termination probability and total step complexity of randomized consensus algorithms. It shows that for every integer k, the probability that an f-resilient randomized consensus algorithm of n processes does not terminate with agreement within $k(n-f)$ steps is at least $\frac{1}{c^k}$, for some constant c. A corresponding result is proved for Monte-Carlo algorithms that may terminate in disagreement. The lower bound holds for asynchronous systems, where processes communicate either by message passing or through shared memory, under a very weak adversary that determines the schedule in advance, without observing the algorithm's actions. This complements algorithms of Kapron et al. [Proceedings of the Nineteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), ACM, New York, SIAM, Philadelphia, 2008, pp. 1038–1047] for message-passing systems, and of Aumann [Proceedings of the 16th Annual ACM Symposium on Principles of Distributed Computing (PODC), ACM, New York, 1997, pp. 209–218] and Aumann and Bender [Distrib. Comput., 17 (2005), pp. 191–207] for shared-memory systems.
Hagit Attiya, Keren Censor-Hillel
SIAM J. Comput.1
2010 Packet-Mode Emulation of Output-Queued Switches
abstract
Most common network protocols transmit variable size packets, whereas contemporary switches still operate with fixed- size cells, which are easier to transmit and buffer. This necessitates packet segmentation and reassembly modules, resulting in significant computation and communication overhead that might be too costly as switches become faster and bigger. It is, therefore, imperative to investigate an alternative mode of scheduling in which packets are scheduled contiguously over the switch fabric. This paper investigates the cost of packet-mode scheduling for the combined input-output-queued (CIOQ) switch architecture. We devise frame-based schedulers that allow a packet-mode CIOQ switch with small speedup to mimic an ideal output-queued switch, with bounded relative queuing delay. The schedulers are pipelined and based on matrix decomposition. Our schedulers demonstrate a trade-off between the switch speedup and the relative queuing delay incurred while mimicking an output-queued switch. When the switch is allowed to incur high relative queuing delay, a speedup arbitrarily close to two suffices to mimic an ideal output-queued switch. This implies that packet-mode scheduling does not require higher speedup than a cell-based scheduler. The relative queuing delay can be significantly reduced with just a doubling of the speedup. We further show that it is impossible to achieve zero relative queuing delay (that is, a perfect emulation), regardless of the switch speedup. In addition, simpler algorithms can mimic an output-queued switch with a bounded buffer size, using speedup arbitrarily close to one. Simulations confirm that packet-mode emulation with reasonable relative queuing delay can be achieved with moderate speedup. Furthermore, a simple and practical heuristic is shown by simulations to also provide effective packet-mode emulation.
Hagit Attiya, David Hay, Isaac Keslassy
IEEE Trans. Computers1
2010 Efficient and Robust Local Mutual Exclusion in Mobile Ad Hoc Networks
abstract
In a mobile ad hoc network, nodes that are geographically close may need to compete for exclusive access to a shared resource. This paper proposes an abstraction of this problem, called local mutual exclusion; it is an extension to mobile networks of the dining philosophers problem, which has been well studied in static networks. The desirable feature of an algorithm for this problem is having response time and failure locality independent of the total number of nodes, thus providing a scalable and robust solution. The paper presents two algorithms, exhibiting trade-offs between simplicity, failure locality and response time. The first algorithm has two variations, one of which has response time that depends very weakly on the number of nodes in the entire system and is polynomial in the maximum number of neighboring nodes; the failure locality, although not optimal, is small and grows very slowly with system size. The second algorithm has optimal failure locality and response time that is quadratic in the number of nodes. A pleasing aspect of the latter algorithm is that when nodes do not move, it has linear response time, improving on previous results for static algorithms with optimal failure locality.
Hagit Attiya, Alex Kogan, Jennifer L. Welch
IEEE Trans. Mob. Comput.1
2010 Time and Space Lower Bounds for Implementations Using k-CAS
abstract
This paper presents lower bounds on the time and space complexity of implementations that use k-compare&swap (k-CAS) synchronization primitives. We prove that using k-CAS primitives can improve neither the time nor the space complexity of implementations of widely used concurrent objects, such as counter, stack, queue, and collect. Surprisingly, overly restrictive use of k-CAS may even increase the space complexity required by such implementations. We prove a lower bound of \Omega (\log_2 n) on the round complexity of implementations of a collect object using read, write, and k-CAS, for any k, where n is the number of processes in the system. There is an implementation of collect with O(\log_2 n) round complexity that uses only reads and writes. Thus, our lower bound establishes that k-CAS is no stronger than read and write for collect implementation round complexity. For k-CAS operations that return the values of all the objects they access, we prove that the total step complexity of implementing key objects such as counters, stacks, and queues is \Omega (n \log_k n). We also prove that k-CAS cannot improve the space complexity of implementing many objects (including counter, stack, queue, and single-writer snapshot). An implementation has to use at least n base objects even if k-CAS is allowed, and if all operations (other than read) swap exactly k base objects, then it must use at least k \cdot n base objects.
Hagit Attiya, Danny Hendler
IEEE Trans. Parallel Distributed Syst.1
2009 Transactional Scheduling for Read-Dominated Workloads
Hagit Attiya, Alessia Milani
OPODIS1
2009 Max registers, counters, and monotone circuits
abstract
A method is given for constructing a max register, a linearizable, wait-free concurrent data structure that supports a write operation and a read operation that returns the largest value previously written. For fixed m, an m-valued max register can be constructed from one-bit multi-writer multi-reader registers at a cost of at most [lg m] atomic register operations per write or read. The construction takes the form of a binary search tree: applying classic techniques for building unbalanced search trees gives an unbounded max register with cost O(min(log v, n)) to read or write a value v, where n is the number of processes.
James Aspnes, Hagit Attiya, Keren Censor-Hillel
PODC2
2009 Inherent limitations on disjoint-access parallel implementations of transactional memory
abstract
Transactional memory (TM) is a promising approach for designing concurrent data structures, and it is essential to develop better understanding of the formal properties that can be achieved by TM implementations. Two fundamental properties of TM implementations are disjoint-access parallelism, which is critical for their scalability, and the invisibility of read operations, which reduces memory contention.
Hagit Attiya, Eshcar Hillel, Alessia Milani
SPAA1
2009 Brief Announcement: Transactional Scheduling for Read-Dominated Workloads
Hagit Attiya, Alessia Milani
DISC1
2009 Editorial: It's all about change
Hagit Attiya
Distributed Comput.1
2009 The complexity of obstruction-free implementations
abstract
Obstruction-free implementations of concurrent objects are optimized for the common case where there is no step contention , and were recently advocated as a solution to the costs associated with synchronization without locks. In this article, we study this claim and this goes through precisely defining the notions of obstruction-freedom and step contention. We consider several classes of obstruction-free implementations, present corresponding generic object implementations, and prove lower bounds on their complexity. Viewed collectively, our results establish that the worst-case operation time complexity of obstruction-free implementations is high, even in the absence of step contention. We also show that lock-based implementations are not subject to some of the time-complexity lower bounds we present.
Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov
J. ACM1
2008 Efficient and Robust Local Mutual Exclusion in Mobile Ad Hoc Networks
abstract
This paper presents two algorithms for the local mutual exclusion problem, an extension of the dining philosophers problem for mobile ad hoc networks. A solution to this problem allows nodes that are currently geographically close to obtain exclusive access to a resource. The algorithms exhibit different tradeoffs between response time and failure locality (the size of the neighborhood adversely affected by a node crash). The first algorithm has two variations, one of which has response time that depends very weakly on the number of nodes in the entire system and is polynomial in the maximum number of neighboring nodes; the failure locality, although not optimal, is small and grows very slowly with system size. The second algorithm has optimal failure locality and response time that is quadratic in the number of nodes. A pleasing aspect of this algorithm is that, when run in a system with no node movement, it has linear response time, improving on previous results for static algorithms with optimal failure locality.
Hagit Attiya, Alex Kogan, Jennifer L. Welch
ICDCS1
2008 Randomized consensus in expected O(n log n) individual work
abstract
This paper presents a new randomized algorithm for achieving consensus among asynchronous processes that communicate by reading and writing shared registers, in the presence of a strong adversary. The fastest previously known algorithm requires a process to perform an expected O(n log2 n) read and write operations in the worst case. In our algorithm, each process executes at most an expected O(n log n) read and write operations. It is shown that shared-coin algorithms can be combined together to yield an algorithm with O(n log n) individual work and O(n2) total work.
James Aspnes, Hagit Attiya, Keren Censor-Hillel
PODC2
2008 Lower bounds for randomized consensus under a weak adversary
abstract
This paper studies the inherent trade-off between termination probability and total step complexity of randomized consensus algorithms. It shows that for every integer k, the probability that an f-resilient randomized consensus algorithm of n processes does not terminate with agreement within k(n-f) steps is at least 1/ck, for some constant c.
Hagit Attiya, Keren Censor-Hillel
PODC1
2008 Tight RMR lower bounds for mutual exclusion and other problems
abstract
We investigate the remote memory references (RMRs) complexity of deterministic processes that communicate by reading and writing shared memory in asynchronous cache-coherent and distributed shared-memory multiprocessors.
Hagit Attiya, Danny Hendler, Philipp Woelfel
PODC1
2008 A world of (Im) possibilities
abstract
One of Nancy Lynch's most important contributions to distributed computing is the area of lower bounds and impossibility results. She and her colleagues pioneered the use of formal modeling of distributed systems, which is essential for rigorous impossibility results, and developed many of the techniques used in such proofs, e.g., covering, valency, chains, and shifting. Impossibility results are as crucial to the development of the field as are algorithms, since they indicate inherent limits of certain directions and thus point us in more fruitful directions. This talk will overview of some of Nancy Lynch's most influential impossibility results, explain their impact on the field, and attempt to give a "family tree" representing what results led to others. We will focus on the meaning and practical implications of the results, rather than the technical details.
Hagit Attiya, Jennifer L. Welch
PODC1
2008 Partial snapshot objects
abstract
We introduce a generalization of the atomic snapshot object, which we call the partial snapshot object. This object stores a vector of values. Processes may write components of the vector individually or atomically scan any subset of the components. We investigate implementations of the latter partial scan operation that are more efficient than the complete scans of traditional snapshot objects. We present an algorithm that is based on a new implementation of the active set abstraction, which may be of independent interest.
Hagit Attiya, Rachid Guerraoui, Eric Ruppert
SPAA1
2008 Tight rmr lower bounds for mutual exclusion and other problems
abstract
We investigate the remote memory references (RMRs) complexity of deterministic processes that communicate by reading and writing shared memory in asynchronous cache-coherent and distributed shared-memory multiprocessors. We define a class of algorithms that we call order encoding. By applying information-theoretic arguments, we prove that every order encoding algorithm, shared by n processes, has an execution that incurs Ω(n log n) RMRs. From this we derive the same lower bound for the mutual exclusion, bounded counter and store/collect synchronization problems. The bounds we obtain for these problems are tight. It follows from the results of [10] that our lower bounds hold also for algorithms that can use comparison primitives and load-linked/store-conditional in addition to reads and writes. Our mutual exclusion lower bound proves a longstanding conjecture of Anderson and Kim.
Hagit Attiya, Danny Hendler, Philipp Woelfel
STOC1
2008 Tight bounds for asynchronous randomized consensus
abstract
A distributed consensus algorithm allows n processes to reach a common decision value starting from individual inputs. Wait-free consensus, in which a process always terminates within a finite number of its own steps, is impossible in an asynchronous shared-memory system. However, consensus becomes solvable using randomization when a process only has to terminate with probability 1. Randomized consensus algorithms are typically evaluated by their total step complexity , which is the expected total number of steps taken by all processes. This article proves that the total step complexity of randomized consensus is Θ( n 2 ) in an asynchronous shared memory system using multi-writer multi-reader registers. This result is achieved by improving both the lower and the upper bounds for this problem. In addition to improving upon the best previously known result by a factor of log 2 n , the lower bound features a greatly streamlined proof. Both goals are achieved through restricting attention to a set of layered executions and using an isoperimetric inequality for analyzing their behavior. The matching algorithm decreases the expected total step complexity by a log n factor, by leveraging the multi-writing capability of the shared registers. Its correctness proof is facilitated by viewing each execution of the algorithm as a stochastic process and applying Kolmogorov's inequality.
Hagit Attiya, Keren Censor-Hillel
J. ACM1
2008 Randomization Does Not Reduce the Average Delay in Parallel Packet Switches
abstract
Switching cells in parallel is a common approach to building switches with very high external line rates and a large number of ports. A prime example is the parallel packet switch (PPS) in which a demultiplexing algorithm sends cells, arriving at rate R on N input-ports, through one of K intermediate slower switches, operating at rate $r
Hagit Attiya, David Hay
SIAM J. Comput.1
2007 The complexity of updating multi-writer snapshot objects
abstract
This paper proves Ω(m) lower bounds on the step complexity of UPDATE operations for partitioned implementations of m-component multi-writer snapshot objects from base objects of any type. These are implementations in which each base object is only modifed by processes performing UPDATE operations to one specific component. In particular, we show that any space-optimal implementation of a multi-writer snapshot object from historyless objects is partitioned. This work extends a similar lower bound by Israeli and Shirazi for implementations of m-component single-writer snapshot objects from single-writer registers.
Hagit Attiya, Faith Ellen, Panagiota Fatourou
PODC1
2007 The power of DCAS: highly-concurrent software transactional memory
abstract
LSTM (local software transactional memory) is the first nonblocking implementation of dynamic software transactional memory with O(k)-local step complexity and contention, where k is the size of the operation's data set.
Hagit Attiya, Eshcar Hillel
PODC1
2007 Tight bounds for asynchronous randomized consensus
abstract
A distributed consensus algorithm allows n processes to reach acommon decision value starting from individual inputs. Wait-free consensus, in which a process always terminates within a finite number of its own steps, is impossible in anasynchronous shared-memory system. However, consensus becomes solvable using randomization when a process only has to terminatewith probability 1. Randomized consensus algorithms are typically evaluated by their total step complexity, which is the expected total number of steps taken by all processes.
Hagit Attiya, Keren Censor-Hillel
STOC1
2006 Transactional contention management as a non-clairvoyant scheduling problem
abstract
The transactional approach to contention management guarantees atomicity by making sure that whenever two transactions have a conflict on a resource, only one of them proceeds. A major challenge in implementing this approach lies in guaranteeing progress, since transactions are often restarted.Inspired by the paradigm of non-clairvoyant job scheduling, we analyze the performance of a contention manager by comparison with an optimal, clairvoyant contention manager that knows the list of resource accesses that will be performed by each transaction, as well as its release time and duration. The realistic, non-clairvoyant contention manager is evaluated by the competitive ratio between the last completion time (makespan) it provides and the makespan provided by an optimal contention manager.Assuming that the amount of exclusive accesses to the resources is non-negligible, we present a simple proof that every work conserving contention manager guaranteeing the pending commit property achieves an O(s) competitive ratio, where s is the number of resources. This bound holds for the GREEDY contention manager studied by Guerraoui et al. [2] and is a significant improvement over the O(s2) bound they prove for the competitive ratio of GREEDY. We show that this bound is tight for any deterministic contention manager, and under certain assumptions about the transactions, also for randomized contention managers.When transactions may fail, we show that a simple adaptation of GREEDY has a competitive ratio of at most O(ks), assuming that a transaction may fail at most k times. If a transaction can modify its resource requirements when re-invoked, then any deterministic algorithm has a competitive ratio Ω(ks). For the case of unit length jobs, we give (almost) matching lower and upper bounds.
Hagit Attiya, Leah Epstein, Hadas Shachnai, Tami Tamir
PODC1
2006 Synchronizing without locks is inherently expensive
abstract
It has been considered bon ton to blame locks for their fragility, especially since researchers identified obstruction-freedom: a progress condition that precludes locking while being weak enough to raise the hope for good performance. This paper attenuates this hope by establishing lower bounds on the complexity of obstructionfree implementations in contention-free executions: those where obstruction-freedom was precisely claimed to be effective. Through our lower bounds, we argue for an inherent cost of concurrent computing without locks. We first prove that obstruction-free implementations of a large class of objects, using only overwriting or trivial primitives in contention-free executions, have ­Omega(n) space complexity and ­Omega(log^2 n) (obstruction-free) step complexity. These bounds apply to implementations of many popular objects, including variants of fetch&add, counter, compare&swap, and LL/SC. When arbitrary primitives can be applied in contention-free executions, we show that, in any implementation of binary consensus, or any perturbable object, the number of distinct base objects accessed and memory stalls incurred by some process in a contention free execution is ­Omega(sqrt{n}). All these results hold regardless of the behavior of processes after they become aware of contention. We also prove that, in any obstruction-free implementation of a perturbable object in which processes are not allowed to fail their operations, the number of memory stalls incurred by some process that is unaware of contention is ­Omega(n).
Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov
PODC1
2006 Adapting to Point Contention with Long-Lived Safe Agreement
Hagit Attiya
SIROCCO1
2006 Packet-mode emulation of output-queued switches
abstract
Most common network protocols (e.g., the Internet Protocol) work with variable size packets, whereas contemporary switches still operate with fixed size cells, which are easier to transmit and buffer. This necessitates packet segmentation and reassembly modules, resulting in significant computation and communication overhead that might be too costly as switches become faster and bigger. It is therefore imperative to investigate an alternative mode of scheduling, in which packets are scheduled contiguously over the switch fabric.This paper investigates the cost of packet-mode scheduling for the combined input output queued (CIOQ) switch architecture.We devise frame-based schedulers that allow a packetmode CIOQ switch with small speedup to mimic an ideal output-queued switch with bounded relative queuing delay. The schedulers are pipelined and are based on matrix decomposition.Our schedulers demonstrate a trade-off between the switch speedup and the relative queuing delay incurred while mimicking an output-queued switch. When the switch is allowed to incur high relative queuing delay, a speedup arbitrarily close to 2 suffices to mimic an ideal output-queued switch. This implies that packet-mode scheduling does not require higher speedup than a cell-based scheduler. The relative queuing delay can be significantly reduced with just a doubling of the speedup. We further show that it is impossible to achieve zero relative queuing delay (that is, a perfect emulation), regardless of the switch speedup.Finally, we show that a speedup arbitrarily close to 1 suffices to mimic an output-queued switch with a bounded buffer size.
Hagit Attiya, David Hay, Isaac Keslassy
SPAA1
2006 Built-In Coloring for Highly-Concurrent Doubly-Linked Lists
Hagit Attiya, Eshcar Hillel
DISC1
2006 Efficient adaptive collect using randomization
Hagit Attiya, Fabian Kuhn, C. Greg Plaxton, Mirjam Wattenhofer, Roger Wattenhofer
Distributed Comput.1
2006 The Inherent Queuing Delay of Parallel Packet Switches
abstract
The parallel packet switch (PPS) extends the inverse multiplexing architecture and is widely used as the core of contemporary commercial switches. This paper investigates the inherent queuing delay introduced by the PPS's demultiplexing algorithm, responsible for dispatching cells to the middle-stage switches, relative to an optimal work-conserving switch. We first consider an N times N PPS without buffers in its input ports, operating at external rate R, internal rate r < R, and speedup (or overcapacity) S. We show that the inherent queuing delay of a symmetric and fault-tolerant PPS, where every demultiplexer may dispatch cells to all middle-stage switches, is Omega(N R/r) if no information is shared between the input ports. Sharing information between the input ports significantly reduces this lower bound, even if the information is outdated. These lower bounds indicate that employing algorithms using slightly out-of-date information may greatly improve the PPS performance. When the PPS has buffers in its input ports, an Omega(N/S) lower bound holds if the demultiplexing algorithm uses only local information or the input buffers are small relative to the time an input port needs to learn the switch global information
Hagit Attiya, David Hay
IEEE Trans. Parallel Distributed Syst.1
2005 Optimal Clock Synchronization Under Energy Constraints in Wireless Ad-Hoc Networks
Hagit Attiya, David Hay, Jennifer L. Welch
OPODIS1
2005 Randomization does not reduce the average delay in parallel packet switches
abstract
Switching cells in parallel is a common approach to build switches with very high external line rate and a large number of ports. A prime example is the parallel packet switch (in short, PPS) in which a demultiplexing algorithm sends cells, arriving at rate R on N input-ports, through one of K intermediate slower switches, operating at rate r
Hagit Attiya, David Hay
SPAA1
2005 Computing with Reads and Writes in the Absence of Step Contention
Hagit Attiya, Rachid Guerraoui, Petr Kuznetsov
DISC1
2005 Time and Space Lower Bounds for Implementations Using k-CAS
Hagit Attiya, Danny Hendler
DISC1
2004 Lower bounds for adaptive collect and related objects
abstract
An adaptive algorithm, whose step complexity adjusts to the number of active processes, is attractive for situations in which the number of participating processes is highly variable. This paper studies the number and type of multi-writer registers that are needed for adaptive algorithms. We prove that if a collect algorithm is f -adaptive to total contention, namely, its step complexity is f(k), where k is the number of processes that ever took a step, then it uses Ω(f-1(n) multi-writer registers, where n is the total number of processes in the system.Furthermore, we show that competition for the underlying registers is inherent for adaptive collect algorithms. We consider c-write registers, to which at most c processes can be concurrently about to write. Special attention is given to exclusive-write registers, the case c=1 where no competition is allowed, and concurrent-write registers, the case c=n where any amount of competition is allowed. A collect algorithm is f-adaptive to point contention, if its step complexity is f(k), where k is the maximum number of simultaneously active processes. Such an algorithm is shown to require Ω(f-1 (n c)) concurrent-write registers, even if an unlimited number of c-write registers are available. A smaller lower bound is also obtained in this situation for collect algorithms that are f-adaptive to total contention.The lower bounds also hold for nondeterministic implementations of sensitive objects from historyless objects.Finally, we present lower bounds on the step complexity in solo executions (i.e., without any contention), when only c-write registers are used: For weak test&set objects, we present an Ω(log n log c +log log n) lower bound. Our lower bound for collect and sensitive objects is Ω(n-1 c).
Hagit Attiya, Faith Ellen, Yaniv Kaplan
PODC1
2004 The inherent queuing delay of parallel packet switches
abstract
The parallel packet switch (PPS) is extensively used as the core of contemporary commercial switches. This paper investigates the inherent queuing delay and delay jitter introduced by the PPS's demultiplexing algorithm, relative to an optimal work-conserving switch.We show that the inherent queuing delay and delay jitter of a symmetric and fault-tolerant N x N PPS, where every demultiplexing algorithm dispatches cells to all the middle-stage switches is Ω(N), if there are no buffers in the PPS input-ports. If the demultiplexing algorithms dispatch cells only to part of the middle-stage switches, the queuing delay and delay jitter are Ω(N/S), where S is the PPS speedup. These lower bounds hold unless the demultiplexing algorithm has full and immediate knowledge of the switch status. When the PPS has buffers in its input-ports, an Ω(N/S) lower bound holds if the demultiplexing algorithm uses only local information, or the input buffers are small relative to the time an input-port needs to learn the switch global information.
Hagit Attiya, David Hay
SPAA1
2004 Efficient Adaptive Collect Using Randomization
Hagit Attiya, Fabian Kuhn, Mirjam Wattenhofer, Roger Wattenhofer
DISC1
2004 Tight bounds for FEC-based reliable multicast
Hagit Attiya, Hadas Shachnai
Inf. Comput.1
2004 Quantifying rollback propagation in distributed checkpointing
Adnan Agbaria, Hagit Attiya, Roy Friedman 0001, Roman Vitenberg
J. Parallel Distributed Comput.2
2003 Sharing Memory with Semi-Byzantine Clients and Faulty Storage Servers
abstract
This paper presents several fault-tolerant simulations of a single-writer multi-reader regular register in storage systems. One simulation tolerates fail-stop failures of storage servers and require a majority of nonfaulty servers, while the other simulation tolerates Byzantine failures and requires that two-thirds of the servers to be nonfaulty. A construction of Afek et al.(1995) is used to mask semi-Byzantine failures of clients that result in erroneous write operations. The simulations are used to derive Paxos algorithms that tolerate semi-Byzantine failures of clients as well as failstop or Byzantine failures of storage servers.
Hagit Attiya, Amir Bar-Or
SRDS1
2003 Introduction
Hagit Attiya, Sergio Rajsbaum
Distributed Comput.1
2003 Algorithms adapting to point contention
abstract
This article introduces the sieve , a novel building block that allows to adapt to the number of simultaneously active processes (the point contention ) during the execution of an operation. We present an implementation of the sieve in which each sieve operation requires O ( k log k ) steps, where k is the point contention during the operation.The sieve is the cornerstone of the first wait-free algorithms that adapt to point contention using only read and write operations. Specifically, we present efficient algorithms for long-lived renaming, timestamping and collecting information.
Hagit Attiya, Arie Fouren
J. ACM1
2003 Information-Flow Models for Shared Memory with an Application to the PowerPC Architecture
abstract
This paper introduces a generic framework for defining instructions, programs, and the semantics of their instantiation by operations in a multiprocessor environment. The framework captures information flow between operations in a multiprocessor program by means of a reads-from mapping from read operations to write operations. Two fundamental relations are defined on the operations: a program order between operations which instantiate the program of some processor and view orders which are specific to each shared memory model. An operation cannot read from the "hidden" pastor from the future; the future and the past causality can be examined either relative to the program order or relative to the view orders. A shared memory model specifies, for a given program, the permissible transformation of resource states. The memory model should reflect the programmer's view by citing the guaranteed behavior of the multiprocessor in the interface visible to the programmer. The model should retrain from dictating the design practices that should be followed by the implementation. Our framework allows an architect to reveal the programming view induced by a shared-memory architecture; it serves programmers exploring the limits of the programming interface and guides architecture-level verification. The framework is applicable for complex, commercial architectures as it can capture subtle programming-interface details, exposing the underlying aggressive microarchitecture mechanisms. As an illustration, we define the shared memory model supported by the PowerPC architecture, within our framework.
Allon Adir, Hagit Attiya, Gil Shurek
IEEE Trans. Parallel Distributed Syst.2
2002 Wait-Free n-Set Consensus When Inputs Are Restricted
Hagit Attiya, Zvi Avidor
DISC1
2002 Adaptive and efficient mutual exclusion
Hagit Attiya, Vita Bortnikov
Distributed Comput.1
2002 An adaptive collect algorithm with applications
Hagit Attiya, Arie Fouren, Eli Gafni
Distributed Comput.1
2002 Computing in Totally Anonymous Asynchronous Shared Memory Systems
Hagit Attiya, Alla Gorbach, Shlomo Moran
Inf. Comput.1
2002 The Combinatorial Structure of Wait-Free Solvable Tasks
abstract
This paper presents a self-contained study of wait-free solvable tasks. A new necessary condition for wait-free solvability, based on a restricted set of executions, is proved. This set of executions induces a very simple-to-understand structure, which is used to prove tight bounds for k-set consensus and renaming. The framework is based on topology, but uses only elementary combinatorics, and, in contrast to previous works, does not rely on algebraic or geometric arguments.
Hagit Attiya, Sergio Rajsbaum
SIAM J. Comput.1
2001 Quantifying Rollback Propagation in Distributed Checkpointing
abstract
Proposes a new classification of executions with checkpoints that is based on the notion of k-rollback, indicating the maximal number of checkpoints that may need to be rolled back during recovery. The relation between known execution classes is explored, and it is shown that coordinated checkpointing, SZPF (strictly Z-path free) and ZPF (Z-path free) are 1-rollback mechanisms, while ZCF (Z-cycle free) is (n-1)-rollback, where n is the number of participants in an execution. A new class of executions, called d-BC (d-bounded cycles), is introduced, and is shown to be an [(n-1)/spl middot/d]-rollback mechanism (ZCF is a special case of d-BC for d=1). Finally, a d-BC protocol is presented. This protocol has the nice property that it does not impose any control information overhead on an application's messages, yet it only sends a few control messages of its own. Moreover, the protocol maintains information about recovery lines, which enables very efficient discovery of the most recent recovery line that existed a short time before the failure.
Adnan Agbaria, Hagit Attiya, Roy Friedman 0001, Roman Vitenberg
SRDS2
2001 Improved implementations of binary universal operations
abstract
We present an algorithm for implementing binary operations (of any type) from unary load-linked (LL) and store-conditional (SC) operations. The performance of the algorithm is evaluated according to its sensitivity , measuring the distance between operations in the graph induced by conflicts, which guarantees that they do not influence the step complexity of each other. The sensitivity of our implementation is O (log * n ), where n is the number of processors in the system. That is, operations that are Ω(log * n ) apart in the graph induced by conflicts do not delay each other. Constant sensitivity is achieved for operations used to implement heaps and array-based linked lists.We also prove that there is a problem which can be solved in O (1) steps using binary LL/SC operations, but requires O (log log * n ) operations if only unary LL/SC operations are used. This indicates a non-constant gap between unary and binary, LL/SC operations.
Hagit Attiya, Eyal Dagan
J. ACM1
2001 Time Bounds for Decision Problems in the Presence of Timing Uncertainty and Failures
Hagit Attiya, Taly Djerassi-Shintel
J. Parallel Distributed Comput.1
2001 Adaptive and Efficient Algorithms for Lattice Agreement and Renaming
abstract
In a shared-memory system, n independent asynchronous processes, with distinct names in the range {0, ..., N-1}, communicate by reading and writing to shared registers. An algorithm is wait-free if a process completes its execution regardless of the behavior of other processes. This paper considers wait-free algorithms whose complexity adjusts to the level of contention in the system: An algorithm is adaptive (to total contention) if its step complexity depends only on the actual number of active processes, k; this number is unknown in advance and may change in different executions of the algorithm. Adaptive algorithms are presented for two important decision problems, lattice agreement and (6k-1)-renaming; the step complexity of both algorithms is O(k log k). An interesting component of the (6k-1)-renaming algorithm is an O(N) algorithm for (2k-1)-renaming; this improves on the best previously known (2k-1)-renaming algorithm, which has O(Nnk) step complexity. The efficient renaming algorithm can be modified into an O(N) implementation of atomic snapshots using dynamic single-writer multi-reader registers. The best known implementations of atomic snapshots have step complexity O(N log N) using static single-writer multi-reader registers, and O(N) using multi-writer multi-reader registers.
Hagit Attiya, Arie Fouren
SIAM J. Comput.1
2000 Adaptive and efficient mutual exclusion (extended abstract)
abstract
A distributed algorithm is adaptive if its performance depends on k, the number of processes that are concurrently active during the algorithm execution (rather than on n, the total number of processes). This paper presents adaptive algorithm for mutual exclusion using only read and write operations.
Hagit Attiya, Vita Bortnikov
PODC1
2000 Polynominal and Adaptive Long-Lived (2k-1)-Renaming
Hagit Attiya, Arie Fouren
DISC1
1999 Long-Lived Renaming Made Adaptive
Yehuda Afek, Hagit Attiya, Arie Fouren, Gideon Stupp, Dan Touitou
PODC2
1999 Local Labeling and Resource Allocation Using Preprocessing
abstract
This paper studies the power of nonrestricted preprocessing on a communication graph G, in a synchronous, reliable system. In our scenario, arbitrary preprocessing can be performed on G, after which a sequence of labeling problems has to be solved on different subgraphs of G. We suggest a preprocessing that produces an orientation of G. The goal is to exploit this preprocessing for minimizing the radius of the neighborhood around each vertex from which data has to be collected in order to determine a label. We define a set of labeling problems for which this can be done. The time complexity of labeling a subgraph depends on the topology of the graph G and is always less than $\min\{\chi(G), O((\log n)^{2})\}$. On the other hand, we show the existence of a graph for which even unbounded preprocessing does not allow fast solution of a simple labeling problem. Specifically, it is shown that a processor needs to know its $\Omega(\log n / \log \log n)$-neighborhood in order to pick a label. Finally, we derive some results for the resource allocation problem. In particular, we show that $\Omega(\log n / \log \log n)$ communication rounds are needed if resources are to be fully utilized. In this context, we define the compact coloring problem, for which the orientation preprocessing provides fast distributed labeling algorithm. This algorithm suggests efficient solution for the resource allocation problem.
Hagit Attiya, Hadas Shachnai, Tami Tamir
SIAM J. Comput.1
1998 A Direct Lower Bound for k-Set Consensus
Hagit Attiya
PODC1
1998 Adaptive Wait-Free Algorithms for Lattice Agreement and Renaming (Extended Abstract)
abstract
) Hagit Attiya and Arie Fouren Department of Computer Science The Technion, Haifa 32000, Israel Abstract This paper considers wait-free algorithms whose complexity is constant in the absence of contention, and grows gradually as the number of active processes increases. An algorithm is fast if its complexity depends on the maximal number of active processes, K, and not on the total number of processes in the system, n. An algorithm is adaptive if its complexity depends only on the actual number of active processes, k, which is unknown in advance and may change in different executions of the algorithm. It is shown that two important decision problems, lattice agreement and renaming with linear name space, have adaptive solutions using only read and write operations. An O(k log k) adaptive algorithm for lattice agreement and an O(k log k) adaptive algorithm for (6k \\Gamma 1)-renaming are presented. These algorithms are constructed from several subalgorithms, which are interesting in t...
Hagit Attiya, Arie Fouren
PODC1
1998 Computing in Totally Anonymous Asynchronous Shared Memory Systems
Hagit Attiya, Alla Gorbach, Shlomo Moran
DISC1
1998 Shared Memory Consistency Conditions for Nonsequential Execution: Definitions and Programming Strategies
abstract
To enhance performance on shared memory multiprocessors, various techniques have been proposed to reduce the latency of memory accesses, including pipelining of accesses, out-of-order execution of accesses, and branch prediction with speculative execution. These optimizations can, however, complicate the user's model of memory. This paper attacks the problem of simplifying programming on two fronts. First, a general framework is presented for defining shared memory consistency conditions that allows nonsequential execution of memory accesses. The interface at which conditions are defined is between the program and the system and is architecture-independent. The framework is used to generalize three consistency conditions---sequential consistency, hybrid consistency, and weak consistency---for nonsequential execution. Thus, familiar consistency conditions can be precisely specified even in optimized architectures. Second, three techniques are described for structuring programs so that a shared memory that provides the weaker (and more efficient) condition of hybrid consistency appears to guarantee the stronger (and more costly) condition of sequential consistency. The benefit of these techniques is that sequentially consistent executions are easier to reason about. The first technique statically classifies accesses based on their type. This approach is extremely simple to use and leads to a general technique for writing efficient synchronization code. The third technique is to avoid data races in the program, which was previously studied in a somewhat different setting. Precise, yet short and comprehensible, proofs are provided for the correctness of the programming techniques. Such proofs shed light on the reasons these techniques work; we believe that the insight gained can lead to the development of other techniques.
Hagit Attiya, Soma Chaudhuri, Roy Friedman 0001, Jennifer L. Welch
SIAM J. Comput.1
1998 A Correctness Condition for High-Performance Multiprocessors
abstract
Hybrid consistency, a consistency condition for shared memory multiprocessors, attempts to capture the guarantees provided by contemporary high-performance architectures. It combines the expressiveness of strong consistency conditions (e.g., sequential consistency, linearizability) and the efficiency of weak consistency conditions (e.g., pipelined RAM, causal memory). Memory access operations are classified as either strong or weak. A global ordering of strong operations at different processes is guaranteed, but there is very little guarantee on the ordering of weak operations at different processes, except for what is implied by their interleaving with the strong operations. A formal and precise definition of this condition is given and an algorithm for providing hybrid consistency on distributed memory machines is presented. The response time of the algorithm is proved to be within a constant multiplicative factor of the (theoretical) optimal time bounds.
Hagit Attiya, Roy Friedman 0001
SIAM J. Comput.1
1998 Atomic Snapshots in O(n log n) Operations
abstract
The atomic snapshot object is an important primitive used for the design and verification of wait-free algorithms in shared-memory distributed systems. A snapshot object is a shared data structure partitioned into segments. Processors can either update an individual segment or instantaneously scan all segments of the object. This paper presents an implementation of an atomic snapshot object in which each high-level operation (scan or update) requires O(n log n) low-level operations on atomic read/write registers.
Hagit Attiya, Ophir Rachman
SIAM J. Comput.1
1997 IDABased Protocols for Reliable Multicast
Hagit Attiya, Hadas Shachnai
OPODIS1
1997 The Level of Handshake Required for Managing a Connection
Hagit Attiya, Rinat Rappoport
Distributed Comput.1
1997 Time-Adaptive Algorithms for Synchronization
abstract
We consider concurrent systems in which there is an unknown upper bound on memory access time. Such a model is inherently different from the asynchronous model, where no such bound exists, and also from timing-based models, where such a bound exists and is known a priori. The appeal of our model lies in the fact that while it abstracts from implementation details, it is a better approximation of real concurrent systems than the asynchronous model. Furthermore, it is stronger than the asynchronous model, enabling us to design algorithms for problems that are unsolvable in the asynchronous model. Two basic synchronization problems, consensus and mutual exclusion, are investigated in a shared-memory environment that supports atomic read/write registers. We show that $\Theta(\Delta\frac{\log \Delta}{\log\log \Delta})$ is an upper and lowerbound on the time complexity of consensus, where $\Delta$ is the (unknown) upper bound on memory access time. For the mutual exclusion problem, we design an efficient algorithm that takes advantage of the fact that some upper bound on memory access time exists. The solutions for both problems are even more efficient in the absence of contention, in which case their time complexity is a constant.
Rajeev Alur, Hagit Attiya, Gadi Taubenfeld
SIAM J. Comput.2
1996 Universal Operations: Unary versus Binary (Extended Abstract)
abstract
An algorithm for implementing binary operations (of any type) from unary load-linked (LL) and storeconditional (SC) operations is presented.The performance of the algorithm is measured by its sensitivity, i.e., how far (in terms of distances in the graph induced by the contention among overlapping operations) should operations be in order not to influence the step complexity of each other.The sensitivity of this implemental ion is at most O (log* n), where n is the number of the processors in the system.That is, operations that are at least O(log* n) apart in the contention graph do not delay each other.In some cases, where the data sets of the operations are restricted, e.g., in operations used to implement linked lists and heaps, the sensitivity is 0(1).We also prove a negative result.We show that there is a problem which can be solved in 0(1) steps using binary LL/SC operations, but requires O(log log* n) operations if only unary LL/SC operations are used.
Hagit Attiya, Eyal Dagan
PODC1
1996 Limitations of Fast Consistency Conditions for Distributed Shared Memories
Hagit Attiya, Roy Friedman 0001
Inf. Process. Lett.1
1996 Optimal Clock Synchronization under Different Delay Assumptions
abstract
The problem of achieving optimal clock synchronization in a communication network with arbitrary topology and perfect clocks (that do not drift) is studied. Clock synchronization algorithms are presented for a large family of delay assumptions. Our algorithms are modular and consist of three major components. The first component holds for any type of delay assumptions; the second component holds for a large, natural family of local delay assumptions; the third component must be tailored for each specific delay assumption. Optimal clock synchronization algorithms are derived for several types of delay assumptions by appropriately tuning the third component. The delay assumptions include lower and upper delay bounds, no bounds at all, and bounds on the difference of the delay in opposite directions. In addition, our model handles systems where some processors are connected by broadcast networks in which every message arrives at all the processors at approximately the same time. A composition theorem allows combinations of different assumptions for different links or even for the same link; such mixtures are common in practice. Our results achieve the best possible precision in each execution. This notion of optimality is stronger than the more common notion of worst-case optimality. The new notion of optimality applies to systems where the worst-case behavior of any clock synchronization algorithm is inherently unbounded.
Hagit Attiya, Amir Herzberg, Sergio Rajsbaum
SIAM J. Comput.1
1995 Counting Networks with Arbitrary Fan-Out
Eran Aharonson, Hagit Attiya
Distributed Comput.2
1995 Atomic Snapshots Using Lattice Agreement
Hagit Attiya, Maurice Herlihy, Ophir Rachman
Distributed Comput.1
1995 Connection Management Without Retaining Information
Hagit Attiya, Shlomi Dolev, Jennifer L. Welch
Inf. Comput.1
1995 Sharing Memory Robustly in Message-Passing Systems
abstract
Emulators that translate algorithms from the shared-memory model to two different message-passing models are presented. Both are achieved by implementing a wait-free, atomic, single-writer multi-reader register in unreliable, asynchronous networks. The two message-passing models considered are a complete network with processor failures and an arbitrary network with dynamic link failures. These results make it possible to view the shared-memory model as a higher-level language for designing algorithms in asynchronous distributed systems. Any wait-free algorithm based on atomic, single-writer multi-reader registers can be automatically emulated in message-passing systems, provided that at least a majority of the processors are not faulty and remain connected. The overhead introduced by these emulations is polynomial in the number of processors in the system. Immediate new results are obtained by applying the emulators to known shared-memory algorithms. These include, among others, protocols to solve the following problems in the message-passing model in the presence of processor or link failures: multi-writer multi-reader registers, concurrent time-stamp systems,l-exclusion, atomic snapshots, randomized consensus, and implementation of data structures.
Hagit Attiya, Amotz Bar-Noy, Danny Dolev
J. ACM1
1994 Programming DEC-Alpha Based Multiprocessors the Easy Way (Extended Abstract)
abstract
Article Free Access Share on Programming DEC-Alpha based multiprocessors the easy way (extended abstract) Authors: Hagit Attiya Department of Computer Science, The Technion, Haifa 32000, Israel Department of Computer Science, The Technion, Haifa 32000, IsraelView Profile , Roy Friedman Department of Computer Science, The Technion, Haifa 32000, Israel Department of Computer Science, The Technion, Haifa 32000, IsraelView Profile Authors Info & Claims SPAA '94: Proceedings of the sixth annual ACM symposium on Parallel algorithms and architecturesAugust 1994Pages 157–166https://doi.org/10.1145/181014.192323Published:01 August 1994Publication History 12citation49DownloadsMetricsTotal Citations12Total Downloads49Last 12 Months25Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Publisher SiteeReaderPDF
Hagit Attiya, Roy Friedman 0001
SPAA1
1994 Time-adaptive algorithms for synchronization
abstract
We consider concurrent systems in which there is an unknown upper bound on memory access time. Such a model is inherently different from asynchronous model where no such bound exists, and also from timing-based models where such a bound exists and is known a priori. The appeal of our model lies in the fact that while it abstracts from implementation details, it is a better approximation of real concurrent systems compared to the asynchronous model. Furthermore, it is stronger than the asynchronous model enabling us to design algorithms for problems that are unsolvable in the asynchronous model. Two basic synchronization problems, consensus and mutual exclusion, are investigated in a shared memory environment that supports atomic read/write registers. We show that \\Theta(\\Delta log \\Delta log log \\Delta ) is an upper and lower bound on the time complexity of consensus, where \\Delta is the (unknown) upper bound on memory access time. For the mutual exclusion problem, we design an effic...
Rajeev Alur, Hagit Attiya, Gadi Taubenfeld
STOC2
1994 Time Bounds for Real-Time Process Control in the Presence of Timing Uncertainty
Hagit Attiya, Nancy A. Lynch
Inf. Comput.1
1994 Reliable Communication Over Unreliable Channels
abstract
Layered communicationprotocols frequently implement a FIFO message fiacility cm top of an unrehable non-FIFO serwce such as that provided hy a packet-swltchmg network.This paper investigates the possibdity of Implementing a reliable message layer on top of an underlying layer that can low packets and deliver them out of order, with the addltlonzd restriction that the implementatmn uses only a fixed fimte number of different packets.A new formalism is presented to spcclfy communication layers and their properties, the notion of their implementation by 1/0 automata.and the properties of such implementations.An 1/0 automaton that Implements a rellable layer over an unreliable layer is presented In this implementation, tbe number ot packets needed to deliver each succeeding message increases permanently as additional packet-loss and reordering faults occur.A proof is gwen that no protocol can avoid such performance degradatmn.
Yehuda Afek, Hagit Attiya, Alan D. Fekete, Michael J. Fischer, Nancy A. Lynch, Yishay Mansour, Dawei Wang 0004, Lenore D. Zuck
J. ACM2
1994 Bounds on the Time to Reach Agreement in the Presence of Timing Uncertainty
abstract
Upper and lower bounds are proved for the time complexity of the problem of reaching agreement m a distributed network m the presence of process fwlures and inexact information about time.It is assumed that the amount of (real) time between any two consecutwe steps of any ncmfatrhy process is at least c1 and at most C2; thus, C = cz/cl is a measure of the timing uncertainty.It E also assumed that the time for message dehvery ]s at most d.Processes are assumed to fail by stopping, so that process fdures can be detected by timeouts.A straightforward adaptation of an (~+ 1)-round round-based agreement algorithm takes time (f + l)Cd If there are f potential faults, while a straightforward mochflcation of the proof that f'+ 1 rounds are required yields a lower bound of time (~+ 1)d.The frost result of this paper is m agreement algorlthm in which the uncerttimty factor C is only incurred for one round, yielding A preliminary version of this work appeared in Proceedings of the 23rd ACM SvrnposamZ on Theon of Corrrputmg (New Orleans, La., May 6-8).ACM, New York, 1991, pp.359-369.
Hagit Attiya, Cynthia Dwork, Nancy A. Lynch, Larry J. Stockmeyer
J. ACM1
1994 Are Wait-Free Algorithms Fast?
abstract
The time complexity of wait-free algorithms in “normal” executions, where no failures occur and processes operate at approximately the same speed, is considered. A lower bound of log n on the time complexity of any wait-free algorithm that achieves approximate agreement among n processes is proved. In contrast, there exists a non-wait-free algorithm that solves this problem in constant time. This implies an Ω(log n ) time separation between the wait-free and non-wait-free computation models. On the positive side, we present an O(log n ) time wait-free approximate agreement algorithm; the complexity of this algorithm is within a small constant of the lower bound.
Hagit Attiya, Nancy A. Lynch, Nir Shavit
J. ACM1
1994 Efficiency of Semisynchronous Versus
Hagit Attiya, Marios Mavronicolas
Math. Syst. Theory1
1994 Sequential Consistency versus Linearizability
abstract
The power of two well-known consistency conditions for shared-memory multiprocessors, sequential consistency and linearizability , is compared. The cost measure studied is the worst-case response time in distributed implementations of virtual shared memory supporting one of the two conditions. Three types of shared-memory objects are considered: read/write objects, FIFO queues, and stacks. If clocks are only approximately synchronized (or do not exist), then for all three object types it is shown that linearizability is more expensive than sequential consistency. We show that, for all three data types, the worst-case response time is very sensitive to the assumptions that are made about the timing information available to the system. Under the strong assumption that processes have perfectly synchronized clocks, it is shown that sequential consistency and linearizability are equally costly. We present upper bounds for linearizability and matching lower bounds for sequential consistency. The upper bounds are shown by presenting algorithms that use atomic broadcast in a modular fashion. The lower-bound proofs for the approximate case use the technique of “shifting,” first introduced for studying the clock synchronization problem.
Hagit Attiya, Jennifer L. Welch
ACM Trans. Comput. Syst.1
1993 Optimal Clock Synchronization under Different Delay Assumptions (Preliminary Version)
abstract
The problem of achieving optimal clock synchronization in a communication network with arbitrary topology and perfect clocks (that do not drift) is studied. Clock synchronization algorithms are presented for a large family of delay assumptions. Our algorithms are modular and consist of three major components. The first component holds for any type of delay assumptions; the second component holds for a large, natural family of local delay assumptions; the third component has to be tailored for each specific delay assumption. Optimal clock synchronization algorithms are derived for several types of delay assumptions by appropriately tuning the third component. The delay assumptions include lower and upper delay bounds, no bounds at all, and bounds on the difference of the delay in opposite directions. In addition, our model handles systems where some processors are connected by broadcast networks in which every message arrives to all processors at approximately the same time. A composition theorem allows combinations of different assumptions for different lins or even for the same link; such mixtures are common in practice. Our results acheive the best possible precision in each execution. This notion of optimality is stronger than the more common notion of worst case optimality. The new notion of optimality applied to systems where the worst case behavior of any clock synchronization algorithm is inherently unbounded.
Hagit Attiya, Amir Herzberg, Sergio Rajsbaum
PODC1
1993 Atomic Snapshots in O(n log n) Operations (Preliminary Version)
abstract
Article Atomic snapshots in O(n log n) operations Share on Authors: Hagit Attiya View Profile , Ophir Rachman View Profile Authors Info & Claims PODC '93: Proceedings of the twelfth annual ACM symposium on Principles of distributed computingSeptember 1993 Pages 29–40https://doi.org/10.1145/164051.164055Online:01 September 1993Publication History 17citation273DownloadsMetricsTotal Citations17Total Downloads273Last 12 Months2Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Hagit Attiya, Ophir Rachman
PODC1
1993 Shared Memory Consistency Conditions for Non-Sequential Execution: Definitions and Programming Strategies
abstract
Article Free Access Share on Shared memory consistency conditions for non-sequential execution: definitions and programming strategies Authors: Hagit Attiya View Profile , Soma Chaudhuri View Profile , Roy Friedman View Profile , Jennifer L. Welch View Profile Authors Info & Claims SPAA '93: Proceedings of the fifth annual ACM symposium on Parallel Algorithms and ArchitecturesAugust 1993 Pages 241–250https://doi.org/10.1145/165231.165263Published:01 August 1993Publication History 10citation357DownloadsMetricsTotal Citations10Total Downloads357Last 12 Months7Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Hagit Attiya, Soma Chaudhuri, Roy Friedman 0001, Jennifer L. Welch
SPAA1
1993 Atomic Snapshots of Shared Memory
abstract
This paper introduces a general formulation of atomic snapshot memory , a shared memory partitioned into words written ( updated ) by individual processes, or instantaneously read ( scanned ) in its entirety. This paper presents three wait-free implementations of atomic snapshot memory. The first implementation in this paper uses unbounded (integer) fields in these registers, and is particularly easy to understand. The second implementation uses bounded registers. Its correctness proof follows the ideas of the unbounded implementation. Both constructions implement a single-writer snapshot memory, in which each word may be updated by only one process, from single-writer, n -reader registers. The third algorithm implements a multi-writer snapshot memory from atomic n -writer, n -reader registers, again echoing key ideas from the earlier constructions. All operations require Θ( n 2 ) reads and writes to the component shared registers in the worst case. — Authors' Abstract
Yehuda Afek, Hagit Attiya, Danny Dolev, Eli Gafni, Michael Merritt, Nir Shavit
J. ACM2
1992 Counting Networks with Arbitrary Fan-Out
Eran Aharonson, Hagit Attiya
SODA2
1992 A Correctness Condition for High-Performance Multiprocessors (Extended Abstract)
abstract
Hybrid consistency, a new consistency condition for shared memory multiprocessors, attempts to capture the guarantees provided by contemporary high-performance architectures. It combines the expressiveness of strong consistency conditions(e.g., sequential consistency, linearizability) and the efficiency of weak consistency conditions (e.g., Pipelined RAM, causal memory). Memory access operations are classified either strong or weak. A global ordering of strong operations at different processes is guaranteed, but there is very little guarantee on the ordering of weak operations at different processes, except for what is implied by their interleaving with the strong operations. A formal and precise definition of this condition is given. An efficient implementation of hybrid consistency on distributed memory machines is presented. In this implementation, weak opearations are executed instantaneously, while the response time for strong operations is linear in the network delay. (It is proven that this is within a constant factor of the optimal time bounds.)
Hagit Attiya, Roy Friedman 0001
STOC1
1992 Using Mappings to Prove Timing Properties
Nancy A. Lynch, Hagit Attiya
Distributed Comput.2
1991 Sequential Consistency Versus Linearizability (Extended Abstract)
abstract
The power of two well-known consistency conditions for shared memory multiprocessors, sequential consistency
Hagit Attiya, Jennifer L. Welch
SPAA1
1991 Bounds on the Time to Reach Agreement in the Presence of Timing Uncertainty
abstract
. Upper and lower bounds are proved for the time complexity of the problem of reaching agreement in a distributed network in the presence of process failures and inexact information about time. It is assumed that the amount of (real) time between any two consecutive steps of any nonfaulty process is at least c 1 and at most c 2 ; thus, C = c 2 =c 1 is a measure of the timing uncertainty. It is also assumed that the time for message delivery is at most d. Processes are assumed to fail by stopping, so that process failures can be detected by timeouts. A straightforward adaptation of an (f + 1)-round round-based agreement algorithm takes time (f + 1)Cd if there are f potential faults, while a straightforward modification of the proof that f + 1 rounds are required yields a lower bound of time (f + 1)d. The first result of this paper is an agreement algorithm in which the uncertainty factor C is only incurred for one round, yielding a running time of approximately 2fd + Cd in the worst ca...
Hagit Attiya, Cynthia Dwork, Nancy A. Lynch, Larry J. Stockmeyer
STOC1
1990 Are Wait-Free Algorithms Fast? (Extended Abstract)
abstract
The time complexity of wait-free algorithms in so-called normal executions, where no failures occur and processes operate at approximately the same speed, is considered. A lower bound of log n on the time complexity of any wait-free algorithm that achieves approximate agreement among n processes is proved. In contrast, there exists a non-wait-free algorithm that solves this problem in constant time. This implies an Omega (log n)-time separation between the wait-free and non-wait-free computation models. An O(log n)-time wait-free approximate agreement algorithm is presented. Its complexity is within a small constant of the lower bound.>
Hagit Attiya, Nancy A. Lynch, Nir Shavit
FOCS1
1990 Atomic Snapshots of Shared Memory
abstract
An atomic snapshot memory is a shared data structure allowing concurrent processes to store information in a collection of shared registers, all of which may be read in a single atomic scan operation.This paper presents three wait-free implementations of atomic snapshot memory.Two constructions implement wait-free single-writer atomic snapshot memory from wait-free atomic single-writer, n-reader registers.A third construction implements a wait-free n-writer atomic snapshot memory from n-writer, n-reader registers.The first implementation uses unbounded
Yehuda Afek, Danny Dolev, Hagit Attiya, Eli Gafni, Michael Merritt, Nir Shavit
PODC3
1990 Sharing Memory Robustly in Message-Passing Systems
abstract
Emulators that translate algorithms from the sharedmemory model to two different message-passing models are presented.Both are achieved by implementing a wait-free, atomic, single-writer multi-reader register in unreliable, asynchronous networks.The two message-passing models considered are a complete network with processor failures and an arbitrary network with dynamic link failures.These results make it possible to view the sharedmemory model as a higher-level language for designing algorithms in asynchronous distributed systems.Any wait-free algorithm based on atomic, single-writer multi-reader registers can be automatically emulated in message-passing systems.The overhead introduced by these emulations is polynomial in the number of processors in the systems.Immediate new results are obtained by applying the emulators to known shared-memory algorithms.
Hagit Attiya, Amotz Bar-Noy, Danny Dolev
PODC1
1990 Using Mappings to Prove Timing Properties
abstract
A new technique for proving timing properties for timing-based algorithms is described; it is an extension of the mapping techniques previously used in proofs of safety properties for asynchronous concurrent systems.The key to the method is a way of representing a system with timing constraints as an automaton whose state includes predictive timing information.Timing assumptions and timing requirements for the system are both represented in this way.A multivalued mapping from the "assumptions automaton"to the "requirements automaton" is then used to show that the given system satisfies the requirements.The technique is illustrated with two simple examples, a resource manager and a signal relay system, and a third, more complex example of a two-process race system.The technique is shown to be complete, that is, if some automaton with certain timing assumptions has certain timing behavior, than there exists a mapping from the "assumptions automaton"to the "requirements automaton".
Nancy A. Lynch, Hagit Attiya
PODC2
1990 Renaming in an Asynchronous Environment
abstract
This paper is concerned with the solvability of the problem of processor renaming in unreliable, completely asynchronous distributed systems. Fischer et al. prove in [8] that “nontrivial consensus” cannot be attained in such systems, even when only a single, benign processor failure is possible. In contrast, this paper shows that problems of processor renaming can be solved even in the presence of up tot
Hagit Attiya, Amotz Bar-Noy, Danny Dolev, David Peleg, Rüdiger Reischuk
J. ACM1
1989 Bounded Polynomial Randomized Consensus
abstract
In [A&3], Abrahamson presented a solution to the randomized consensus problem of Chor, Israeli and Li [CIL87], without assuming the existence of an atomic coin flip operation.This elegant algorithm uses unbounded memory, and has expected exponential running time.In [AH89], Aspens and Herlihy provide a breakthrough polynomial-time algorithm.However, it too is based on the use of unbounded memory.In this paper, we present a solution to the randomized consensus problem, that is bounded in space and runs in polynomial expected time.
Hagit Attiya, Danny Dolev, Nir Shavit
PODC1
1989 Time Bounds for Real-Time Process Control in the Presence of Timing Uncertainty
abstract
A timing-based variant of the mutual-exclusion problem is considered. In this variant, only an upper bound on the time it takes to release the resource is known, and no explicit signal is sent when the resource is released; furthermore, the only mechanism to measure real time is an inaccurate clock, whose tick intervals take time between two constants. A new technique involving shifting and shrinking executions is combined with a careful analysis of the best allocation policy to prove a corresponding lower bound when control is distributed among processes connected by communication lines with an upper bound for message delivery time. These combinatorial results shed some light on modeling and verification issues related to real-time systems.>
Hagit Attiya, Nancy A. Lynch
RTSS1
1989 Efficient Elections in Chordal Ring Networks
Hagit Attiya, Jan van Leeuwen, Nicola Santoro, Shmuel Zaks
Algorithmica1
1988 Computing on an anonymous ring
abstract
The computational capabilities of a system of n indistinguishable (anonymous) processors arranged on a ring in the synchronous and asynchronous models of distributed computation are analyzed. A precise characterization of the functions that can be computed in this setting is given. It is shown that any of these functions can be computed in O ( n 2 ) messages in the asynchronous model. This is also proved to be a lower bound for such elementary functions as AND, SUM, and Orientation. In the synchronous model any computable function can be computed in O ( n log n ) messages. A ring can be oriented and start synchronized within the same bounds. The main contribution of this paper is a new technique for proving lower bounds in the synchronous model. With this technique tight lower bounds of θ( n log n ) (for particular n ) are proved for XOR, SUM, Orientation, and Start Synchronization. The technique is based on a string-producing mechanism from formal language theory, first introduced by Thue to study square-free words. Two methods for generalizing the synchronous lower bounds to arbitrary ring sizes are presented.
Hagit Attiya, Marc Snir, Manfred K. Warmuth
J. ACM1
1987 Achievable Cases in an Asynchronous Environment (Extended Abstract)
abstract
The paper deals with achievability of fault tolerant goals in a completely asynchronous distributed system. Fischer, Lynch, and Paterson [FLP] proved that in such a system "nontrivial agreement" cannot be achieved even in the (possible) presence of a single "benign" fault. In contrast, we exhibit two pairs of goals that are achievable even in the presence of up to t ≪ n/2 faulty processors, contradicting the widely held assumption that no nontrivial goals are attainable in such a system. The first pair deals with renaming processors so as to reduce the size of the initial name space. When only uniqueness is required of the new names, we present a lower bound of n + 1 on the size of the new name space, and a renaming algorithm which establishes an upper bound of n + t. In case the new names are required also to preserve the original order, a tight bound of 2t(n- t + 1) - 1 is obtained. The second pair of goals deals with the multi-slot critical section problem. We present algorithms for controlled access to a critical section. As for the number of slots required, a tight bound of t + 1 is proved in case the slots are identical. In the case of distinct slots the upper bound is 2t + 1.
Hagit Attiya, Amotz Bar-Noy, Danny Dolev, Daphne Koller, David Peleg, Rüdiger Reischuk
FOCS1
1987 Language Complexity on the Synchronous Anonymous Ring
Hagit Attiya, Yishay Mansour
Theor. Comput. Sci.1
1985 Computing on an Anonymous Ring
abstract
Article Computing on an anonymous ring Share on Authors: Chagit Attiya Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, Israel Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, IsraelView Profile , Marc Snir Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, Israel Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, IsraelView Profile , Manfred Warmuth Department of Computer Science, University of California, Santa Cruz, Ca Department of Computer Science, University of California, Santa Cruz, CaView Profile Authors Info & Claims PODC '85: Proceedings of the fourth annual ACM symposium on Principles of distributed computingAugust 1985 Pages 196–203https://doi.org/10.1145/323596.323614Online:01 August 1985Publication History 25citation278DownloadsMetricsTotal Citations25Total Downloads278Last 12 Months2Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Hagit Attiya, Marc Snir, Manfred K. Warmuth
PODC1
1984 Towards a Data Model for Artificial Intelligence Applications
abstract
Data models used in database management have not been built with AI applications in mind. The entities and their relationships in an AI environment transcend in complexity the data semantics of most other databases, so that the expressive power of the "usual" data models becomes insufficient. In AI community databases are viewed as a possible application area ("database front ends") but in AI research itself the databases used tend to be ad hoc and are not specified in terms of data models and DBMS based on such. The data model suggested below is a step towards bridging the gap between database theory and AI databases.
Sergei Nirenburg, Hagit Attiya
ICDE2
1984 Asynchronous Byzantine Consensus
abstract
Reaching agreement in an asynchronous environment is essential to guarantee consistency in distributed data processing. All previous asynchronous protocols were either probabilistic or they assumed a fail-stop mode of failure. The deterministic protocol presented in this paper reaches a Strong Byzantine Agreement in a system of asynchronous processors; and therefore can sustain arbitrary faults. In our model, processors can be completely asynchronous, though the communication network has the property that a message being sent by a correctly operating processor to a set of processors will reach its destinations within a predetermined period Δ. Additional results presented in the paper prove that in the above model one cannot reach a consensus within a bounded time. A correctly operating processor should wait to receive messages from other processors before making a decision. This result holds also for Weak Byzantine Agreement, but not for nontrivial consensus. We present a trivial protocol to reach a nontrivial consensus in bounded time.
Hagit Attiya, Danny Dolev, Joseph Gil
PODC1