Region and effect inference for safe parallelism.

Saved in:
Bibliographic Details
Title: Region and effect inference for safe parallelism.
Authors: Tzannes, Alexandros1 atzannes@gmail.com, Heumann, Stephen T.1, Eloussi, Lamyaa1, Vakilian, Mohsen1, Adve, Vikram S.1, Han, Michael2
Source: Automated Software Engineering. Jun2019, Vol. 26 Issue 2, p463-509. 47p.
Subjects: Algorithms, Mathematical optimization, C++, Java programming language, Mathematical analysis, Recursion theory
Abstract: In this paper, we present the first full regions-and-effects inference algorithm for explicitly parallel fork-join programs. We infer annotations equivalent to those in Deterministic Parallel Java (DPJ) for type-safe C++ programs. We chose the DPJ annotations because they give the strongest safety guarantees of any existing concurrency-checking approach we know of, static or dynamic, and it is also the most expressive static checking system we know of that gives strong safety guarantees. This expressiveness, however, makes manual annotation difficult and tedious, which motivates the need for automatic inference, but it also makes the inference problem very challenging: the code may use region polymorphism, imperative updates with complex aliasing, arbitrary recursion, hierarchical region specifications, and wildcard elements to describe potentially infinite sets of regions. We express the inference as a constraint satisfaction problem and develop, implement, and evaluate an algorithm for solving it. The region and effect annotations inferred by the algorithm constitute a checkable proof of safe parallelism, and it can be recorded both for documentation and for fast and modular safety checking. [ABSTRACT FROM AUTHOR]
Copyright of Automated Software Engineering is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 136674837
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Region and effect inference for safe parallelism.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Tzannes%2C+Alexandros%22">Tzannes, Alexandros</searchLink><relatesTo>1</relatesTo><i> atzannes@gmail.com</i><br /><searchLink fieldCode="AR" term="%22Heumann%2C+Stephen+T%2E%22">Heumann, Stephen T.</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Eloussi%2C+Lamyaa%22">Eloussi, Lamyaa</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Vakilian%2C+Mohsen%22">Vakilian, Mohsen</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Adve%2C+Vikram+S%2E%22">Adve, Vikram S.</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Han%2C+Michael%22">Han, Michael</searchLink><relatesTo>2</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Automated+Software+Engineering%22">Automated Software Engineering</searchLink>. Jun2019, Vol. 26 Issue 2, p463-509. 47p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Algorithms%22">Algorithms</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+optimization%22">Mathematical optimization</searchLink><br /><searchLink fieldCode="DE" term="%22C%2B%2B%22">C++</searchLink><br /><searchLink fieldCode="DE" term="%22Java+programming+language%22">Java programming language</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+analysis%22">Mathematical analysis</searchLink><br /><searchLink fieldCode="DE" term="%22Recursion+theory%22">Recursion theory</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: In this paper, we present the first full regions-and-effects inference algorithm for explicitly parallel fork-join programs. We infer annotations equivalent to those in Deterministic Parallel Java (DPJ) for type-safe C++ programs. We chose the DPJ annotations because they give the strongest safety guarantees of any existing concurrency-checking approach we know of, static or dynamic, and it is also the most expressive static checking system we know of that gives strong safety guarantees. This expressiveness, however, makes manual annotation difficult and tedious, which motivates the need for automatic inference, but it also makes the inference problem very challenging: the code may use region polymorphism, imperative updates with complex aliasing, arbitrary recursion, hierarchical region specifications, and wildcard elements to describe potentially infinite sets of regions. We express the inference as a constraint satisfaction problem and develop, implement, and evaluate an algorithm for solving it. The region and effect annotations inferred by the algorithm constitute a checkable proof of safe parallelism, and it can be recorded both for documentation and for fast and modular safety checking. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Automated Software Engineering is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=136674837
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10515-019-00257-3
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 47
        StartPage: 463
    Subjects:
      – SubjectFull: Algorithms
        Type: general
      – SubjectFull: Mathematical optimization
        Type: general
      – SubjectFull: C++
        Type: general
      – SubjectFull: Java programming language
        Type: general
      – SubjectFull: Mathematical analysis
        Type: general
      – SubjectFull: Recursion theory
        Type: general
    Titles:
      – TitleFull: Region and effect inference for safe parallelism.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Tzannes, Alexandros
      – PersonEntity:
          Name:
            NameFull: Heumann, Stephen T.
      – PersonEntity:
          Name:
            NameFull: Eloussi, Lamyaa
      – PersonEntity:
          Name:
            NameFull: Vakilian, Mohsen
      – PersonEntity:
          Name:
            NameFull: Adve, Vikram S.
      – PersonEntity:
          Name:
            NameFull: Han, Michael
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 06
              Text: Jun2019
              Type: published
              Y: 2019
          Identifiers:
            – Type: issn-print
              Value: 09288910
          Numbering:
            – Type: volume
              Value: 26
            – Type: issue
              Value: 2
          Titles:
            – TitleFull: Automated Software Engineering
              Type: main
ResultId 1