Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms and Architectures - SPAA '98 1998
DOI: 10.1145/277651.277679
|View full text |Cite
|
Sign up to set email alerts
|

How “hard” is thread partitioning and how “bad” is a list scheduling based partitioning algorithm?

Abstract: Adequate compiler support is essential to take advantage of the emerging multithreaded architecture. In this paper, we address two important questions in thread partitioning, which is a key step in compiler design for multithreaded architectures. The questions in which we are interested are: how "hard" is it to partition threads and how "bad" will a heuristic partitioning algorithm be? We propose a cost model for both multithreaded machines and user programs, and we formulate the thread partition problem as an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

1999
1999
2009
2009

Publication Types

Select...
4
4
1

Relationship

3
6

Authors

Journals

citations
Cited by 11 publications
(5 citation statements)
references
References 23 publications
0
5
0
Order By: Relevance
“…Since connection-affinity based parallelizing approach divides global connection state table into independent sub-tables, and each subtable is private to its corresponding CPU core, it makes the sequential code one step closer to run in parallel by transforming a global table access with an extra pointer based dereferences. 7) In general, automatically parallelizing a sequential application is a hard problem with limited success [23] [24]. We believe that domain knowledge could help lead to a viable solution in automatically parallelizing a sequential application.…”
Section: Design Principlesmentioning
confidence: 99%
“…Since connection-affinity based parallelizing approach divides global connection state table into independent sub-tables, and each subtable is private to its corresponding CPU core, it makes the sequential code one step closer to run in parallel by transforming a global table access with an extra pointer based dereferences. 7) In general, automatically parallelizing a sequential application is a hard problem with limited success [23] [24]. We believe that domain knowledge could help lead to a viable solution in automatically parallelizing a sequential application.…”
Section: Design Principlesmentioning
confidence: 99%
“…In [43], we have also proved that when $ is zero the run length produced by any list-scheduling-based partitioning algorithm is not twice longer than that of an optimal solution. These two results form a foundation to apply heuristic algorithms in practice.…”
Section: -Partitionmentioning
confidence: 84%
“…Then at most t tasks can be executed concurrently on this processor. Multi-threading is important for hiding communication latency and overlapping computation with communication [Tang and Gao, 1998]. We have shown how to build parameterized polyhedrons that describe starting tasks.…”
Section: Multi-threaded Execution Of Clustersmentioning
confidence: 99%