alligators and parallel computing: an undergraduate...
TRANSCRIPT
Alligators and Parallel Computing: An Undergraduate Research ExperienceBy Jesse Goncalves
Overview
◎Applying for REUs
◎My research
◎My experience
Applying for REUs
What is an REU?◎ Research Experiences for Undergraduates
◎ Funded by the National Science Foundation (NSF)
◎ Hosted by universities and other institutions
◎ Undergraduates work with professors and other researchers
◎ Students are granted stipends and (often) assisted with travel and housing
Finding REU Programs
◎NSF website
◎MathPrograms.Org
◎University websites
General Application Requirements
◎ CV/resume
◎ Official or unofficial transcripts
◎ 1-2 letters of recommendation
◎ Statement of interest/relevant experience
General Application Tips
◎ Find a specific project, or multiple projects, you are interested in at a particular site; read descriptions of projects on the university’s website and look at the posters of previous participants
◎ On your application, indicate a special interest in that project and give reasons for your interest, such as connections to past experience
◎ Make a connection with a faculty member involved in the REU program, perhaps by asking them a question
Research
Leveraging HPX on a Raspberry Pi ClusterMentor: Dr. Hartmut Kaiser
What is HPX?◎High Performance ParalleX
○ A C++ library and runtime system for
parallel computing
○ Developed by the STE||AR Group, an
international team of researchers of
which my mentor, Dr. Kaiser, is a
member
What is parallel computing?◎Parallel computing = multiple processes
occur simultaneously
Problem Instructions
CPU
CPU
CPU
CPU
Why HPX?◎HPX addresses limitations of industry
standard parallel computing APIs
through:
○ Fine-grained parallelism
○ Dependency tracking
○ Latency hiding
What is a Raspberry Pi?
A tiny computer designed for beginners to experiment with programming
My Project◎ Compile HPX and its dependencies for
Raspberry Pi
◎Write parallel and distributed HPX applications that estimate the value of pi with monte carlo simulations
◎ Assemble a Raspberry Pi cluster
◎Measure the scalability of HPX applications on the cluster by varying the number of cores and nodes being used
Why?◎To show that HPX ports to the Pi, one
of the simplest computer architectures
◎To show that HPX can expose the benefits of parallel and distributed hardware structures on these computers
Math Sidenote: Estimating Pi with Monte Carlo Simulations◎ Generate uniformly distributed random numbers between 0 and
1 and group them into coordinate pairs
◎ Classify each coordinate pair based on whether it lies within the
quarter of the unit circle that lies in the first quadrant
◎ The number of points inside
the circle divided by the total
number of points ≅ the area
of the quarter circle (A)
◎ Since A = 𝝿 / 4, then 𝝿 ≅ the
estimate of A times 4
Challenges
◎Compiling HPX and its dependencies for
the Raspberry Pi
◎Parallel random number generation
◎Assembling the Pi cluster
Results
The Pi Cluster*
ResultsHPX Parallel Scaling
Number of Cores
MillionsOfTrialsPerSecond
ResultsHPX Distributed Scaling
Number of Nodes
MillionsOfTrialsPerSecond
Discussion◎ HPX ports to even the simplest computer
architectures
◎ The HPX monte carlo applications scale very
efficiently on the Pi cluster, comparable to their
scaling on the Rostam supercomputer
◎ Given more time, further demonstrations of the
scalability of HPX applications on the Raspberry Pi
platform would be in order
Experience
Thanks!
Any questions?Contact info:[email protected]