CS 6/73304 Cluster Computing

Fall 2008

Course: 6/73304 Fall 2008
Call Number: 14487/14488 
Time: 5:30 pm - 6:45pm Tu Th Location: 276 MSB
Paul A. Farrell Office : 258
Phone : 672-9060 Mail address : farrell@cs.kent.edu
Office Hours : TBA and by appointment  

Description: This course will investigate clusters of computers as a computing platform for distributed computing. By the end of the course, each student should understand specific hardware and software tradeoffs for cluster and application performance, and the issues involved in deployment and programming of a cluster of computers. Each student will complete a project based on cluster computing and/or cluster deployment and management. Course material will come from texts and assigned readings.

Prerequisites:

CS 43201 Operating Systems, and, either CS45101 Computer Organization & Architecture or CS45201 Computer Communication Networks, or equivalent; or permission required

CS 6/73995 Parallel and Distributed Computing is complementary to this course and would provide a useful background.

Recommended Text:

Beowulf Cluster Computing with Linux, 2nd edition, edited by William Gropp, Ewing Lusk, Thomas Sterling, MIT Press, 2003

MPI The Complete Reference - 2nd Ed   by Marc Snir, et. al., The MIT Press, 1998.

Optional Texts:

Parallel Programming with MPI  by Peter Pacheco, Morgan Kaufmann, 1998.
Using MPI-2, Advanced Features of the Message Passing Interface, William Gropp, Ewing Lusk, Rajeev Thakur, The MIT Press, 1999.
In Search of Clusters: The ongoing battle in lowly parallel computing, Second Edition, by Gregory F. Pfister, Prentice Hall Publishing Company, 1998.
How to Build a Beowulf – A Guide to the Implementation and Application of PC Clusters, by Thomas Sterling, John Salmon, Donald J. Becker and Daniel F. Savarese, MIT Press, 1999

Course Outline:

Topics to be covered include:

  • A general introduction to the concept of cluster based distributed computing.
  • Hardware technologies for cluster computing, including a survey of the possible node hardware and  high-speed networking hardware and software.
  • Software for cluster computing
  • Software and software architectures for cluster computing, including both shared memory (OpenMP) and message-passing (MPI/PVM) models
  • Programming, features and performance of standard MPI variants (LAM/MPICH/vendor specific MPI versions), Derived data types, communicators.
  • MPI-2 extension, dynamic process creation, one-sided communication, parallel I/O.
  • Variants based on new low level protocols (MVAPICH), evaluation and tuning of system and software performance
  • Linux for clusters, cluster monitoring.
  • Performance evaluation tools, HINT, netperf, netpipe, ttcp, Iperf.
  • Configuring and Tuning Clusters: This will involve evaluation of the performance of various nodes and networking hardware such as Gigabit Ethernet, Myrinet, Infiniband, Quadrics etc.
and possibly some of the following topics:
  • Security
  • Troubleshooting
  • Setting up Clusters: OSCAR, NPCAI Rocks, Score etc.
  • Managing cluster resources: single system images, system level middleware, distributed task scheduling, monitoring and administering system resources
  • Parallel I/O and Parallel Virtual File System
  • Scheduling: Condor, Maui Scheduler, Portable Batch System (PBS)
  • Application steering and visualization: Cumulvs, GUIs for visualization and debugging
  • Brief overview of meta-clustering: the Computational Grid, Globus, Grid Portals, Java RMI, Jini
Notes:
  • Assignments will be a mix of cluster installation and administration tasks, performance evaluation, programming, and written questions.
  • Some of the assigments will consist in programming in C using MPI (and possibly OpenMP or PVM).
  • There will be a penalty for late assignments which may amount to up to 10% per day.
  • Assignments are to be completed by the student without assistance from or collaboration with other persons, unless otherwise specifiied.
  • The final examination is nominally scheduled for 5:45 - 8:00 p.m. Tuesday December 9
Additional Requirements:
Cheating and Plagiarism Students are reminded of the University policy on Cheating and Plagiarism - a condensed version of which is available in this document.
Students with Disabilities:

University Policy 3342-3-01.3 requires that students with disabilities be provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact the instructor at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through Student Accessibility Services (contact 330-672-3391 or visit www.kent.edu/sas for more information on registration procedures).