dc.contributor.author |
Mehrabi, Mostafa |
en |
dc.contributor.author |
Giacaman, Nasser |
en |
dc.contributor.author |
Sinnen, Oliver |
en |
dc.date.accessioned |
2018-12-10T00:32:16Z |
en |
dc.date.issued |
2019-01-10 |
en |
dc.identifier.citation |
Concurrency and Computation: Practice and Experience 31(1):30 pages Article number e4831 10 Jan 2019 |
en |
dc.identifier.issn |
1532-0626 |
en |
dc.identifier.uri |
http://hdl.handle.net/2292/44964 |
en |
dc.description.abstract |
Parallel computing techniques have been supported by programming languages in two major ways: either library‐based APIs or extended language constructs. Library‐based features are portable and offer fine‐grained control on parallelization details. However, they rely on individual programmer skills; thus, they may lead to inconsistent implementations and considerable code restructurings. On the contrary, language constructs promote environments that largely conceal the details of parallel programming techniques. However, they normally reduce programmer control over the granularity of parallelization and impose additional development concepts and compilation requirements that may sacrifice ease of use and portability. Therefore, approaches that balance between programmer control on parallelization details, intuitiveness of concepts, and portability can gain priority over other paradigms. In this paper, we discuss @PT (Annotation Parallel Task), a parallel computing framework that proposes Java annotations, standard Java components, as its language constructs. @PT takes an object‐oriented approach on efficient execution and management of asynchronous tasks, with a special focus on GUI‐responsive applications. This paper presents the annotation‐based programming interface of the framework and its fundamental parallelization concepts. Furthermore, it studies the usability and performance of @PT by comparisons with other Java parallelization approaches in a set of standard benchmarks. The observations suggest that @PT maintains a simple programming interface, whereas it performs efficiently in different parallel computing domains. |
en |
dc.language |
English |
en |
dc.publisher |
Wiley |
en |
dc.relation.ispartofseries |
Concurrency and Computation: Practice and Experience |
en |
dc.rights |
Items in ResearchSpace are protected by copyright, with all rights reserved, unless otherwise indicated. Previously published items are made available in accordance with the copyright policy of the publisher. |
en |
dc.rights |
This is the peer reviewed version of the following article: Mehrabi M, Giacaman N, & Sinnen O (2019). @PT: Unobtrusive parallel programming with Java annotations. Concurrency and Computation: Practice and Experience 31(1):30 pages Article number e4831, which has been published in final form at http://dx.doi.org/10.1002/cpe.4831. This article may be used for non-commercial purposes in accordance with Wiley Terms and Conditions for Use of Self-Archived Versions. |
en |
dc.rights.uri |
https://researchspace.auckland.ac.nz/docs/uoa-docs/rights.htm |
en |
dc.rights.uri |
https://authorservices.wiley.com/author-resources/Journal-Authors/licensing/self-archiving.html |
en |
dc.subject |
Science & Technology |
en |
dc.subject |
Technology |
en |
dc.subject |
Computer Science, Software Engineering |
en |
dc.subject |
Computer Science, Theory & Methods |
en |
dc.subject |
Computer Science |
en |
dc.subject |
annotation |
en |
dc.subject |
GUI concurrency |
en |
dc.subject |
lambda expressions |
en |
dc.subject |
object-oriented |
en |
dc.subject |
parallel |
en |
dc.subject |
parallel tasks |
en |
dc.title |
@PT: Unobtrusive parallel programming with Java annotations |
en |
dc.type |
Journal Article |
en |
dc.identifier.doi |
10.1002/cpe.4831 |
en |
pubs.issue |
1 |
en |
pubs.volume |
31 |
en |
dc.rights.holder |
Copyright: Wiley |
en |
pubs.publication-status |
Published |
en |
dc.rights.accessrights |
http://purl.org/eprint/accessRights/OpenAccess |
en |
pubs.subtype |
Article |
en |
pubs.elements-id |
752769 |
en |
pubs.org-id |
Engineering |
en |
pubs.org-id |
Department of Electrical, Computer and Software Engineering |
en |
dc.identifier.eissn |
1532-0634 |
en |
pubs.number |
e4831 |
en |
pubs.record-created-at-source-date |
2019-01-16 |
en |