2003
DOI: 10.1002/cpe.745
|View full text |Cite
|
Sign up to set email alerts
|

A comparison of task pools for dynamic load balancing of irregular algorithms

Abstract: SUMMARYSince a static work distribution does not allow for satisfactory speed-ups of parallel irregular algorithms, there is a need for a dynamic distribution of work and data that can be adapted to the runtime behavior of the algorithm. Task pools are data structures which can distribute tasks dynamically to different processors where each task specifies computations to be performed and provides the data for these computations. This paper discusses the characteristics of task-based algorithms and describes th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
22
0
1

Year Published

2006
2006
2018
2018

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 36 publications
(23 citation statements)
references
References 50 publications
0
22
0
1
Order By: Relevance
“…For instance, load balancing schemes using tasks queues on shared-memory architectures are described in [11] and [12]. Languages such as Cilk [3], and X10 [21] have proposed efficient implementations of dynamic scheduling based on work stealing [4].…”
Section: Related Workmentioning
confidence: 99%
“…For instance, load balancing schemes using tasks queues on shared-memory architectures are described in [11] and [12]. Languages such as Cilk [3], and X10 [21] have proposed efficient implementations of dynamic scheduling based on work stealing [4].…”
Section: Related Workmentioning
confidence: 99%
“…For example, Hoffman, Korch, and Rauber [10], [13] describe and empirically evaluate a variety of implementations of task pools in software and hardware. They focus on the case where tasks have hierarchical dependencies, i.e., a parent task depends only on child tasks that it creates.…”
Section: Introductionmentioning
confidence: 99%
“…The thread pool consists of a group of worker threads that wait for work on the task queue [13]. The dependencies of each MB are expressed in a dependence table.…”
Section: Architecturementioning
confidence: 99%
“…Thread synchronization for task pools can be implemented in software or hardware. Software implementations uses blocking locks (like P-threads mutex), spin-locks or non-blocking synchronization [13]. Thread synchronization by hardware consists on implementing of the basic operations of the task pool, like enqueue and dequeue, using hardware controlled data structures [18], [19].…”
Section: Accelerating Synchronization and Schedulingmentioning
confidence: 99%