Show simple item record

dc.contributor.authorDiavastos, Andreasen
dc.contributor.authorTrancoso, Pedroen
dc.contributor.authorLuján, M.en
dc.contributor.authorWatson, I.en
dc.creatorDiavastos, Andreasen
dc.creatorTrancoso, Pedroen
dc.creatorLuján, M.en
dc.creatorWatson, I.en
dc.date.accessioned2019-11-13T10:39:49Z
dc.date.available2019-11-13T10:39:49Z
dc.date.issued2016
dc.identifier.urihttp://gnosis.library.ucy.ac.cy/handle/7/53819
dc.description.abstractThe 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. © 2015, Springer Science+Business Media New York.en
dc.sourceInternational Journal of Parallel Programmingen
dc.source.urihttps://www.scopus.com/inward/record.uri?eid=2-s2.0-84931418090&doi=10.1007%2fs10766-015-0369-2&partnerID=40&md5=71f5712135445163b6c85d0f402d59ce
dc.subjectComputer architectureen
dc.subjectEmbedded systemsen
dc.subjectConcurrency controlen
dc.subjectData transferen
dc.subjectMicroprocessor chipsen
dc.subjectMulticore programmingen
dc.subjectJava programming languageen
dc.subjectData integrationen
dc.subjectMulti-threadingen
dc.subjectData flow analysisen
dc.subjectStorage allocation (computer)en
dc.subjectFunctional programmingen
dc.subjectProgramming modelsen
dc.subjectData flow modelingen
dc.subjectData-Driven Multi-threadingen
dc.subjectData-Flow modelen
dc.subjectFuture multi-coresen
dc.subjectTransactional Memoryen
dc.titleIntegrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platformen
dc.typeinfo:eu-repo/semantics/article
dc.identifier.doi10.1007/s10766-015-0369-2
dc.description.volume44
dc.description.issue2
dc.description.startingpage257
dc.description.endingpage277
dc.author.faculty002 Σχολή Θετικών και Εφαρμοσμένων Επιστημών / Faculty of Pure and Applied Sciences
dc.author.departmentΤμήμα Πληροφορικής / Department of Computer Science
dc.type.uhtypeArticleen
dc.description.notes<p>Cited By :1</p>en
dc.source.abbreviationInt J Parallel Programen
dc.contributor.orcidTrancoso, Pedro [0000-0002-2776-9253]
dc.contributor.orcidDiavastos, Andreas [0000-0002-7139-4444]
dc.gnosis.orcid0000-0002-2776-9253
dc.gnosis.orcid0000-0002-7139-4444


Files in this item

FilesSizeFormatView

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record