teaching parallel computing using beowulf clusters: a laboratory approach phil prins seattle pacific...
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.