uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Advances in Task-Based Parallel Programming for Distributed Memory Architectures
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Scientific Computing. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computational Science.
2018 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

It has become common knowledge that parallel programming is needed for scientific applications, particularly for running large scale simulations. Different programming models are introduced for simplifying parallel programming, while enabling an application to use the full computational capacity of the hardware. In task-based programming, all the variables in the program are abstractly viewed as data. Parallelism is provided by partitioning the data. A task is a collection of operations performed on input data to generate output data. In distributed memory environments, the data is distributed over the computational nodes (or processes), and is communicated when a task needs remote data.

This thesis discusses advanced techniques in distributed task-based parallel programming, implemented in the DuctTeip software library. DuctTeip uses MPI (Message Passing Interface) for asynchronous inter-process communication and Pthreads for shared memory parallelization within the processes. The data dependencies that determine which subsets of tasks can be executed in parallel are extracted from information about the data accesses (input or output) of the tasks. A versioning system is used internally to represent the task-data dependencies efficiently. A hierarchical partitioning of tasks and data allows for independent optimization of the size of computational tasks and the size of communicated data. A data listener technique is used to manage communication efficiently.

DuctTeip provides an algorithm independent dynamic load balancing functionality. Redistributing tasks from busy processes to idle processes dynamically can provide an overall shorter execution time. A random search method with high probability of success is employed for locating idle/busy nodes.

The advantage of the abstract view of tasks and data is exploited in a unified programming interface, which provides a standard for task-based frameworks to decouple framework development from application development. The interface can be used for collaboration between different frameworks in running an application program efficiently on different hardware.

To evaluate the DuctTeip programming model, applications such as Cholesky factorization, a time-dependent PDE solver for the shallow water equations, and the fast multipole method have been implemented using DuctTeip. Experiments show that DuctTeip provides both scalability and performance. Comparisons with similar frameworks such as StarPU, OmpSs, and PaRSEC show competitive results.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2018. , p. 42
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 1621
Keywords [en]
parallel programming, task-based programming, distributed memory system, scientific computing, hierarchical data, hierarchical tasks
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:uu:diva-338838ISBN: 978-91-513-0209-6 (print)OAI: oai:DiVA.org:uu-338838DiVA, id: diva2:1173783
Public defence
2018-03-02, ITC/2446, ITC, Lägerhyddsvägen 2, Uppsala, 10:00 (English)
Opponent
Supervisors
Projects
UPMARCAvailable from: 2018-02-09 Created: 2018-01-14 Last updated: 2019-02-25
List of papers
1. Programming models based on data versioning for dependency-aware task-based parallelisation
Open this publication in new window or tab >>Programming models based on data versioning for dependency-aware task-based parallelisation
2012 (English)In: Proc. 15th International Conference on Computational Science and Engineering, Los Alamitos, CA: IEEE Computer Society, 2012, p. 275-280Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Los Alamitos, CA: IEEE Computer Society, 2012
National Category
Software Engineering
Identifiers
urn:nbn:se:uu:diva-187446 (URN)10.1109/ICCSE.2012.45 (DOI)000317475000038 ()978-1-4673-5165-2 (ISBN)
Conference
CSE 2012
Projects
eSSENCEUPMARC
Available from: 2013-01-24 Created: 2012-12-06 Last updated: 2018-01-16Bibliographically approved
2. DuctTeip: An efficient programming model for distributed task based parallel computing
Open this publication in new window or tab >>DuctTeip: An efficient programming model for distributed task based parallel computing
2018 (English)In: Computing Research Repository, no 1801.03578Article in journal (Other academic) Submitted
National Category
Software Engineering
Identifiers
urn:nbn:se:uu:diva-338832 (URN)
Projects
UPMARCeSSENCE
Available from: 2018-01-10 Created: 2018-01-14 Last updated: 2018-04-18Bibliographically approved
3. TaskUniVerse: A Task-Based Unified Interface for Versatile Parallel Execution
Open this publication in new window or tab >>TaskUniVerse: A Task-Based Unified Interface for Versatile Parallel Execution
2018 (English)In: Parallel Processing and Applied Mathematics: Part I, Springer, 2018, p. 169-184Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Springer, 2018
Series
Lecture Notes in Computer Science ; 10777
National Category
Software Engineering
Identifiers
urn:nbn:se:uu:diva-338836 (URN)10.1007/978-3-319-78024-5_16 (DOI)000458563300016 ()978-3-319-78023-8 (ISBN)
Conference
PPAM 2017
Projects
eSSENCE
Available from: 2018-03-23 Created: 2018-01-14 Last updated: 2019-03-14Bibliographically approved
4. Parallelization of hierarchical matrix algorithms for electromagnetic scattering problems
Open this publication in new window or tab >>Parallelization of hierarchical matrix algorithms for electromagnetic scattering problems
Show others...
2019 (English)In: High-Performance Modelling and Simulation for Big Data Applications, Springer, 2019, p. 36-68Chapter in book (Refereed)
Place, publisher, year, edition, pages
Springer, 2019
National Category
Computer Sciences Computational Mathematics
Identifiers
urn:nbn:se:uu:diva-338833 (URN)10.1007/978-3-030-16272-6_2 (DOI)978-3-030-16271-9 (ISBN)
Projects
eSSENCE
Available from: 2019-03-26 Created: 2018-01-14 Last updated: 2019-03-29Bibliographically approved
5. Distributed dynamic load balancing for task parallel programming
Open this publication in new window or tab >>Distributed dynamic load balancing for task parallel programming
2018 (English)In: Computing Research Repository, no 1801.04582Article in journal (Other academic) Submitted
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-338835 (URN)
Projects
UPMARCeSSENCE
Available from: 2018-01-14 Created: 2018-01-14 Last updated: 2018-04-18Bibliographically approved

Open Access in DiVA

fulltext(795 kB)168 downloads
File information
File name FULLTEXT01.pdfFile size 795 kBChecksum SHA-512
ff83de16d1f6cd1e08f2e5e45476d07986401fd6a62cf15014e0a47c96defa43941d3d4c96f69d1205f16a0cde18859033dd8df95081bb064f7243bdd9ac25b0
Type fulltextMimetype application/pdf
Buy this publication >>

Authority records BETA

Zafari, Afshin

Search in DiVA

By author/editor
Zafari, Afshin
By organisation
Division of Scientific ComputingComputational Science
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 168 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1189 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf