Analyzing Permission Transfer Channels for Dynamically Typed Languages - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Communication Dans Un Congrès Année : 2021

Analyzing Permission Transfer Channels for Dynamically Typed Languages

Résumé

Communicating Sequential Process (CSP) is nowadays a popular concurrency model in which threads/processes communicate by exchanging data through channels. Channels help in orchestrating concurrent processes but do not solve perse data races. To prevent data races in the channel model, many programming languages rely on type systems to express ownership and behavioural restrictions such as immutability. However, dynamically-typed languages require run-time mechanisms because of the lack of type information at compile-time. In this paper, we propose to augment channels with four different permission transfer semantics. We explore two mechanisms to implement such permission transfers at run time: write barriers and partial-read barriers. To validate our approach we implemented a channel framework in Pharo, and we extended it with different permission transfer semantics. We report on performance measurements of both (a) the transfer overhead on a single object and on a graph of objects, and (b) the per-object access overhead incurred by ownership checks. This work stands as a cornerstone of future work on adaptive optimizations for permission transfer channels.
Fichier principal
Vignette du fichier
hal-version.pdf (644.63 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03347573 , version 1 (17-09-2021)

Identifiants

  • HAL Id : hal-03347573 , version 1

Citer

Théo Rogliano, Guillermo Polito, Luc Fabresse, Stéphane Ducasse. Analyzing Permission Transfer Channels for Dynamically Typed Languages. DLS 2021 - 17th ACM SIGPLAN International Symposium on Dynamic Languages, Oct 2021, Chicago, France. ⟨hal-03347573⟩
75 Consultations
82 Téléchargements

Partager

Gmail Facebook X LinkedIn More