The Cluster Computing Project Robert L. Tureman Paul D. Camp Community College
Based on a Funded Grant TITLE: Integrating Cluster Computing into the Community College Curriculum Funded in Summer 2006 by the Virginia Community College System (VCCS) Extension funded in Summer of 2009 Implemented on the Hobbs Campus of Paul D. Camp Community College in Suffolk, Virginia
What is Cluster Computing? Combines several machines together into one usable resource Uses equipment that is often called “obsolete” “Computer” built as if it were a network with special software to share and use resources across machines
What Software Runs the Cluster? Our cluster is based on Linux. We found different versions of Linux were better suited for different tasks. A message passing program is used to communicate between a main server and the client computers. –There are two choices we considered, namely Parallel Virtual Machine (PVM) and Message Passing Interface (MPI). Some software is available for use of clusters, but we wrote programs to perform numerical methods problems.
Why study cluster computing at a Community College? Cluster computing projects force everyone to redefine “difficult”. Students work with interesting content. The work requires extensive study of technical material. The project is an excellent professional development study for faculty. In addition, the work adds to the excitement in the Computer Science department.
Funding the Cluster at a Community College Much of the equipment used was obsolete from the main student computing laboratories. Software for the cluster is Open Source and can be downloaded. Many books are available on the topic, however, a wealth of information is available online. We used the work study program and credit classes to support student work.
Researching the Cluster Design We used online sources and a few books. Many sources were studied, but very few were really helpful. Implementing the project made them more clear. We used Google, the ACM Digital Library, bibliographies, and researcher sites. Research led us to experimentation, including exploiting special features in different versions of Linux. Early on, it became evident we would choose either PVM or MPI. –We chose PVM because it looked like we would have more examples to follow.
Design of the Cluster 14 Machines, each running Linux –2 servers –1 edge router –11 client machines Uses a private network addressing scheme –Cluster is hidden from the outside world even when it is connected to the Internet 100 Megabit Per Second Switch connecting them PVM runs on the server and each client Programs written for a “fully partitioned” process to run on the set of cluster machines
Design of the Cluster
Cluster Performance Results The final performance was 13 Gigahertz equivalent for a large problem (10 billion calculation sets). Cluster performance was predictable and consistent with research estimates.
Cluster Performance Results
Project Difficulties Configuring the cluster was difficult, and changes usually resulted in re-configuration. Programs worked better after we had developed several versions and done more study. Cluster startup was somewhat inconsistent. –There was a pattern, and we spent much time studying it. –Ultimately, we decided to accept the inconsistency and go forward, assuming it will be solved in future implementations of our cluster. The cluster worked well enough for us to complete the study.
Involving Students in the Study As soon as we knew we would be doing the projects, students began working on it. S. Spargur loaded many of our initial Linux configurations. D. Felton worked with Linux and PVM configurations. We described the project many times to any student who was interested. This year’s work study students are beginning the process of building the next cluster with the networking content. The cluster is the object of discussion in several Computer Science (CSC) classes.
Including the Study in the Curriculum Networking content is enhanced in the introduction course (CSC 200) by –Including the hardware for the cluster –Using examples with Linux file management and tasks –Discussion of basic cluster design The Architecture Class (CSC 205) is enhanced by –Examining specific cluster design issues –Discussion of breaking the numeric representation boundaries in the machine –Focus on the “future of architecture” Additional Studies Planned include: –A separate Linux Course –A course where students build a cluster
Project Results The Cluster performed well. The project team learned a great deal. Results are documented at the web site One team member was hired as a computing intern at the Jefferson Laboratory because of his experience in loading machines.
The 2009 Cluster Based on faster machines, but the goal was not performance Goal was implementation of the cluster for use in classes Development was much faster –Original networks in took months –2006 Cluster took about 6 weeks –Later 2006 revision was done in about 1 week –2009 Cluster (with limited nodes) took about a week to implement Each time the cluster is build we use updated OS, so there is a learning curve We use LIVE-CDs to test hardware
Future Plans Implementation of a 2012 cluster Inclusion of MPI Continual acceptance of “obsolete” machines and networking equipment as they are available Build a cluster using ITX form factors and power devices from mini-box –This may be a single box cluster
Additional Work Use of the cluster for non-numerical methods programming –Probably physical system simulation Determining how to make the cluster a part of the daily life of the department Linking our work to the work of scientists who use clusters Continued research to help improve the design and understand the tool
Acknowledgements VCCS Funding and Local College Support was critical to this project. The work of students, especially D. Felton and S. Spargur, made the project a success. We used many web resources, including
Visit the Project Web Site s/ClusterComputing2/index.htmhttp:// s/ClusterComputing2/index.htm The site is always under development because the work is ongoing