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...
Saved in:
| Published in: | arXiv.org |
|---|---|
| Main Authors: | , |
| 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 Central Premium ProQuest One Academic (New) 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: 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/eLvHCXMwpV1LTwIxEG4UNPHkOz6Q9OC1QPddLyYaUA-QDXLAE2m3U0KUh7uI8u9tS5F48eJxs5vNpt2Z-Trz5fsQuhYQxUoDUaKshRltKCJk1CBxqCLBQqURQmbNJuJOJ-n3WeoaboWjVa5zok3UcpqZHnndekkyM2e7nb0T4xplpqvOQmMblY1Smf7Py3fNTtr96bJ4Uawxs7-aT1rxrjrPv0aLGvWpV_Ni65X1OwfbwtLa_-8nHaByymeQH6ItmByhXUvozIpjVOj9xw8aGg-nnzjlubFMecNdI9RqtgK3LYkSbnC6ImiNdQnDRr0ZJBkb9u1SPzJZEqNyiZ2sOTYk-eHmbT1evGKTUBzx6wT1Ws3e_SNxBguE61AkHo9ElshAciu6Tn3ViKWGfxD7igovkx7oAw9jgkqeAddn2UDxQHAVKKCKhf4pKk2mEzhDWOM8CBjX4Q88kL5ImIDQB4ikAhEl_BxV1ks4cEFSDDbrd_H37Uu05xkXCurpqlFBpXn-AVdoJ1vMR0VedXteNbTNZ32VPrXTl2_67Ly2 |
| linkProvider | ProQuest |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V09T8MwELWqFgQT3-IbDzAaGidNGiTEAJRW_VCEOpSpsuNzhYC2JKXQH8V_5OymVCxsHZgTRXLu9O7Zd36PkFMJfqCRiDJtLcycomZS-UUWlLQvw5JGhhBbs4mg1Sp3OmGUI1-zuzBmrHKGiRao1SA2Z-QX1ksyNH226-EbM65Rprs6s9CYpkUdJh-4ZUuvarcY3zPOK3ftmyrLXAWYwPxjXPgyLitPCas07ri6GCjkPBC42pE8VhyQ5YehdJSIQeAGztPCk0J7GhwdGpMIRPyCh7lezJNCVGtGjz-HOtwPkKK703ao1Qq7EMnn0_jccR1-zgNrzfUb8m0dq6z9sz-wjisXQ0g2SA76m2TZjqvG6RZJMbvpPRL_3uCDRiIxhjAv9MHI0JpEo007IgqXNJqOn71igaZGmxoUezWzxRN8pT9hRsOTZqLt1FwB6M2_1hbpMzVwmY21bZP2Ipa5Q_L9QR92CUUWC14oENxAeMqV5VBCyQXwlQbpl8UeOZxFrJtBQNqdh2v_78cnZKXabja6jVqrfkBWufHbcDjWx0OSHyXvcESW4vHoKU2Os3SjpLvg8H4Dx80Xiw |
| 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 |