Disentangling Parallelism and Interference in Game Semantics

03/29/2021
by   Simon Castellan, et al.
0

Game semantics is a denotational semantics presenting compositionally the computational behaviour of various kinds of effectful programs. One of its celebrated achievement is to have obtained full abstraction results for programming languages with a variety of computational effects, in a single framework. This is known as the semantic cube or Abramsky's cube, which for sequential deterministic programs establishes a correspondence between certain conditions on strategies (”innocence”, ”well-bracketing”, ”visibility”) and the absence of matching computational effects. Outside of the sequential deterministic realm, there are still a wealth of game semantics-based full abstraction results; but they no longer fit in a unified canvas. In particular, Ghica and Murawski's fully abstract model for shared state concurrency (IA) does not have a matching notion of pure parallel program-we say that parallelism and interference (i.e. state plus semaphores) are entangled. In this paper we construct a causal version of Ghica and Murawski's model, also fully abstract for IA. We provide compositional conditions parallel innocence and sequentiality, respectively banning interference and parallelism, and leading to four full abstraction results. To our knowledge, this is the first extension of Abramsky's semantic cube programme beyond the sequential deterministic world.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/15/2023

A Direct-Style Effect Notation for Sequential and Parallel Programs

Modeling sequential and parallel composition of effectful computations h...
research
11/10/2020

Game Semantics: Easy as Pi

Game semantics has proven to be a robust method to give compositional se...
research
10/27/2022

A Survey on Parallelism and Determinism

Parallelism is often required for performance. In these situations an ex...
research
08/07/2017

On the Learnability of Programming Language Semantics

Game semantics is a powerful method of semantic analysis for programming...
research
09/12/2019

Deterministic Parallel Fixpoint Computation

Abstract interpretation is a general framework for expressing static pro...
research
10/27/2020

Extended abstract: Type oriented programming for task based parallelism

Writing parallel codes is difficult and exhibits a fundamental trade-off...
research
12/04/2009

Deterministic Consistency: A Programming Model for Shared Memory Parallelism

The difficulty of developing reliable parallel software is generating in...

Please sign up or login with your details

Forgot password? Click here to reset