Multi-Core and Hyper-Threading Technology
7
7-7
Parallel Programming Models
Two common programming models for transforming independent task
requirements into application threads are:
•
domain decomposition
•
functional decomposition
Domain Decomposition
Usually large compute-intensive tasks use data sets that can be divided
into a number of small subsets, each having a large degree of
computational independence. Examples include:
•
computation of a discrete cosine transformation (DCT) on
two-dimensional data by dividing the two-dimensional data into
several subsets and creating threads to compute the transform on
each subset
•
matrix multiplication; here, threads can be created to handle the
multiplication of half of matrix with the multiplier matrix
Domain Decomposition is a programming model based on creating
identical or similar threads to process smaller pieces of data
independently. This model can take advantage of duplicated execution
resources present in a traditional multiprocessor system. It can also take
advantage of shared execution resources between two logical processors
in Hyper-Threading Technology. This is because a data domain thread
typically consumes only a fraction of the available on-chip execution
resources.
The section “Key Practices of Execution Resource Optimization”
discusses additional guidelines that can help data domain threads use
shared execution resources cooperatively and avoid the pitfalls creating
contentions of hardware resources between two threads.
Содержание ARCHITECTURE IA-32
Страница 1: ...IA 32 Intel Architecture Optimization Reference Manual Order Number 248966 013US April 2006...
Страница 220: ...IA 32 Intel Architecture Optimization 3 40...
Страница 434: ...IA 32 Intel Architecture Optimization 9 20...
Страница 514: ...IA 32 Intel Architecture Optimization B 60...
Страница 536: ...IA 32 Intel Architecture Optimization C 22...
Страница 560: ...IA 32 Intel Architecture Optimization E 14...