280 likes | 388 Views
Hongtao Du. AICIP Research Mar 9, 2006. Motivation. Image processing Complicated algorithms Large data sets Pipelined and parallel computing Speedup? Not Necessary! Solution: Efficiently Allocate process Distribute data. Outline. Pipelined and parallel computing overview
E N D
Hongtao Du AICIP Research Mar 9, 2006
Motivation • Image processing • Complicated algorithms • Large data sets • Pipelined and parallel computing • Speedup? Not Necessary! • Solution: Efficiently • Allocate process • Distribute data
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
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.
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
Data Dependency • Decreasing even dismissing the speedup • Caused by edge pixels on different blocks Block Reverse diagonal
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
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
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 edgeb is a connection from data to data , denoting that the output data depends on the value of both and , i.e.,
The dependency model of Iis defined as D = (I, B) • data and • dependency edges and
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
Uniform Dependency • Definition: For a function, the input data set has uniform dependency, if and only if • The output data depends more than one input data. • The dependency exists and is identical for every output data. • The uniform dependency is expressed as: for each output data, wherejis the number of input data, , and
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.
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,
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
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
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 Nregions are required from the input data set, then the total data dependency set is
Case 1. No dependency exists between individual images along zaxis. • The 3-D input data set is treated as multiple single images. No matter if independence, uniform or regional dependencies exist on individual images.
Case 2. Uniform dependencies exist on pixels with the same coordinates along zaxis 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.
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
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.
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
Data Distributing Schemes Block Scatter Contiguous point Contiguous row
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.