Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform.

Saved in:
Bibliographic Details
Title: Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform.
Authors: Diavastos, Andreas1 diavastos@cs.ucy.ac.cy, Trancoso, Pedro1 pedro@cs.ucy.ac.cy, Luján, Mikel2 mikel@cs.manchester.ac.uk, Watson, Ian2 watson@cs.manchester.ac.uk
Source: International Journal of Parallel Programming. Apr2016, Vol. 44 Issue 2, p257-277. 21p.
Subjects: Simultaneous multithreading processors, Parallel programming, Data flow computing, Routing (Computer network management), Information sharing
Abstract: The introduction of multi-core processors has renewed the interest in programming models which can efficiently exploit general purpose parallelism. Data-Flow is one such model which has demonstrated significant potential in the past. However, it is generally associated with functional styles of programming which do not deal well with shared mutable state. There have been a number of attempts to introduce state into Data-Flow models and functional languages but none have proved able to maintain the simplicity and efficiency of pure Data-Flow parallelism. Transactional memory is a concurrency control mechanism that simplifies sharing data when developing parallel applications while at the same time promises to deliver affordable performance. In this paper we report our experience of integrating Transactional Memory and Data-Flow within the TFlux Platform. The ability of the Data-Flow model to expose large amounts of parallelism is maintained while Transactional Memory provides simplified sharing of mutable data in those circumstances where it is important to the expression of the program. The isolation property of transactions ensures that the exploitation of Data-Flow parallelism is not compromised. In this study we extend the TFlux platform, a Data-Driven Multi-threading implementation, to support transactions. We achieve this by proposing new pragmas that allow the programmer to specify transactions. In addition we extend the runtime functionality by integrating a software transactional memory library with TFlux. To test the proposed system, we ported two applications that require transactional memory: Random Counter and Labyrinth an implementation of Lee's parallel routing algorithm. Our results show good opportunities for scaling when using the integration of the two models. [ABSTRACT FROM AUTHOR]
Copyright of International Journal of Parallel Programming 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 Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 114191206
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Diavastos%2C+Andreas%22">Diavastos, Andreas</searchLink><relatesTo>1</relatesTo><i> diavastos@cs.ucy.ac.cy</i><br /><searchLink fieldCode="AR" term="%22Trancoso%2C+Pedro%22">Trancoso, Pedro</searchLink><relatesTo>1</relatesTo><i> pedro@cs.ucy.ac.cy</i><br /><searchLink fieldCode="AR" term="%22Luján%2C+Mikel%22">Luján, Mikel</searchLink><relatesTo>2</relatesTo><i> mikel@cs.manchester.ac.uk</i><br /><searchLink fieldCode="AR" term="%22Watson%2C+Ian%22">Watson, Ian</searchLink><relatesTo>2</relatesTo><i> watson@cs.manchester.ac.uk</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22International+Journal+of+Parallel+Programming%22">International Journal of Parallel Programming</searchLink>. Apr2016, Vol. 44 Issue 2, p257-277. 21p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Simultaneous+multithreading+processors%22">Simultaneous multithreading processors</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programming%22">Parallel programming</searchLink><br /><searchLink fieldCode="DE" term="%22Data+flow+computing%22">Data flow computing</searchLink><br /><searchLink fieldCode="DE" term="%22Routing+%28Computer+network+management%29%22">Routing (Computer network management)</searchLink><br /><searchLink fieldCode="DE" term="%22Information+sharing%22">Information sharing</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: The introduction of multi-core processors has renewed the interest in programming models which can efficiently exploit general purpose parallelism. Data-Flow is one such model which has demonstrated significant potential in the past. However, it is generally associated with functional styles of programming which do not deal well with shared mutable state. There have been a number of attempts to introduce state into Data-Flow models and functional languages but none have proved able to maintain the simplicity and efficiency of pure Data-Flow parallelism. Transactional memory is a concurrency control mechanism that simplifies sharing data when developing parallel applications while at the same time promises to deliver affordable performance. In this paper we report our experience of integrating Transactional Memory and Data-Flow within the TFlux Platform. The ability of the Data-Flow model to expose large amounts of parallelism is maintained while Transactional Memory provides simplified sharing of mutable data in those circumstances where it is important to the expression of the program. The isolation property of transactions ensures that the exploitation of Data-Flow parallelism is not compromised. In this study we extend the TFlux platform, a Data-Driven Multi-threading implementation, to support transactions. We achieve this by proposing new pragmas that allow the programmer to specify transactions. In addition we extend the runtime functionality by integrating a software transactional memory library with TFlux. To test the proposed system, we ported two applications that require transactional memory: Random Counter and Labyrinth an implementation of Lee's parallel routing algorithm. Our results show good opportunities for scaling when using the integration of the two models. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of International Journal of Parallel Programming 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=114191206
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10766-015-0369-2
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 21
        StartPage: 257
    Subjects:
      – SubjectFull: Simultaneous multithreading processors
        Type: general
      – SubjectFull: Parallel programming
        Type: general
      – SubjectFull: Data flow computing
        Type: general
      – SubjectFull: Routing (Computer network management)
        Type: general
      – SubjectFull: Information sharing
        Type: general
    Titles:
      – TitleFull: Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Diavastos, Andreas
      – PersonEntity:
          Name:
            NameFull: Trancoso, Pedro
      – PersonEntity:
          Name:
            NameFull: Luján, Mikel
      – PersonEntity:
          Name:
            NameFull: Watson, Ian
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 04
              Text: Apr2016
              Type: published
              Y: 2016
          Identifiers:
            – Type: issn-print
              Value: 08857458
          Numbering:
            – Type: volume
              Value: 44
            – Type: issue
              Value: 2
          Titles:
            – TitleFull: International Journal of Parallel Programming
              Type: main
ResultId 1