Skip to main navigation Skip to search Skip to main content

Isolating determinism in multi-threaded programs

  • Purdue University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Futures are a program abstraction that express a simple form of fork-join parallelism. The expression future (e) declares that e can be evaluated concurrently with the future's continuation. Safe-futures provide additional deterministic guarantees, ensuring that all data dependencies found in the original (non-future annotated) version are respected. In this paper, we present a dynamic analysis for enforcing determinism of safe-futures in an ML-like language with dynamic thread creation and first-class references. Our analysis tracks the interaction between futures (and their continuations) with other explicitly defined threads of control, and enforces an isolation property that prevents the effects of a continuation from being witnessed by its future, indirectly through their interactions with other threads. Our analysis is defined via a lightweight capability-based dependence tracking mechanism that serves as a compact representation of an effect history. Implementation results support our premise that futures and threads can extract additional parallelism compared to traditional approaches for safe-futures.

Original languageEnglish
Title of host publicationRuntime Verification - Second International Conference, RV 2011, Revised Selected Papers
Pages63-77
Number of pages15
DOIs
StatePublished - 2012
Event2nd International Conference on Runtime Verification, RV 2011 - San Francisco, CA, United States
Duration: Sep 27 2011Sep 30 2011

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7186 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference2nd International Conference on Runtime Verification, RV 2011
Country/TerritoryUnited States
CitySan Francisco, CA
Period09/27/1109/30/11

Fingerprint

Dive into the research topics of 'Isolating determinism in multi-threaded programs'. Together they form a unique fingerprint.

Cite this