Alligators and Parallel Computing: An Undergraduate...

Preview:

Citation preview

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:goncalve@seattleu.edu