37
RPI GeoStar Group 1 Parallel ODETLAP Parallel ODETLAP for Terrain for Terrain Compression and Compression and Reconstruction Reconstruction Jared Stookey Jared Stookey Zhongyi Xie Zhongyi Xie W. Randolph W. Randolph Franklin Franklin Dan Tracy Dan Tracy Barbara Cutler Barbara Cutler Marcus V. A. Marcus V. A. Andrade Andrade

Parallel ODETLAP for Terrain Compression and Reconstruction

Embed Size (px)

DESCRIPTION

Parallel ODETLAP for Terrain Compression and Reconstruction. Jared Stookey Zhongyi Xie W. Randolph Franklin. Dan Tracy Barbara Cutler Marcus V. A. Andrade. Outline. Quick Overview of our research ODETLAP (Non-Patch) Motivation for Parallelization Our Approach MPI Implementation - PowerPoint PPT Presentation

Citation preview

Page 1: Parallel ODETLAP for Terrain Compression and Reconstruction

RPI GeoStar Group 1

Parallel ODETLAP for Parallel ODETLAP for Terrain Compression Terrain Compression and Reconstructionand Reconstruction

Jared StookeyJared Stookey

Zhongyi XieZhongyi Xie

W. Randolph FranklinW. Randolph Franklin

Dan TracyDan Tracy

Barbara CutlerBarbara Cutler

Marcus V. A. AndradeMarcus V. A. Andrade

Page 2: Parallel ODETLAP for Terrain Compression and Reconstruction

2RPI GeoStar Group

OutlineOutline

Quick Overview of our researchQuick Overview of our research ODETLAP (Non-Patch)ODETLAP (Non-Patch) Motivation for ParallelizationMotivation for Parallelization Our ApproachOur Approach MPI ImplementationMPI Implementation ResultsResults Current and Future WorkCurrent and Future Work

Page 3: Parallel ODETLAP for Terrain Compression and Reconstruction

3RPI GeoStar Group

Quick OverviewQuick Overview

Our researchOur research Terrain compressionTerrain compression Compress terrain by selecting subset of pointsCompress terrain by selecting subset of points Reconstruct the terrain by solving a system of Reconstruct the terrain by solving a system of

equations to fill in missing pointsequations to fill in missing points The method we use to reconstruct the terrain The method we use to reconstruct the terrain

is slow for large datasetsis slow for large datasets We came up with a method for reconstructing We came up with a method for reconstructing

very large datasets quickly using MPIvery large datasets quickly using MPI

Page 4: Parallel ODETLAP for Terrain Compression and Reconstruction

4RPI GeoStar Group

ODETLAPODETLAP

Over-Determined LaplacianOver-Determined Laplacian Two Equations:Two Equations:

4z4zijij = z = zi-1,ji-1,j + z + zi+1,ji+1,j + z + zi,j-1i,j-1 + z + zi,j+1i,j+1

zzijij = h = hijij

Multiple values for some pointsMultiple values for some points Require a smooth parameter R to interpolate Require a smooth parameter R to interpolate

when multiple values existwhen multiple values exist Reconstruct an approximated surface from Reconstruct an approximated surface from

{h{hijij} (Red points)} (Red points)

Page 5: Parallel ODETLAP for Terrain Compression and Reconstruction

5RPI GeoStar Group

ExampleExample

ODETLAP can be used to fill in the unknown ODETLAP can be used to fill in the unknown data from a from a sparse point cloud:data from a from a sparse point cloud:

13,000,000 points 10,000*10,000

Page 6: Parallel ODETLAP for Terrain Compression and Reconstruction

6RPI GeoStar Group

ODETLAP CompressionODETLAP Compression

Lossily compress image by selecting subset of pointsLossily compress image by selecting subset of points ODETLAP reconstruction solves for the whole terrainODETLAP reconstruction solves for the whole terrain

1) Compress

3) Reconstruct (ODETLAP)

2) Store

Page 7: Parallel ODETLAP for Terrain Compression and Reconstruction

7RPI GeoStar Group

ODETLAP Performance IssueODETLAP Performance Issue

Page 8: Parallel ODETLAP for Terrain Compression and Reconstruction

8RPI GeoStar Group

Motivation for ParallelizationMotivation for Parallelization

ODETLAP prohibitively slow for large datasetsODETLAP prohibitively slow for large datasets We need a scalable implementationWe need a scalable implementation Only a small neighborhood of points will affect a Only a small neighborhood of points will affect a

particular elevation.particular elevation. 1 pixel only affected1 pixel only affected

an area of 62x62an area of 62x62

Page 9: Parallel ODETLAP for Terrain Compression and Reconstruction

9RPI GeoStar Group

Our ApproachOur Approach

Divide the terrain into individual patchesDivide the terrain into individual patches Run ODETLAP on each patch separatelyRun ODETLAP on each patch separately

3) Reconstruct each patch

1) Compressed terrain

2) Divide it into patches

4) Merge the patches

Page 10: Parallel ODETLAP for Terrain Compression and Reconstruction

10RPI GeoStar Group

There is a problem!There is a problem!

Points near the edges of patches have Points near the edges of patches have incomplete data which causes errorsincomplete data which causes errors

Pixels in blue show correct results

Pixels in red show erroneous results

Page 11: Parallel ODETLAP for Terrain Compression and Reconstruction

11RPI GeoStar Group

There is a problem! There is a problem! (continued)(continued)

We get discontinuity if we naively merge the patchesWe get discontinuity if we naively merge the patches

Naively reconstructed terrain: Errors:

Page 12: Parallel ODETLAP for Terrain Compression and Reconstruction

12RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 13: Parallel ODETLAP for Terrain Compression and Reconstruction

13RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 14: Parallel ODETLAP for Terrain Compression and Reconstruction

14RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 15: Parallel ODETLAP for Terrain Compression and Reconstruction

15RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 16: Parallel ODETLAP for Terrain Compression and Reconstruction

16RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 17: Parallel ODETLAP for Terrain Compression and Reconstruction

17RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 18: Parallel ODETLAP for Terrain Compression and Reconstruction

18RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 19: Parallel ODETLAP for Terrain Compression and Reconstruction

19RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 20: Parallel ODETLAP for Terrain Compression and Reconstruction

20RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches

Page 21: Parallel ODETLAP for Terrain Compression and Reconstruction

21RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches Then merge the resultsThen merge the results

Page 22: Parallel ODETLAP for Terrain Compression and Reconstruction

22RPI GeoStar Group

SolutionSolution

Use overlapping layers of patchesUse overlapping layers of patches Then merge the resultsThen merge the results

Page 23: Parallel ODETLAP for Terrain Compression and Reconstruction

23RPI GeoStar Group

Problem: Averaging the Problem: Averaging the patchespatches

A simple averaging of the patches incorporates A simple averaging of the patches incorporates the border error into the reconstructed terrain:the border error into the reconstructed terrain:

Terrain reconstructed using averaged patches Errors:

Page 24: Parallel ODETLAP for Terrain Compression and Reconstruction

24RPI GeoStar Group

Solution: Bilinear Solution: Bilinear InterpolationInterpolation

Use bilinear interpolation to do a weighted Use bilinear interpolation to do a weighted average such that border values fall off to zero:average such that border values fall off to zero:

Bilinear interpolation results Error (avg: 0.1m, max: 2m):Naively averaging results

Elevation Range of the Original: 1105m..1610mElevation Range of the Original: 1105m..1610mUsing DTED Level 2 (30m spacing)Using DTED Level 2 (30m spacing)

Page 25: Parallel ODETLAP for Terrain Compression and Reconstruction

Weighting Pattern for Bilinear Weighting Pattern for Bilinear Interpolation vs. Simple AveragingInterpolation vs. Simple Averaging

25RPI GeoStar Group

Bilinear InterpolationBilinear Interpolation Simple AveragingSimple Averaging

Page 26: Parallel ODETLAP for Terrain Compression and Reconstruction

26RPI GeoStar Group

MPI ImplementationMPI Implementation

1) Each processor (except central process) is pre-1) Each processor (except central process) is pre-assigned one or more patchesassigned one or more patches

2) Every MPI process does the following for each 2) Every MPI process does the following for each patch assigned to it:patch assigned to it: Load patchLoad patch Run ODETLAP on the patchRun ODETLAP on the patch MPI_send the patch to the central processMPI_send the patch to the central process

3) When all of the patches have been received by 3) When all of the patches have been received by the central process, merge them using bilinear the central process, merge them using bilinear interpolation.interpolation.

Page 27: Parallel ODETLAP for Terrain Compression and Reconstruction

27RPI GeoStar Group

ResultsResults 16,000*16,000 Central USA terrain data16,000*16,000 Central USA terrain data Use 128 2.6 GHz processors on RPI CCNI clusterUse 128 2.6 GHz processors on RPI CCNI cluster Divide into 101,761 patches of 100x100 sizeDivide into 101,761 patches of 100x100 size Completed in 28 minutes and 32 secondsCompleted in 28 minutes and 32 seconds Non-patch ODETLAP would have taken 179 daysNon-patch ODETLAP would have taken 179 days

Page 28: Parallel ODETLAP for Terrain Compression and Reconstruction

28RPI GeoStar Group

Results(cont.)Results(cont.)

Size: 16K*16KSize: 16K*16K STD: 217STD: 217 Range: 1013Range: 1013 Mean Error: 1.96 Mean Error: 1.96 Max Error: 50 Max Error: 50 RMS Error: 2.76RMS Error: 2.76

The terrain was compressed by a factor of 100, The terrain was compressed by a factor of 100, with a mean error within 0.2% of the range.with a mean error within 0.2% of the range.

Page 29: Parallel ODETLAP for Terrain Compression and Reconstruction

29RPI GeoStar Group

Original and reconstructed TerrainOriginal and reconstructed Terrain

Original Terrain (1000 * 1000) Reconstruction Result (1000 * 1000)

Page 30: Parallel ODETLAP for Terrain Compression and Reconstruction

30RPI GeoStar Group

Patch Size vs. Time & ErrorPatch Size vs. Time & ErrorTotal sizeTotal size #points #points

usedusedPatch Patch sizesize

Running Running timetime

MeanMean

absolute absolute ErrorError

Max Max ErrorError

RMS RMS ErrorError

2000*20002000*2000 3989439894 50*5050*50 0m 38s0m 38s 0.66400.6640 1313 0.96170.9617

2000*20002000*2000 3989439894 100*100100*100 0m 55s0m 55s 0.65980.6598 1313 0.9530 0.9530

2000*20002000*2000 3989439894 200*200200*200 5m 25s5m 25s 0.65980.6598 1313 0.9527 0.9527

2000*20002000*2000 3989439894 400*400400*400 18m 49s18m 49s 0.65980.6598 1313 0.9527 0.9527

These results come from an 8-processor machine

Page 31: Parallel ODETLAP for Terrain Compression and Reconstruction

31RPI GeoStar Group

Serialized vs. ParallelSerialized vs. Parallel Serialized: A single worker processor runs each patch Serialized: A single worker processor runs each patch

sequentially (speedup of 9.5 in the test)sequentially (speedup of 9.5 in the test) Parallel: Several processors run on many patches in Parallel: Several processors run on many patches in

parallel (additional speedup of 5.6 in the test)parallel (additional speedup of 5.6 in the test)

Test data: 800 x 800 size with mean elevation of 107

Page 32: Parallel ODETLAP for Terrain Compression and Reconstruction

32RPI GeoStar Group

Running Time ComparisonRunning Time ComparisonMethodMethod Running Running

timetimeMean Mean ErrorError

Max ErrorMax Error RMSRMS

ErrorError

Original Original ODETLAPODETLAP

549s549s 0.61500.6150 77 0.88350.8835

Serial Serial ODETLAPODETLAP

34s34s 0.61560.6156 77 0.88460.8846

Parallel Parallel ODETLAPODETLAP

9s9s 0.61560.6156 77 0.88460.8846

Test data: 800 x 800 size with mean elevation of 107, run on 8 processors. Parallel ODETLAP is 50 times faster, while introducing only 0.1% additional error.

Page 33: Parallel ODETLAP for Terrain Compression and Reconstruction

33RPI GeoStar Group

Number of Points 1 Large Patch 100x100 Patches

10000 0s 0s

40000 4s 2s

160000 41s 15s

640000 543s 58s

Page 34: Parallel ODETLAP for Terrain Compression and Reconstruction

34RPI GeoStar Group

Number of Processors Time (seconds)

1 476

3 161

7 70

15 33

31 17

63 10

127 8

255 8

Page 35: Parallel ODETLAP for Terrain Compression and Reconstruction

35RPI GeoStar Group

Current and Future WorkCurrent and Future Work

Improvements to our implementationImprovements to our implementation Reduce data size – regular grid can be more compactReduce data size – regular grid can be more compact Each process should grab the next available patchEach process should grab the next available patch Optimize for the Blue Gene/L system (see next slide)Optimize for the Blue Gene/L system (see next slide)

Reduce errors from the patch methodReduce errors from the patch method Improve the method for merging patchesImprove the method for merging patches

Page 36: Parallel ODETLAP for Terrain Compression and Reconstruction

36RPI GeoStar Group

Blue Gene/L SystemBlue Gene/L System Computational Center for Nanotechnology Computational Center for Nanotechnology

Innovations (CCNI) at RPIInnovations (CCNI) at RPI 32,768 CPU’s @ 700 Mhz32,768 CPU’s @ 700 Mhz 512-1024MB memory/CPU (non-shared)512-1024MB memory/CPU (non-shared) Opportunity to run very large data sets quicklyOpportunity to run very large data sets quickly New methodNew method

Source, Sink, Workers, and CoordinatorSource, Sink, Workers, and Coordinator DEM size is not limited by process memory sizeDEM size is not limited by process memory size Use processors as cache instead of the diskUse processors as cache instead of the disk

On the BG, disk is slow, network and memory is very fastOn the BG, disk is slow, network and memory is very fast We must reduce the overhead to take advantage of all CPU’sWe must reduce the overhead to take advantage of all CPU’s

Page 37: Parallel ODETLAP for Terrain Compression and Reconstruction

37RPI GeoStar Group

SummarySummaryOriginal Reconstructed

The terrain is divided into overlapping patches and ODETLAP is solved separately on individual patches, which will be merged into a whole patch using bilinear interpolation at the end

We experiment on a 16K*16K test data. We show two 1K*1K pieces from the original and reconstructed terrain to illustrate the accuracy of the reconstruction