2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) 2016
DOI: 10.1109/micro.2016.7783708
|View full text |Cite
|
Sign up to set email alerts
|

Data-centric execution of speculative parallel programs

Abstract: Abstract-Multicore systems must exploit locality to scale, scheduling tasks to minimize data movement. While localityaware parallelism is well studied in non-speculative systems, it has received little attention in speculative systems (e.g., HTM or TLS), which hinders their scalability.We present spatial hints, a technique that leverages program knowledge to reveal and exploit locality in speculative parallel programs. A hint is an abstract integer, given when a speculative task is created, that denotes the da… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
16
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 21 publications
(21 citation statements)
references
References 77 publications
(103 reference statements)
1
16
0
Order By: Relevance
“…However, speculative execution in software incurs significant performance overheads as a commit queue has to be maintained, conflicts need to be detected, and values are buffered for potential rollback on conflicts. Hardware solutions have been proposed to reduce the overheads of speculative execution [2,[24][25][26]42], but it is costly to build customized hardware. Furthermore, some ordered graph algorithms, such as approximate set cover and k-core, cannot be easily expressed with speculative execution.…”
Section: Related Workmentioning
confidence: 99%
“…However, speculative execution in software incurs significant performance overheads as a commit queue has to be maintained, conflicts need to be detected, and values are buffered for potential rollback on conflicts. Hardware solutions have been proposed to reduce the overheads of speculative execution [2,[24][25][26]42], but it is costly to build customized hardware. Furthermore, some ordered graph algorithms, such as approximate set cover and k-core, cannot be easily expressed with speculative execution.…”
Section: Related Workmentioning
confidence: 99%
“…The CP is used for task dependence analysis and schedule tasks when they are ready. Swarm [25] uses the co-design of the execution model and micro-architecture to exploit ordered irregular task parallelism. It relies on speculative task execution and conflict detection to preserve dependences, which requires hardware transactional memory support.…”
Section: Related Workmentioning
confidence: 99%
“…Swarm [12] relies on speculative task execution and conflict detection to preserve dependences. Swarm requires hardware support for speculation instead of for dependence management and uses either a FIFO or a spatial scheduler fixed in the architecture [13]. Fractal [14] extends Swarm to allow nested parallelism by means of task domains, that can be ordered or unordered to avoid over-serialization.…”
Section: Related Workmentioning
confidence: 99%
“…Considering task criticality [16], [17] or data locality [13] provides significant benefits in certain contexts. Moreover, the adaptability granted by software task schedulers is essential in modern high-performance computing systems with off-chip accelerators and multi-socket configurations, that can further improve performance and energy efficiency but require software intervention for task scheduling and data motion.…”
Section: Introductionmentioning
confidence: 99%