Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pipelined and Parallel Computing Data Dependency Analysis for 1 Hongtao Du AICIP Research Mar 9, 2006.

Similar presentations


Presentation on theme: "Pipelined and Parallel Computing Data Dependency Analysis for 1 Hongtao Du AICIP Research Mar 9, 2006."— Presentation transcript:

1 Pipelined and Parallel Computing Data Dependency Analysis for 1 Hongtao Du AICIP Research Mar 9, 2006

2 2 Motivation Image processing –Complicated algorithms –Large data sets Pipelined and parallel computing –Speedup? Not Necessary! Solution: Efficiently –Allocate process –Distribute data

3 3 Outline Pipelined and parallel computing overview Related work on data dependency Independence Uniform dependency Regional dependency Dependency on image sequence and multispectral image Data Distributing Schemes

4 4 Computing Overview

5 5 Driving Force Data-driven –How to divide data sets into different sizes for multiple computing resources –How to coordinate data flows along different directions Function-driven –How to perform different functions of one task on different computing resources at the same time.

6 6 Data - Flynn's Taxonomy Single Instruction Flow Single Data Stream (SISD) Multiple Instruction Flow Single Data Stream (MISD) Single Instruction Flow Multiple Data Stream (SIMD) Multiple Instruction Flow Multiple Data Stream (MIMD) –Shard memory –Distributed memory

7 7 Data Dependency Decreasing even dismissing the speedup Caused by edge pixels on different blocks BlockReverse diagonal

8 8 Algorithm and Data Dependency Algorithm Design Stage –Algorithm depends on problem and data (image). Algorithm Implementation Stage –Data (image) is restricted to specific algorithms. –Dependency analysis follows the features of algorithms. Dependency –Window size –Existence

9 9 Outline Pipelined and parallel computing overview Related work on data dependency Independence Uniform dependency Regional dependency Dependency on image sequence and multispectral image Data Distributing Schemes

10 10 Definitions and Notations Suppose –Input image, and input pixel is the coordinate of the input pixel, is the size of the input image. –A function is a portion of an image processing algorithm –Output data set, and output data If is an image, then is a pixel in the output image. Definition: –A dependency edge b is a connection from data to data, denoting that the output data depends on the value of both and, i.e.,

11 11 The dependency model of I is defined as D = (I, B) – data and – dependency edges and –

12 12 Independence Definition: For a function, the input data set is considered as independent if and only if the output data depends only on current input data but no other data. That is, for each output data. No requirement of extra storage space. Pixel based image processing algorithms –Contrast stretching –Power-law transformation

13 13 Uniform Dependency Definition: For a function, the input data set has uniform dependency, if and only if 1.The output data depends more than one input data. 2.The dependency exists and is identical for every output data. The uniform dependency is expressed as: for each output data, where j is the number of input data,, and

14 14 Example: 3x3 filter Assign weights Definition: The weight w(b) of a dependency edge b is the amount of new input data if the window moves along the direction of the dependency edge.

15 15 Regional Dependency Definition: For a function, the input data set has regional dependency, if and only if 1. The output data depends more than one input data. 2. One or more dependencies exist only for partial output data. 3. All other data are independent. The regional dependency is expressed as: for each output data,

16 16 Grouping Data with Regional Dependency

17 17 Hierarchical Data Grouping and Partitioning

18 18 Outline Pipelined and parallel computing overview Related work on data dependency Independence Uniform dependency Regional dependency Dependency on image sequence and multispectral image Data Distributing Schemes

19 19 Dependency on Image Sequence and Multispectral Image Suppose –Input image, and input pixel is the coordinate of the input pixel, is the temporal or spectrum axis –A function is a portion of an image processing algorithm –Output data set, and output data

20 20 The input data required from the input data set I in order to calculate necessarily lie in a finite set of data locations which together form a region inside the input data set I. Where is the data location designated by row x, column y, of frame z. If N regions are required from the input data set, then the total data dependency set is

21 21 Case 1. No dependency exists between individual images along z axis. The 3-D input data set is treated as multiple single images. No matter if independence, uniform or regional dependencies exist on individual images.

22 22 Case 2. Uniform dependencies exist on pixels with the same coordinates along z axis but no dependency exists on individual images. The data dependency is similar to the uniform dependency on single image, but on z axis. The basic partitioning unit is one column along the z axis.

23 23 Case 3. Uniform dependencies exist both along z axis and on the same image. The processing window move in the 3-D data set. The weight of each possible movement direction are assigned in the 3-D data set

24 24 Case 4. Regional dependencies exist along z axis, or both along z axis and on the same image. Expand the hierarchical data grouping and partitioning in 3-D data set. Several 3-D data blocks may be formed in the data set. At each level, the relationship among data or data blocks are either independence or uniform dependency.

25 25 Outline Pipelined and parallel computing overview Related work on data dependency Independence Uniform dependency Regional dependency Dependency on image sequence and multispectral image Data Distributing Schemes

26 26 Data Distributing Schemes Block ScatterContiguous point Contiguous row

27 27 Communication Patterns and Costs Communication expense is the first concern in data partitioning. Successor/Predecessor (S-P) pattern North/South/East/West (NSEW) pattern is the message preparation latency, is the transmission speed (Byte/s), is the number of processors, is the number of data, is the length of each data item to be transmitted.

28 28 Thank you!


Download ppt "Pipelined and Parallel Computing Data Dependency Analysis for 1 Hongtao Du AICIP Research Mar 9, 2006."

Similar presentations


Ads by Google