Operational Semantics Of Relaxed Memory Models


Download Operational Semantics Of Relaxed Memory Models PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Operational Semantics Of Relaxed Memory Models book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.

Download

Operational Semantics of Relaxed Memory Models


Operational Semantics of Relaxed Memory Models

Author: Gustavo Petri

language: en

Publisher:

Release Date: 2010


DOWNLOAD





Most current multiprocessor architectures and shared memory parallel programming languages are not sequentially consistent for parallel programs. Their possible behaviors are characterized by weak or relaxed memory models. A memory model describes the way in which parallel programs can interact by reading and writing the shared memory. Thus, a relaxed memory model exhibits more behaviors than sequential consistency (a "strong" memory model). The fact that most architectures have relaxed memory models has been known for decades, and yet few programmers understand which are the exact behaviors a parallel program can have in such architectures. We argue in this thesis that the problem stems from the difficulty in understanding the specification of these relaxed memory models. Firstly because few architectures or programming languages provide a formal definition of their memory model. And secondly because the majority of the existing formal definitions are axiomatic, which hinders their understandability and makes them unsuitable for language-based techniques such as static analysis or model checking. We propose an alternative characterization of relaxed memory models. Our characterization is operational, which we believe makes it simpler to understand for the programmer, and better suited to standard language-based techniques. Our first contribution in this thesis is the operational formalization of writebuffering architectures. Write-buffering is pervasive across multi-core architectures, and thus its understanding is fundamental for parallel programming in such architectures. By means of standard programming languages concepts, we prove that the standard DRF guarantee is satisfied by our formalization. Hence, reasoning about sequentially consistent computations is sound for programs free of simultaneous accesses on a single memory location. Our second contribution is a framework for the operational characterization of speculative computation techniques. This framework allows us to formally define the intuitive notion of valid speculation. For this framework two languages are considered; a high-level programming language that supports locks; and a low-level programming language, closer to the Instruction Set Architecture (ISA) of a machine, that only supports barriers and a simple compare-and-swap instruction. We identify properties for programs of both of these languages that are sufficient to guarantee that only sequentially consistent behaviors can be observed when the programs are executed speculatively. The final contribution is the instantiation of the write-buffering and speculative frameworks to formalize the TSO, PSO and RMO memory models of the Sparc architecture. In particular, we observe that the framework of write buffers is not well suited to formalize liberal relaxations as allowed by RMO. We prove a correspondence result between the formalizations of PSO and TSO I ii in both frameworks. The fact that RMO cannot be instantiated by means of write-buffers is a good indication that the speculative framework is more general than the one of write buffers.

Foundations of Software Science and Computational Structures


Foundations of Software Science and Computational Structures

Author: Lars Birkedal

language: en

Publisher: Springer

Release Date: 2012-03-22


DOWNLOAD





This book constitutes the proceedings of the 15th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2012, held as part of the joint European Conference on Theory and Practice of Software, ETAPS 2012, which took place in Tallinn, Estonia, in March/April 2012. The 29 papers presented in this book together with two invited talks in full paper length were carefully reviewed and selected from 100 full paper submissions. The papers deal with theories and methods to support analysis, synthesis, transformation and verification of programs and software systems.

Formal Methods


Formal Methods

Author: Klaus Havelund

language: en

Publisher: Springer

Release Date: 2018-07-11


DOWNLOAD





This book constitutes the refereed proceedings of the 22nd International Symposium on Formal Methods, FM 2018, held in Oxford, UK, in July 2018. The 44 full papers presented together with 2 invited papers were carefully reviewed and selected from 110 submissions. They present formal methods for developing and evaluating systems. Examples include autonomous systems, robots, and cyber-physical systems in general. The papers cover a broad range of topics in the following areas: interdisciplinary formal methods; formal methods in practice; tools for formal methods; role of formal methods in software systems engineering; and theoretical foundations.