Presentation is loading. Please wait.

Presentation is loading. Please wait.

Teaching Parallel Computing using Beowulf Clusters: A Laboratory Approach Phil Prins Seattle Pacific University October 8, 2004

Similar presentations


Presentation on theme: "Teaching Parallel Computing using Beowulf Clusters: A Laboratory Approach Phil Prins Seattle Pacific University October 8, 2004"— Presentation transcript:

1 Teaching Parallel Computing using Beowulf Clusters: A Laboratory Approach Phil Prins Seattle Pacific University October 8, 2004 pprins@spu.edu

2 Why Use Beowulf Clusters to Teach Parallel Computing? is inexpensive to buy or build is inexpensive to buy or build the concept of a cluster is understandable to students the concept of a cluster is understandable to students the coarse granularity makes for ease in teaching concepts of parallelism the coarse granularity makes for ease in teaching concepts of parallelism Beowulf clusters are becoming increasingly important in the workplace Beowulf clusters are becoming increasingly important in the workplace

3 Why force students to use the cluster directly? Using a hands-on approach allows students to use and understand both the hardware and the software of parallel systems Using a hands-on approach allows students to use and understand both the hardware and the software of parallel systems

4 Background Information 40 hours in-class per term 40 hours in-class per term About 10 students who are Computer Science or Computer Engineering majors About 10 students who are Computer Science or Computer Engineering majors Have dedicated lab Have dedicated lab Have development PCs Have development PCs

5 Pre 2001 Lecture-based Lecture-based Time on remote supercomputer Time on remote supercomputer Archaic architectures Archaic architectures Not “real” Not “real”

6 2001/2 Student put together a cluster for an independent study Student put together a cluster for an independent study Then had class do it Then had class do it 2 teams 2 teams Hardware team put together another cluster Hardware team put together another cluster Software team explored parallel programming Software team explored parallel programming

7

8 2001/2 (cont) Hardware team failed because didn’t know Linux Hardware team failed because didn’t know Linux Software team did OK but the learning curve was too high Software team did OK but the learning curve was too high End result was disappointing End result was disappointing Would have been better to do the regular lecture class Would have been better to do the regular lecture class

9 2002/3 Bladed Beowulf idea was born Bladed Beowulf idea was born Bought Plexiglas and aluminum and computer parts Bought Plexiglas and aluminum and computer parts Put them together and ran MPI Put them together and ran MPI Great class feedback! Great class feedback!

10

11 2002/3 (cont) What the students learned using this approach: What the students learned using this approach: The fundamentals of parallel processing The fundamentals of parallel processing Cluster computing Cluster computing Programming in a parallel environment Programming in a parallel environment Hardware design Hardware design But, what is in a way more telling, is what the students didn’t learn: But, what is in a way more telling, is what the students didn’t learn: Formal theory of parallel algorithms Formal theory of parallel algorithms Classic supercomputer and parallel architectures Classic supercomputer and parallel architectures Distributed and shared memory concepts Distributed and shared memory concepts Formal load balancing theory Formal load balancing theory

12 2003/4 Received a grant and decided to go semi- pro Received a grant and decided to go semi- pro Bought 2 real servers and 4 kits Bought 2 real servers and 4 kits Dual Xeon processors Dual Xeon processors Connected with gigabit Ethernet Connected with gigabit Ethernet One team assembled the cluster while the other team learned to program it One team assembled the cluster while the other team learned to program it Wrote documentation to support the cluster Wrote documentation to support the cluster Presented at the end of the school year Presented at the end of the school year

13

14 2003/4 (cont) What the students learned using this approach: What the students learned using this approach: The fundamentals of parallel processing The fundamentals of parallel processing Cluster computing Cluster computing Programming in a parallel environment Programming in a parallel environment Hardware design Hardware design Formal theory of parallel algorithms Formal theory of parallel algorithms Distributed and shared memory concepts Distributed and shared memory concepts Formal load balancing theory Formal load balancing theory What the students didn’t learn: What the students didn’t learn: Classic supercomputer and parallel architectures Classic supercomputer and parallel architectures

15 This year Expanded the cluster over the summer Expanded the cluster over the summer Is used by a computational chemist Is used by a computational chemist Now learning more about parallel programming Now learning more about parallel programming Not doing much hands-on with the hardware Not doing much hands-on with the hardware

16 Conclusion We are headed in the right direction We are headed in the right direction Student interest in and retention of parallel processing concepts is enhanced by utilizing good laboratory projects. Those projects need to track the state of the industry and to be designed to increase student enjoyment and knowledge. Student interest in and retention of parallel processing concepts is enhanced by utilizing good laboratory projects. Those projects need to track the state of the industry and to be designed to increase student enjoyment and knowledge.


Download ppt "Teaching Parallel Computing using Beowulf Clusters: A Laboratory Approach Phil Prins Seattle Pacific University October 8, 2004"

Similar presentations


Ads by Google