Declarative Synchronization
نویسنده
چکیده
Synchronization is one of the hardest tasks in parallel programming. Traditional lock mechanisms are hard to use and error prone. Software Transactional Memory(STM) provides an easy–to–use and scalable solution to this problem. However, STM does not work well in the case that there are large shared data access in the critical section. This project introduces the design and implementation of a new synchronization tool called Declarative Synchronization. It provides an easy–to–use, composable, deadlock free but also high performance solution to the case that programmers need to access large chunk of shared data in the critical section. Declarative Synchronization shows better performance than STM, and competitive performance as hand made fine-grained locks through the experiments. The technique would be a useful tool for synchronization in the scenario that programmers need to access large shared data in the critical section.
منابع مشابه
Advanced Thread Synchronization in Jav a
Thread synchronization in Java using synchronized methods or statements is simple and straightforward as long as mutual exclusion of threads is sufficient for an application. Things become less straightforward when wait() and notify() have to be employed to realize more flexible synchronization schemes. Using two well-known examples, the bounded buffer and the readers and writers problem, the s...
متن کاملDeclarative Concurrency in Java
We propose a high-level language based on rst order logic for expressing synchronization in concurrent object-oriented programs. The language allows the programmer to declaratively state the system safety properties as temporal constraints on speci c program points of interest. Higher-level synchronization constraints on methods in a class may be de ned using these temporal constraints. The con...
متن کاملRole-Based Declarative Synchronization for Reconfigurable Systems
In this paper we address the problem of encoding complex concurrency control in reconfigurable systems. Such systems can be often reconfigured, either statically, or dynamically, in order to adapt to new requirements and a changing environment. We therefore take a declarative approach and introduce a set of high-level programming abstractions which allow the programmer to easily express complex...
متن کاملMemory formation by neuronal synchronization.
Cognitive functions not only depend on the localization of neural activity, but also on the precise temporal pattern of activity in neural assemblies. Synchronization of action potential discharges provides a link between large-scale EEG recordings and cellular plasticity mechanisms. Here, we focus on the role of neuronal synchronization in different frequency domains for the subsequent stages ...
متن کاملConcurrency Combinators for Declarative Synchronization
Developing computer systems that are both concurrent and evolving is challenging. To guarantee consistent access to resources by concurrent software components, some synchronization is required. A synchronization logic, or policy, is at present entangled in the component code. Adding a new component or modifying existing components, which may require a change of the (global) synchronization pol...
متن کامل