concurrent updates
Recently Published Documents


TOTAL DOCUMENTS

19
(FIVE YEARS 3)

H-INDEX

6
(FIVE YEARS 1)

2020 ◽  
Vol 13 (12) ◽  
pp. 3195-3203
Author(s):  
Raghavendra Thallam Kodandaramaih ◽  
Hanuma Kodavalla ◽  
Girish Mittur Venkataramanappa

Author(s):  
Siddharth Krishna ◽  
Michael Emmi ◽  
Constantin Enea ◽  
Dejan Jovanović

AbstractMultithreaded programs generally leverage efficient and thread-safe concurrent objects like sets, key-value maps, and queues. While some concurrent-object operations are designed to behave atomically, each witnessing the atomic effects of predecessors in a linearization order, others forego such strong consistency to avoid complex control and synchronization bottlenecks. For example, contains (value) methods of key-value maps may iterate through key-value entries without blocking concurrent updates, to avoid unwanted performance bottlenecks, and consequently overlook the effects of some linearization-order predecessors. While such weakly-consistent operations may not be atomic, they still offer guarantees, e.g., only observing values that have been present.In this work we develop a methodology for proving that concurrent object implementations adhere to weak-consistency specifications. In particular, we consider (forward) simulation-based proofs of implementations against relaxed-visibility specifications, which allow designated operations to overlook some of their linearization-order predecessors, i.e., behaving as if they never occurred. Besides annotating implementation code to identify linearization points, i.e., points at which operations’ logical effects occur, we also annotate code to identify visible operations, i.e., operations whose effects are observed; in practice this annotation can be done automatically by tracking the writers to each accessed memory location. We formalize our methodology over a general notion of transition systems, agnostic to any particular programming language or memory model, and demonstrate its application, using automated theorem provers, by verifying models of Java concurrent object implementations.


Author(s):  
Sreeja S. Nair ◽  
Gustavo Petri ◽  
Marc Shapiro

AbstractTo provide high availability in distributed systems, object replicas allow concurrent updates. Although replicas eventually converge, they may diverge temporarily, for instance when the network fails. This makes it difficult for the developer to reason about the object’s properties, and in particular, to prove invariants over its state. For the subclass of state-based distributed systems, we propose a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control. Our approach allows reasoning about individual operations separately. We demonstrate that our rules are sound, and we illustrate their use with some representative examples. We automate the rule using Boogie, an SMT-based tool.


2017 ◽  
Vol 5 (2) ◽  
pp. 216-236 ◽  
Author(s):  
Jie Jiang ◽  
Lele Yu ◽  
Jiawei Jiang ◽  
Yuhong Liu ◽  
Bin Cui

Abstract Machine Learning (ML) techniques now are ubiquitous tools to extract structural information from data collections. With the increasing volume of data, large-scale ML applications require an efficient implementation to accelerate the performance. Existing systems parallelize algorithms through either data parallelism or model parallelism. But data parallelism cannot obtain good statistical efficiency due to the conflicting updates to parameters while the performance is damaged by global barriers in model parallel methods. In this paper, we propose a new system, named Angel, to facilitate the development of large-scale ML applications in production environment. By allowing concurrent updates to model across different groups and scheduling the updates in each group, Angel can achieve a good balance between hardware efficiency and statistical efficiency. Besides, Angel reduces the network latency by overlapping the parameter pulling and update computing and also utilizes the sparseness of data to avoid the pulling of unnecessary parameters. We also enhance the usability of Angel by providing a set of efficient tools to integrate with application pipelines and provisioning efficient fault tolerance mechanisms. We conduct extensive experiments to demonstrate the superiority of Angel.


Author(s):  
Vincenzo Auletta ◽  
Diodato Ferraioli ◽  
Francesco Pasquale ◽  
Paolo Penna ◽  
Giuseppe Persiano

2015 ◽  
Vol 50 (8) ◽  
pp. 21-30 ◽  
Author(s):  
Maya Arbel ◽  
Adam Morrison
Keyword(s):  

Algorithmica ◽  
2014 ◽  
Vol 73 (3) ◽  
pp. 511-546 ◽  
Author(s):  
Vincenzo Auletta ◽  
Diodato Ferraioli ◽  
Francesco Pasquale ◽  
Paolo Penna ◽  
Giuseppe Persiano

Sign in / Sign up

Export Citation Format

Share Document