Please use this identifier to cite or link to this item: https://hdl.handle.net/20.500.14279/33937
Title: Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform
Authors: Diavastos, Andreas 
Trancoso, Pedro 
Luján, Mikel 
Watson, Ian 
Major Field of Science: Engineering and Technology
Field Category: Computer and Information Sciences
Keywords: Data-Flow model;Data-Driven Multi-threading;Programming models;Future multi-cores;Transactional Memory
Issue Date: 1-Apr-2016
Source: International Journal of Parallel Programming, 2016, vol. 44, pp. 257-277
Volume: 44
Start page: 257
End page: 277
Journal: International Journal of Parallel Programming 
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.
URI: https://hdl.handle.net/20.500.14279/33937
ISSN: 08857458
DOI: 10.1007/s10766-015-0369-2
Rights: ©Springer Science+Business Media New York 2015
Type: Article
Affiliation : University of Cyprus 
University of Manchester 
Publication Type: Peer Reviewed
Appears in Collections:Άρθρα/Articles

CORE Recommender
Show full item record

Page view(s)

38
Last Week
19
Last month
checked on Feb 26, 2025

Google ScholarTM

Check

Altmetric


Items in KTISIS are protected by copyright, with all rights reserved, unless otherwise indicated.