Real-time merging (original) (raw)

Bounded-wait combining: constructing robust and high-throughput shared objects

Distributed Computing, 2009

Shared counters are among the most basic coordination structures in distributed computing. Known implementations of shared counters are either blocking, non-linearizable, or have a sequential bottleneck. We present the first counter algorithm that is both linearizable, non-blocking, and can provably achieve high throughput in k-synchronous executions—executions in which process speeds vary by at most a constant factor k. The algorithm

Lachesis: Scalable Asynchronous BFT on DAG Streams

arXiv (Cornell University), 2021

This paper consolidates the core technologies and key concepts of our novel Lachesis consensus protocol and Fantom Opera platform, which is permissionless, leaderless and EVM compatible. We introduce our new protocol, so-called Lachesis, for distributed networks achieving Byzantine fault tolerance (BFT) [10]. Each node in Lachesis protocol operates on a local block DAG, namely OPERA DAG. Aiming for a low time to finality (TTF) for transactions, our general model considers DAG streams of high speed but asynchronous events. We integrate Proof-of-Stake (PoS) into a DAG model in Lachesis protocol to improve performance and security. Our general model of trustless system leverages participants' stake as their validating power [33]. Lachesis's consensus algorithm uses Lamport timestamps, graph layering and concurrent common knowledge to guarantee a consistent total ordering of event blocks and transactions. In addition, Lachesis protocol allows dynamic participation of new nodes into Opera network. Lachesis optimizes DAG storage and processing time by splitting local history into checkpoints (so-called epochs). We also propose a model to improve stake decentralization, and network safety and liveness [32]. Built on our novel Lachesis protocol, Fantom's Opera platform is a public, leaderless, asynchronous BFT, layer-1 blockchain, with guaranteed deterministic finality. Hence, Lachesis protocol is suitable for distributed ledgers by leveraging asynchronous partially ordered sets with logical time ordering instead of blockchains. We also present our proofs into a model that can be applied to abstract asynchronous distributed system.

Constructing Shared Objects That Are Both Robust and High-Throughput

Lecture Notes in Computer Science, 2006

Shared counters are among the most basic coordination structures in distributed computing. Known implementations of shared counters are either blocking, non-linearizable, or have a sequential bottleneck. We present the first counter algorithm that is both linearizable, nonblocking, and can provably achieve high throughput in semisynchronous executions. The algorithm is based on a novel variation of the software combining paradigm that we call bounded-wait combining. It can thus be used to obtain implementations, possessing the same properties, of any object that supports combinable operations, such as stack or queue. Unlike previous combining algorithms where processes may have to wait for each other indefinitely, in the bounded-wait combining algorithm a process only waits for other processes for a bounded period of time and then 'takes destiny in its own hands'.

The logically instantaneous communication mode: a communication abstraction

Future Generation Computer Systems, 2001

Communication is Logically Instantaneous (li) when there is a logical time frame in which for each message, the send event and the corresponding delivery events occur simultaneously. li is stronger than Causally Ordered (co) communication, but weaker than Rendezvous (rdv) communication. This paper explores Logically Instantaneous communication and provides a simple and efficient protocol that implements li on top of asynchronous distributed systems.

Banyan: Coordination-Free Distributed Transactions over Mergeable Types

2020

Programming loosely connected distributed applications is a challenging endeavour. Loosely connected distributed applications such as geo-distributed stores and intermittently reachable IoT devices cannot afford to coordinate among all of the replicas in order to ensure data consistency due to prohibitive latency costs and the impossibility of coordination if availability is to be ensured. Thus, the state of the replicas evolves independently, making it difficult to develop correct applications. Existing solutions to this problem limit the data types that can be used in these applications, which neither offer the ability to compose them to construct more complex data types nor offer transactions. In this paper, we describe Banyan, a distributed programming model for developing loosely connected distributed applications. Data types in Banyan are equipped with a three-way merge function à la Git to handle conflicts. Banyan provides isolated transactions for grouping together individua...

Automatic Handshake Expansion and Reshuffling Using Concurrency Reduction

1998

We present an automatic technique for handshake expansion and reshu ing in asynchronous control circuit design. A designer can de ne the behavior of a control circuit using a CSP-like or STG-like notation. This de nition may be partial, i.e. involve only some of the actual events. The method solves handshake expansion by inserting reset events with maximal concurrency and then automatically explores reshu ing of events under interface and concurrency constraints using a single basic operation { concurrency reduction. The algorithm trades o the number of required state signals and logic complexity. Experimental results show that this approach provides more exibility in the design process than completely speci ed CSP or STG. It signi cantly increases the solution space for logic synthesis compared to existing CSPbased or STG-based synthesis tools.

Merge-by-Wire: Algorithms and System Support

2008

Automakers are trying to make vehicles more intelligent and safe by embedding processors which can be used to implement "by-wire" applications for taking smart decisions on the road or assisting the driver in doing the same. Given this proliferation, there is a need to minimize the computing power required without affecting the performance and safety of the applications. The latter is especially important since these by-wire applications are distributed and realtime in nature and involve deadline bound computations on critical data gathered from the environment. These applications have stringent requirements on the freshness of data items and completion time of the tasks. Our work studies one such safety-related automotive application namely, Automatic Merge Control (AMC) which ensures safe vehicle maneuver in the region where two or more roads intersect.

On schedulability and time composability of data aggregation networks

… (FUSION), 2012 15th …, 2012

This paper develops a framework to analyze the latency and delay composition of workflows in a real-time networked aggregation system. These workflows are characterized by different sensor inputs that are processed along parallel branches that eventually merge or fuse to compute the aggregation result. The results for each flow must be produced within certain end-to-end deadlines or else the information would become stale, inaccurate and useless. We extend results developed by the authors recently and consider an end-to-end view of the aggregation system that allows us to derive a much tighter analysis of the end-to-end delay compared to traditional analysis techniques. We then provide a reduction of the aggregation network system to an equivalent hypothetical uniprocessor for the purposes of schedulability analysis. Extensive simulations show that latency bound obtained from the analysis framework is significantly more accurate than that of traditional analysis techniques.

Revisiting the combining synchronization technique

ACM SIGPLAN Notices, 2012

Fine-grain thread synchronization has been proved, in several cases, to be outperformed by efficient implementations of the combining technique where a single thread, called the combiner , holding a coarse-grain lock, serves, in addition to its own synchronization request, active requests announced by other threads while they are waiting by performing some form of spinning. Efficient implementations of this technique significantly reduce the cost of synchronization, so in many cases they exhibit much better performance than the most efficient finely synchronized algorithms. In this paper, we revisit the combining technique with the goal to discover where its real performance power resides and whether or how ensuring some desired properties (e.g., fairness in serving requests) would impact performance. We do so by presenting two new implementations of this technique; the first (CC-Synch) addresses systems that support coherent caches, whereas the second (DSM-Synch) works better in ca...