1 / 28

Hongtao Du

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

roman
Download Presentation

Hongtao Du

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hongtao Du AICIP Research Mar 9, 2006

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

  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. Computing Overview

  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. 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. Data Dependency • Decreasing even dismissing the speedup • Caused by edge pixels on different blocks Block Reverse diagonal

  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. 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. 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.,

  11. The dependency model of Iis defined as D = (I, B) • data and • dependency edges and

  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. 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

  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. 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. Grouping Data with Regional Dependency

  17. Hierarchical Data Grouping and Partitioning

  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. 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. 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

  21. 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.

  22. 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.

  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. 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. 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. Data Distributing Schemes Block Scatter Contiguous point Contiguous row

  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. Thank you!

More Related