11f6643lec05 - CS6643 F'11 Lec05 3 A task-dependency graph...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
Parallel Algorithm Design Task/Channel Model • Parallel computation = set of tasks •Task – Program ocal memory –Local memory – Collection of I/O ports asks interact by sending messages through channels •Tasks interact by sending messages through channels CS6643 F'11 Lec05 2 Task-Dependency Graph • A directed acyclic graph in which nodes represent tasks nd directed edges dependencies among them and directed edges dependencies among them • A task may be executed when all tasks connected to this y incoming edges have completed by incoming edges have completed – Note: dependencies limit concurrency – A task-dependency graph with very few or no directed edges is eal for parallel computing ideal for parallel computing • A task-dependency graph is influenced by decomposition f computation into tasks and organization of tasks of computation into tasks and organization of tasks CS6643 F'11 Lec05 3 Task-Dependency Graph Example MODEL=“Civic” AND YEAR=“2001” AND (COLOR=“Green” OR Color=“White”) CS6643 F'11 Lec05 4
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Task-Dependency Graph Example CS6643 F'11 Lec05 5 Foster’s Design Methodology • Partitioning •Communication • Agglomeration •Mapping CS6643 F'11 Lec05 6 Foster’s Methodology CS6643 F'11 Lec05 7 ask Decomposition (Partitioning) Task Decomposition (Partitioning) • Tasks are programmer- efined units of defined units of computation – Can be of arbitrary size •Decomposition is dividing the main computation into multiple tasks otal execution time is –Total execution time is reduced by executing multiple tasks concurrently –Ideal: all tasks can be concurrently executed with comparable execution times and require little or o sharing of data among no sharing of data among them » E.g., matrix-vector multiplication CS6643 F'11 Lec05 8
Background image of page 2
Granularity • Number and size of tasks determines the granularity of ecomposition decomposition • Decomposition into many small tasks is fine-grained, while decomposition into a few large tasks is coarse- grained – Fine-grained decomposition is suitable when the computation as a lot of parallelism and the underlying architecture can has a lot of parallelism and the underlying architecture can provide low-latency, high bandwidth communication – Otherwise, medium or coarse-grain decomposition is preferable CS6643 F'11 Lec05 9 ranularity Example Granularity •A x = y Matrix-vector product • Each task computes n/4 y i ’s CS6643 F'11 Lec05 10 Concurrency • The degree of concurrency is the number of tasks that can be performed concurrently – Influenced by the decomposition and the corresponding task- dependency graph aximum degree of concurrency: maximum number of tasks that can –Maximum degree of concurrency: maximum number of tasks that can be performed simultaneously – Average degree of concurrency: average number of tasks performed oncurrently concurrently • A path length is the sum of weights of all nodes (computational
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/29/2012 for the course CS 6643 taught by Professor Staff during the Fall '08 term at The University of Texas at San Antonio- San Antonio.

Page1 / 10

11f6643lec05 - CS6643 F'11 Lec05 3 A task-dependency graph...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online