2014
DOI: 10.1016/j.parco.2013.09.006
|View full text |Cite
|
Sign up to set email alerts
|

Chunks and Tasks: A programming model for parallelization of dynamic algorithms

Abstract: We propose Chunks and Tasks, a parallel programming model built on abstractions for both data and work. The application programmer specifies how data and work can be split into smaller pieces, chunks and tasks, respectively. The Chunks and Tasks library maps the chunks and tasks to physical resources. In this way we seek to combine user friendliness with high performance. An application programmer can express a parallel algorithm using a few simple building blocks, defining data and work objects and their rela… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
18
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
5
3

Relationship

1
7

Authors

Journals

citations
Cited by 18 publications
(18 citation statements)
references
References 34 publications
0
18
0
Order By: Relevance
“…Distributed task frameworks that are based on, to some extent, other programming models are, e.g., Charm++ [17,18], which implements messagedriven execution, where the arrival of a data object prompts the execution of a task, and Chunks and Tasks [19], where chunks are immutable data objects that can be split hierarchically into smaller chunks, and tasks are objects that work on chunks, and can generate new tasks.…”
Section: Introductionmentioning
confidence: 99%
“…Distributed task frameworks that are based on, to some extent, other programming models are, e.g., Charm++ [17,18], which implements messagedriven execution, where the arrival of a data object prompts the execution of a task, and Chunks and Tasks [19], where chunks are immutable data objects that can be split hierarchically into smaller chunks, and tasks are objects that work on chunks, and can generate new tasks.…”
Section: Introductionmentioning
confidence: 99%
“…In the present work we use the Chunks and Tasks model as implemented in the proof-of-concept runtime library CHT-MPI, freely available for downloading at http://chunks-and-tasks.org/. The library is written in C++ and parallelized using MPI and Pthreads [24]. A work stealing approach is used to achieve load balancing.…”
Section: Chunks and Tasks Implementationmentioning
confidence: 99%
“…In this article we build on our previous work on a sparse matrix library based on sparse quaternary tree (quad-tree) matrix representation implemented using the Chunks and Tasks programming model [24,25]. The library is called the Chunks and Tasks Matrix Library (CHTML) and is publicly available at chunks-and-tasks.…”
mentioning
confidence: 99%
“…Asynchronous parallel programming is relatively new to scientific applications so we investigated two asynchronous task-based runtime systems, namely Intel Concurrent Collections CnC [5] and Charm++ [30], to schedule and execute SP2 subproblems. Detailed descriptions of CnC and Charm++ are found in Appendix A.…”
Section: Selection Of a Runtime Systemmentioning
confidence: 99%
“…The runtime system uses the partitioned graph to divide the SP2 calculation into independent dense matrix-matrix multiplication subproblems. These subproblems are assigned to processors using a task-based scheduler such as CnC [5] or Charm++ [30]. The resulting P is collected and sent back to the QMD application.…”
Section: Introductionmentioning
confidence: 99%