18
OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

Embed Size (px)

Citation preview

Page 1: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium1

Education issues in HPC

HPC Education in the Undergraduate Curriculum

Page 2: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium2

A bit about myself.

The University of Northern Iowa is a primarily-undergraduate institution (PUI) Our clusters are small, very small

(Departmental category in Addison's talk) Our computer labs are ubiquitous

I hang drywall Ph.D. Applied Mathematics, MSU

◊ Parallel solutions of complex, coupled, nonlinear, time-dependent solutions of partial differential equations.

◊ Postdoc on parallel computing environments◊ “At home” teaching

Page 3: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium3

The other allegiance

National Computational Science Institute (NCSI) Parallel Computing Education Working Group Tom Murphy, Contra Costa College Charlie Peck, Earlham College Dave Joiner, Kean University

Page 4: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium4

What we do

We do workshops on HPC education We drink coffee, a lot of coffee We evangelize the goodness of HPC in our

curriculum

Page 5: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium5

What I do

I do the Bootable Cluster CD, BCCD, perhaps you've heard of it.

The BCCD is a tool for HPC education, aimed at the undergraduate level.

Spillover is wonderful – High schools, graduate programs, and things that I would have never imagined.

Like UNI, most places have few or small clusters, many open and unused labs.

Page 6: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium6

Obligatory tangent

The BCCD is no more Moving toward the “Better Cluster CD” This project will be called BCCD, and

unapologetically referred to as the “Bootable Cluster CD”

New features ...all of the old ones grid aware automated installation to hard disk hardware savvy no longer rolled completely from scratch

Page 7: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium7

Here's why I/we do this

As educators, we're charged with the responsibility of molding the fresh new minds of students during their tenure within our programs. At the culmination of their degrees, they should be prepared to task on the current and future challenges in the frontiers of science.

Students Future challenges

Page 8: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium8

Stages of education

High school levels. Undergraduate courses Undergraduate programs Graduate courses Graduate programs Graduate training

Our Focus

Our coverage/impact

Page 9: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium9

Undergraduate Courses

“Courses” in HPC issues at the undergraduate level are very problematic, inasmuch as the exposure of students to HPC issues earlier in their tenure is vastly unknown. Have they been exposed to threading models?

◊ If so, have they been exposed to concurrency issues? If so, were they at all relevant?

Have they been exposed to the “Tyranny of the Storage Hierarchy?”

Providing classes is hard, providing programs is harder.

Page 10: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium10

Once upon a time...

Programmers unrolled their own loops Wrapping every three lines of code into a

separate function call of its own was perceived to be bad programming style.

Applications effectively, purposefully and intentionally leveraged cache.

Compilers compiled, and didn't do optimizations “for you.”

Programmers coded spaghetti in Fortran and the world ate it up (with chopsticks).

Page 11: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium11

...and Now...

The big push (in Grids) is virtualization – totally removing the architecture/platform from the application programmer's domain

More programs are written for a virtual machine (JVM) than are developed for specific machines (e.g. sse, sse2).

Even though (CS) students deal with Java, they don't understand issues of concurrency, threads, and the property tauted by the language: distributed applications.

Page 12: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium12

Perhaps it's just me?

80 core desktops < 5 years (Stephen's talk)http://news.com.com/2100-1006_3-6119618.html?part=rss&tag=6119618&subj=news

Pathscale, PGI, Intel? Where are all of the compiler folks? GNU Fortran 95 is a sight for sore eyes, but what about openMP? HPF?

According to XXXXX from Sun Microsystems, engineers could put any number of cores into a CPU now. But there aren't libraries available that leverage the locality so why bother?

Page 13: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium13

And then there's Grid Computing

You know, the standard that changes in such a way that revisions are typically incompatible with previous versions. That's pretty amenable to teaching, right?

Grid computing is more than just services. Grid computing is more than just Condor

(not to imply that Condor is bad, mind you).

Don't worry though, that's what virtualization is for.

Dr. Apon in the adjacent talk has it “right.”

Page 14: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium14

My Advice

Work toward a “curriculum” rather than a course Have fun. Make it visual Include science – or even, <gasp!>

Mathematics! Motivate the problems Makethe science accessible Stay away from queues if possible (at least early

on) Take students to places where HPC is making a

difference. Take them to OU!

Page 15: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium15

Have Fun Illustrating Principles of Parallelism Using

People (IPoPUP) Students need to be deprogrammed

◊ To my students here, you didn't hear me say that. Using students/faculty/peple as processors can

give insight into distributed algorithms. Variations give rise to discussion. Discussion

gives rise to insight. Insight gives rise to next-generation, cutting-edge research.

Henry's approach to education is very simple (and very accurate): To be effective, use “lore” and “analogy.” Analogies for teaching parallel computing for inexperienced programmers. (SIGCSE)

Page 16: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium16

Make it visual

This term, I gave a long lecture on a short topic which compared various implementation of BLAS.

Written by me LAPACK ATLAS Goto

Watching the slow, slow, slow output from my code pass by the screen compared to the blazing-fast output (of the same algorithm) coded by K. Goto makes an impact. (Albeit a “Hans and Franz” moment, perhaps.)

Page 17: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium17

Include Science – or even, <gasp!> Mathematics

HPC exists because of two things: ◊ Scientists want to solve bigger problems◊ Scientists want to solve problems faster

But problems == science:◊ Scientists want to solve bigger science◊ Scientists want to solve science faster

Extending science by extending HPC's ability to do both of these.

◊ I would mention the importance of integration linear algebra differential equations (ODEs and PDEs)

◊ but I had better not. There are students around. Science makes the computation relevant.

Page 18: OU Supercomputing Symposium 1 Education issues in HPC HPC Education in the Undergraduate Curriculum

OU Supercomputing

Symposium18

Make the science accessible

Give the students the tools to work In the next talk, Charlie Peck will talk

about The Bootable Cluster CD LittleFe, the “Little Iron” for HPC and Grid

education. Start small, think big. Think “Big Iron.”