Types, regions, and effects for safe programming with object-oriented parallel frameworks

Robert L. Bocchino, Vikram S. Adve

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Object-oriented frameworks can make parallel programming easier by providing generic parallel algorithms such as map, reduce, or pipeline and letting the user fill in the details with sequential code. However, such frameworks can produce incorrect behavior if they are not carefully used, e.g., if a user-supplied function performs an unsynchronized access to a global variable. We develop novel techniques that can prevent such errors. Building on a language (Deterministic Parallel Java, or DPJ) with an expressive region-based type and effect system, we show how to write a framework API that enables sound reasoning about the effects of unknown user-supplied methods. We also describe novel extensions to DPJ that enable generic types and effects while retaining soundness. We present a formal semantics and soundness properties for the language. Finally, we describe an evaluation showing that our technique can express three parallel frameworks and three realistic parallel algorithms using those frameworks.

Original languageEnglish (US)
Title of host publicationECOOP 2011 - Object-Oriented Programming - 25th European Conference, Proceedings
Pages306-332
Number of pages27
DOIs
StatePublished - 2011
Event25th European Conference on Object-Oriented Programming, ECOOP 2011 - Lancaster, United Kingdom
Duration: Jul 25 2011Jul 29 2011

Publication series

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

Other

Other25th European Conference on Object-Oriented Programming, ECOOP 2011
Country/TerritoryUnited Kingdom
CityLancaster
Period7/25/117/29/11

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Types, regions, and effects for safe programming with object-oriented parallel frameworks'. Together they form a unique fingerprint.

Cite this