Specification of the Behavior of Memory Operations in Distributed Systems

1998 ◽  
Vol 08 (04) ◽  
pp. 589-598 ◽  
Author(s):  
Vicent Cholvi

Shared memory is a mechanism used for inter-process communication in distributed systems which is considered a feasible alternative to the traditional communication model. However, most of the work on shared memory has not paid enough attention to the way memory operations behave, leading to some degree of confusion. In this paper, we describe a framework for specifying the behavior of memory operations. That framework has been used to formally specify some of the most significant memory models. In this framework, to characterize a memory model it is enough to specify the executions that it allows. We use a dual approach. First, we provide axiomatic definitions of those memory models; then, we provide operational ones. Whereas axiomatic definitions are simple and intuitive, operational definitions are more convenient for being used in correctness proofs. We show that both approaches are equivalent.

2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-30
Author(s):  
Truc Lam Bui ◽  
Krishnendu Chatterjee ◽  
Tushar Gautam ◽  
Andreas Pavlogiannis ◽  
Viktor Toman

The verification of concurrent programs remains an open challenge due to the non-determinism in inter-process communication. One recurring algorithmic problem in this challenge is the consistency verification of concurrent executions. In particular, consistency verification under a reads-from map allows to compute the reads-from (RF) equivalence between concurrent traces, with direct applications to areas such as Stateless Model Checking (SMC). Importantly, the RF equivalence was recently shown to be coarser than the standard Mazurkiewicz equivalence, leading to impressive scalability improvements for SMC under SC (sequential consistency). However, for the relaxed memory models of TSO and PSO (total/partial store order), the algorithmic problem of deciding the RF equivalence, as well as its impact on SMC, has been elusive. In this work we solve the algorithmic problem of consistency verification for the TSO and PSO memory models given a reads-from map, denoted VTSO-rf and VPSO-rf, respectively. For an execution of n events over k threads and d variables, we establish novel bounds that scale as n k +1 for TSO and as n k +1 · min( n k 2 , 2 k · d ) for PSO. Moreover, based on our solution to these problems, we develop an SMC algorithm under TSO and PSO that uses the RF equivalence. The algorithm is exploration-optimal , in the sense that it is guaranteed to explore each class of the RF partitioning exactly once, and spends polynomial time per class when k is bounded. Finally, we implement all our algorithms in the SMC tool Nidhugg, and perform a large number of experiments over benchmarks from existing literature. Our experimental results show that our algorithms for VTSO-rf and VPSO-rf provide significant scalability improvements over standard alternatives. Moreover, when used for SMC, the RF partitioning is often much coarser than the standard Shasha-Snir partitioning for TSO/PSO, which yields a significant speedup in the model checking task.


Interprocess Communication (IPC) is used by the cooperating processes for communication and synchronization. With the advent of Distributed Systems and Microkernel Operating systems, IPC has been used for designing the system for cooperation. This raised the requirements for improving the communication and synchronization for the better performance of the system. Here, a mechanism of synchronization between the processes to reduce the waiting time of process using POSIX (Portable Operating System Interface) threads has been proposed to perform and synchronize the given task.


Author(s):  
Atanu Barai ◽  
Gopinath Chennupati ◽  
Nandakishore Santhi ◽  
Abdel-Hameed Badawy ◽  
Yehia Arafa ◽  
...  
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document