Title: Creating a Parallel Program to Compute Statistical Information
1Creating a Parallel Programto Compute
Statistical Information
Maui Scientific Research Center Research
Supervisor Douglas Hope
2 The Goal To Automate the process of rating images
- Benefits
- To test imaging systems
- Design and optimize imaging systems
Where to start? Understand how to define
information in an image.
3How does one define information in an image
- Based on the amount of information in the image
- Information is computed using ensembles of object
and image scenes - Based on how well one can associate an image with
its object scene
Associate Statistical Comparison
Object Ensemble of Spiral Galaxies
Given Image Scene
Images from http//hubblesite.org/gallery
4Object and Image Ensembles
Object Ensemble
Image Ensemble
Image provided by Boeing
5Important Question to Address...
- How many object and image scenes in the ensembles
are required to make a good comparison?
- Constraints
- Limited memory
- Solution
- Break the problem up into pieces then combine
6My Project
- Create a parallel program
- - adapt existing single processor code to run in
a parallel environment - Create two Matlab programs
- - divide the frequencies between processors
- - combine frequencies to form information maps
- Evaluate performance within parallel environment
- - Verify results obtained by the parallel program
7How Programs Work Together
Three existing external programs used to create
image and object ensembles
Matlab Program 1
Distributes frequency values
Parallel Program
Sets up parallel environment
Computes the information
Existing Matlab Programs
Combines results
Matlab Program 2
8Three existing external Program used to create
image and object ensembles
Distributes frequency values
Matlab Program 1
Parallel Program
Existing Matlab Programs
Matlab Program 2
9Matlab Program 1 -- Divide the
Workload
- Distributes the work load by allowing the user
to select the amount of processors to be used. - This program divides the frequency values between
the amount of processors selected for computation.
Frequency values between 1 and 100
Processor 1
Select Amount of Processors
Frequency values between 101 and 200
3 Processors
Processor 2
Frequency values between 201 and 300
Processor 3
10Three existing external Program used to create
image and object ensembles
Distributes frequency values
Matlab Program 1
Sets up parallel environment
Parallel Program
Existing Matlab Programs
Matlab Program 2
11Parallel Program
Sets up the parallel environment using MPI and C
to run the existing Matlab programs on the
Huinalu Cluster at the Maui High Performance
Computing Center.
Sends a message to each processor to 1) Open
files that contain frequency values 2) Begins to
open existing Matlab Program
Processor sends acknowledgment of receiving the
message
Each node begins to compute information at its
assigned frequency values
12Three existing external Program used to create
image and object ensembles
Distributes frequency values
Matlab Program 1
Sets up parallel environment
Parallel Program
Computes the information
Existing Matlab Programs
Matlab Program 2
Combines results
13Matlab Program 2 -- Combine Results
Aperture 4cm
Aperture 3cm
- Combines results forming information maps
- Information Map - is a combination of frequencies
within its Fourier Domain
SNR 5
SNR 10
SNR 15
(4) Red color more information at low
frequencies (0) Blue color less information at
high frequencies
SNR 20
14Evaluating Performance within the Parallel
Environment
Approaching its limit
- Pros
- Faster Results than using a single processor to
do computations
Cons Data Dependencies - use of the same
storage location
Testing 1) Design 2) Efficiency
15Conclusion
- Project Achievements
- Used MPI and C to run existing Matlab programs
in a parallel environment - Created Matlab programs to distribute workload
over the processors and combine results - Confirmed that Matlab programs performed as
expected - Evaluated the parallel program for its design
and efficiency - Future Goals of Researchers
- Use parallel implementation to compute
information using large ensembles - Numerically confirm theoretical predictions
- Use information to characterize the quality of
an image
16Acknowledgements
- National Science Foundation
- Center for Adaptive Optics
- Malika Bell, Lisa Hunter, Liz Esperanza and the
CfAO instructors - Maui Scientific and Research Center
- Douglas Hope and Stuart Jefferies
- Maui Community College
- Mark Hoffman and Wallette Pallegrino
- Maui Economic and Development Board
- Isla Yap and Leslie Wilkins
Funding provided through a Research Experiences
for Undergraduates (REU) Supplement to the Center
for Adaptive Optics, a National Science
Foundation Science and Technology Center (STC),
AST-987683
Satellite images http//www.spaceimaging.com/def
ault.htm