The Glasgow Parallel Reduction Machine: Programming Shared-memory Many-core Systems using Parallel Task Composition

We present the Glasgow Parallel Reduction Machine (GPRM), a novel, flexible framework for parallel task-composition based many-core programming. We allow the programmer to structure programs into task code, written as C++ classes, and communication code, written in a restricted subset of C++ with fu...

Full description

Saved in:
Bibliographic Details
Published in:arXiv.org
Main Authors: Tousimojarad, Ashkan, Vanderbauwhede, Wim
Format: Paper
Language:English
Published: Ithaca Cornell University Library, arXiv.org 10.12.2013
Subjects:
ISSN:2331-8422
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract We present the Glasgow Parallel Reduction Machine (GPRM), a novel, flexible framework for parallel task-composition based many-core programming. We allow the programmer to structure programs into task code, written as C++ classes, and communication code, written in a restricted subset of C++ with functional semantics and parallel evaluation. In this paper we discuss the GPRM, the virtual machine framework that enables the parallel task composition approach. We focus the discussion on GPIR, the functional language used as the intermediate representation of the bytecode running on the GPRM. Using examples in this language we show the flexibility and power of our task composition framework. We demonstrate the potential using an implementation of a merge sort algorithm on a 64-core Tilera processor, as well as on a conventional Intel quad-core processor and an AMD 48-core processor system. We also compare our framework with OpenMP tasks in a parallel pointer chasing algorithm running on the Tilera processor. Our results show that the GPRM programs outperform the corresponding OpenMP codes on all test platforms, and can greatly facilitate writing of parallel programs, in particular non-data parallel algorithms such as reductions.
AbstractList We present the Glasgow Parallel Reduction Machine (GPRM), a novel, flexible framework for parallel task-composition based many-core programming. We allow the programmer to structure programs into task code, written as C++ classes, and communication code, written in a restricted subset of C++ with functional semantics and parallel evaluation. In this paper we discuss the GPRM, the virtual machine framework that enables the parallel task composition approach. We focus the discussion on GPIR, the functional language used as the intermediate representation of the bytecode running on the GPRM. Using examples in this language we show the flexibility and power of our task composition framework. We demonstrate the potential using an implementation of a merge sort algorithm on a 64-core Tilera processor, as well as on a conventional Intel quad-core processor and an AMD 48-core processor system. We also compare our framework with OpenMP tasks in a parallel pointer chasing algorithm running on the Tilera processor. Our results show that the GPRM programs outperform the corresponding OpenMP codes on all test platforms, and can greatly facilitate writing of parallel programs, in particular non-data parallel algorithms such as reductions.
Author Vanderbauwhede, Wim
Tousimojarad, Ashkan
Author_xml – sequence: 1
  givenname: Ashkan
  surname: Tousimojarad
  fullname: Tousimojarad, Ashkan
– sequence: 2
  givenname: Wim
  surname: Vanderbauwhede
  fullname: Vanderbauwhede, Wim
BookMark eNo9zUtPAjEYheHGaCIie5dNXA_2Ohd3hiiaYCQye_LN9CsMzrTYMiL_XojG1dm8ec4VOXfeISE3nI1VrjW7g_DdfI255GIsMibPyEBIyZNcCXFJRjFuGGMizYTWckBiuUY6bSGu_J7OIUDbYkvf0fT1rvGOvkK9bhze03nwqwBd17gVXawhoEk67Hw4HBN3SGofkC4OcYddpH08Vf9aCfGDTny39bE5odfkwkIbcfS3Q1I-PZaT52T2Nn2ZPMwS0JwlAtKqzo0yoFLOCi4ty4yWEjNpeSVqI5DlaVFU3ECNIHOpLKgKrLLIbaHlkNz-stvgP3uMu-XG98EdH5eC5TorGJdM_gDAl1-x
ContentType Paper
Copyright 2013. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Copyright_xml – notice: 2013. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
DBID 8FE
8FG
ABJCF
ABUWG
AFKRA
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
HCIFZ
L6V
M7S
PHGZM
PHGZT
PIMPY
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
DOI 10.48550/arxiv.1312.2703
DatabaseName ProQuest SciTech Collection
ProQuest Technology Collection
Materials Science & Engineering Collection
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
ProQuest Central Essentials - QC
ProQuest Central
ProQuest Technology Collection
ProQuest One
ProQuest Central
SciTech Premium Collection
ProQuest Engineering Collection
Engineering Database
ProQuest One Academic
ProQuest One Academic
ProQuest Publicly Available Content Database
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
ProQuest Central China
Engineering Collection
DatabaseTitle Publicly Available Content Database
Engineering Database
Technology Collection
ProQuest One Academic Middle East (New)
ProQuest Central Essentials
ProQuest One Academic Eastern Edition
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
ProQuest Technology Collection
ProQuest SciTech Collection
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Engineering Collection
ProQuest One Academic UKI Edition
ProQuest Central Korea
Materials Science & Engineering Collection
ProQuest Central (New)
ProQuest One Academic
ProQuest One Academic (New)
Engineering Collection
DatabaseTitleList Publicly Available Content Database
Database_xml – sequence: 1
  dbid: PIMPY
  name: ProQuest Publicly Available Content Database
  url: http://search.proquest.com/publiccontent
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Physics
EISSN 2331-8422
Genre Working Paper/Pre-Print
GroupedDBID 8FE
8FG
ABJCF
ABUWG
AFKRA
ALMA_UNASSIGNED_HOLDINGS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
FRJ
HCIFZ
L6V
M7S
M~E
PHGZM
PHGZT
PIMPY
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
ID FETCH-LOGICAL-a510-2a6bc8d4da4610913f07d533e73f1b2cd2e08699b1dacea3834fa4baf4fe1f953
IEDL.DBID BENPR
IngestDate Mon Jun 30 09:31:36 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a510-2a6bc8d4da4610913f07d533e73f1b2cd2e08699b1dacea3834fa4baf4fe1f953
Notes SourceType-Working Papers-1
ObjectType-Working Paper/Pre-Print-1
content type line 50
OpenAccessLink https://www.proquest.com/docview/2085790130?pq-origsite=%requestingapplication%
PQID 2085790130
PQPubID 2050157
ParticipantIDs proquest_journals_2085790130
PublicationCentury 2000
PublicationDate 20131210
PublicationDateYYYYMMDD 2013-12-10
PublicationDate_xml – month: 12
  year: 2013
  text: 20131210
  day: 10
PublicationDecade 2010
PublicationPlace Ithaca
PublicationPlace_xml – name: Ithaca
PublicationTitle arXiv.org
PublicationYear 2013
Publisher Cornell University Library, arXiv.org
Publisher_xml – name: Cornell University Library, arXiv.org
SSID ssj0002672553
Score 1.5236909
SecondaryResourceType preprint
Snippet We present the Glasgow Parallel Reduction Machine (GPRM), a novel, flexible framework for parallel task-composition based many-core programming. We allow the...
SourceID proquest
SourceType Aggregation Database
SubjectTerms C++ (programming language)
Composition
Computer memory
Microprocessors
Parallel programming
Reduction
Semantics
Sorting algorithms
Virtual environments
Title The Glasgow Parallel Reduction Machine: Programming Shared-memory Many-core Systems using Parallel Task Composition
URI https://www.proquest.com/docview/2085790130
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1LTwIxEG4UNPHkOz6Q9OC1QLvdlxcTDagHyAY54Il02ykhysNdRPn3tmWRePHicbObzaaznfk68-X7ELoWIU0DA6MJcJkSHoMgkVANwilPIQhUBFw4s4mw04n6_TgpGm55Qatc50SXqNVU2h553XlJxnbOdjt7J9Y1yk5XCwuNbVS2SmXmPy_fNTtJ96fLwoLQYGZvNZ904l11kX2NFjXqUVZjofPK-p2DXWFp7f_3kw5QOREzyA7RFkyO0K4jdMr8GOUm_vjBQOPh9BMnIrOWKW-4a4VabShw25Eo4QYnK4LW2JQwbNWbQZGxZd8uzSOTJbEql7iQNceWJD_cvK0n8ldsE0pB_DpBvVazd_9ICoMFIsxWJEwEqYwUV8KJrlNPN0Jl4B-EnqYpk4qBOfDEcUqVkCDMWZZrwVOhuQaqY987RaXJdAJnCEdUagPtgoZWPgcdGdAZ-r4PACbZMiHPUWW9hINik-SDzfpd_H37Eu0x60JBmakaFVSaZx9whXbkYj7Ks2oR86qlbT6bq-Spnbx8A9l9vHY
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V25TgMxELWiAIKKW9y4gNIQO84eSIiCM4JEK5QiVJHXHkcISGCXKx_FPzJ2NkQ0dCmod7WSd0Zvnj3P8wjZUyFPA6TRDKROmYxBsUiZCpNcphAEJgKpvNlE2GxG7XaclMjX6C6Mk1WOMNEDtelrd0Z-6L0kY9dnO3l-Yc41ynVXRxYaw7S4hsEHbtny4_oZxndfiIvz1ukVK1wFmML8Y0IFqY6MNMpPGudVWwkNch4Iq5anQhsByPLjOOVGaVC4gZNWyVRZaYHb2JlEIOJPScz1SplMJfVGcvdzqCOCECl6ddgO9bPCDlX2ef9-wKtcHIjQW3P9hnxfxy7m_9kfWMCVq2fIFkkJektkxstVdb5McsxueonEv9v_oInKnCHMI711Y2hdotGGl4jCEU2G8rMnLNDUzaYGw56ctniAr_QGzM3wpMXQduquAHTHX2up_IE6uCxkbSukNYllrpJyr9-DNUIjri0S16BiTU2CjZBSh7VaDQCwlAil18nWKGKdAgLyzjhcG38_3iWzV63GTeem3rzeJHPC-W1wgfVxi5RfszfYJtP6_fU-z3aKdKOkM-HwfgP_GhdL
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=The+Glasgow+Parallel+Reduction+Machine%3A+Programming+Shared-memory+Many-core+Systems+using+Parallel+Task+Composition&rft.jtitle=arXiv.org&rft.au=Tousimojarad%2C+Ashkan&rft.au=Vanderbauwhede%2C+Wim&rft.date=2013-12-10&rft.pub=Cornell+University+Library%2C+arXiv.org&rft.eissn=2331-8422&rft_id=info:doi/10.48550%2Farxiv.1312.2703