teaching parallel computing using beowulf clusters: a laboratory approach phil prins seattle pacific...

16
Teaching Parallel Teaching Parallel Computing using Beowulf Computing using Beowulf Clusters: Clusters: A Laboratory Approach A Laboratory Approach Phil Prins Phil Prins Seattle Pacific University Seattle Pacific University October 8, 2004 October 8, 2004 [email protected] [email protected]

Upload: chana-wilkerson

Post on 15-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Teaching Parallel Teaching Parallel Computing using Beowulf Computing using Beowulf

Clusters:Clusters:A Laboratory ApproachA Laboratory Approach

Phil PrinsPhil PrinsSeattle Pacific UniversitySeattle Pacific University

October 8, 2004October 8, [email protected]@spu.edu

Why Use Beowulf Clusters to Why Use Beowulf Clusters to Teach Parallel Computing?Teach Parallel Computing?

is inexpensive to buy or buildis inexpensive to buy or build the concept of a cluster is the concept of a cluster is

understandable to studentsunderstandable to students the coarse granularity makes for ease in the coarse granularity makes for ease in

teaching concepts of parallelism teaching concepts of parallelism Beowulf clusters are becoming Beowulf clusters are becoming

increasingly important in the workplaceincreasingly important in the workplace

Why force students to use the Why force students to use the cluster directly?cluster directly?

Using a hands-on approach allows Using a hands-on approach allows students to use and understand both students to use and understand both the hardware and the software of the hardware and the software of parallel systemsparallel systems

Background InformationBackground Information

40 hours in-class per term40 hours in-class per term About 10 students who are Computer About 10 students who are Computer

Science or Computer Engineering Science or Computer Engineering majorsmajors

Have dedicated labHave dedicated lab Have development PCsHave development PCs

Pre 2001Pre 2001

Lecture-basedLecture-based Time on remote supercomputerTime on remote supercomputer Archaic architecturesArchaic architectures Not “real”Not “real”

2001/22001/2

Student put together a cluster for an Student put together a cluster for an independent studyindependent study

Then had class do itThen had class do it 2 teams2 teams

Hardware team put together another Hardware team put together another clustercluster

Software team explored parallel Software team explored parallel programmingprogramming

2001/2 (cont)2001/2 (cont)

Hardware team failed because didn’t Hardware team failed because didn’t know Linuxknow Linux

Software team did OK but the Software team did OK but the learning curve was too highlearning curve was too high

End result was disappointingEnd result was disappointing Would have been better to do the Would have been better to do the

regular lecture classregular lecture class

2002/32002/3

Bladed Beowulf idea was bornBladed Beowulf idea was born Bought Plexiglas and aluminum and Bought Plexiglas and aluminum and

computer partscomputer parts Put them together and ran MPIPut them together and ran MPI Great class feedback!Great class feedback!

2002/3 (cont)2002/3 (cont) What the students learned using this What the students learned using this

approach:approach: The fundamentals of parallel processingThe fundamentals of parallel processing Cluster computingCluster computing Programming in a parallel environmentProgramming in a parallel environment Hardware designHardware design

But, what is in a way more telling, is what the But, what is in a way more telling, is what the students didn’t learn:students didn’t learn: Formal theory of parallel algorithmsFormal theory of parallel algorithms Classic supercomputer and parallel architecturesClassic supercomputer and parallel architectures Distributed and shared memory conceptsDistributed and shared memory concepts Formal load balancing theoryFormal load balancing theory

2003/42003/4

Received a grant and decided to go semi-Received a grant and decided to go semi-propro

Bought 2 real servers and 4 kits Bought 2 real servers and 4 kits Dual Xeon processorsDual Xeon processors Connected with gigabit EthernetConnected with gigabit Ethernet

One team assembled the cluster while the One team assembled the cluster while the other team learned to program itother team learned to program it

Wrote documentation to support the Wrote documentation to support the clustercluster

Presented at the end of the school yearPresented at the end of the school year

2003/4 (cont)2003/4 (cont) What the students learned using this What the students learned using this

approach:approach: The fundamentals of parallel processingThe fundamentals of parallel processing Cluster computingCluster computing Programming in a parallel environmentProgramming in a parallel environment Hardware design Hardware design Formal theory of parallel algorithmsFormal theory of parallel algorithms Distributed and shared memory conceptsDistributed and shared memory concepts Formal load balancing theoryFormal load balancing theory

What the students didn’t learn:What the students didn’t learn: Classic supercomputer and parallel architecturesClassic supercomputer and parallel architectures

This yearThis year

Expanded the cluster over the Expanded the cluster over the summersummer

Is used by a computational chemistIs used by a computational chemist Now learning more about parallel Now learning more about parallel

programmingprogramming Not doing much hands-on with the Not doing much hands-on with the

hardwarehardware

ConclusionConclusion

We are headed in the right directionWe are headed in the right direction Student interest in and retention of Student interest in and retention of

parallel processing concepts is parallel processing concepts is enhanced by utilizing good laboratory enhanced by utilizing good laboratory projects. Those projects need to projects. Those projects need to track the state of the industry and to track the state of the industry and to be designed to increase student be designed to increase student enjoyment and knowledge. enjoyment and knowledge.