Distributed Algorithms: A Case Study of the Java Memory Model

Saved in:
Bibliographic Details
Title: Distributed Algorithms: A Case Study of the Java Memory Model
Authors: Matko Botinčan, Paola Glavan, Davor Runje
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.fsb.hr/~drunje/papers/asm2007-mm.pdf.
Collection: CiteSeerX
Subject Terms: Java memory model, distributed algorithms, abstract state machines
Description: The goal of this paper is to give a mathematically precise specification of the Java memory model and discuss its interpretation in the ASM context. We have refactored the original specification in order to clearly stipulate how it conditions the behavior of the environment. We show how each thread in a multithreaded Java program can be seen as an ordinary interactive small-step algorithm, and, consequently, how the Java program gives rise to a distributed ordinary interactive smallstep ASM. Due to rather relaxed conditions on the environment imposed by the Java memory model, runs of such ASM may, however, exhibit behavior that is impossible to be observed in sequentially consistent settings. We hope that notions of run and environment capturing this kind of behavior will serve as a helpful insight for the theory of distributed algorithms developed so far.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.7448
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.7448
http://www.fsb.hr/~drunje/papers/asm2007-mm.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.F2A2BE05
Database: BASE
Description
Abstract:The goal of this paper is to give a mathematically precise specification of the Java memory model and discuss its interpretation in the ASM context. We have refactored the original specification in order to clearly stipulate how it conditions the behavior of the environment. We show how each thread in a multithreaded Java program can be seen as an ordinary interactive small-step algorithm, and, consequently, how the Java program gives rise to a distributed ordinary interactive smallstep ASM. Due to rather relaxed conditions on the environment imposed by the Java memory model, runs of such ASM may, however, exhibit behavior that is impossible to be observed in sequentially consistent settings. We hope that notions of run and environment capturing this kind of behavior will serve as a helpful insight for the theory of distributed algorithms developed so far.