CS 6/73304 Cluster Computing

Spring 2006

Course: 6/73304 Spring 2006
Call Number: 19719/19720 
Time: 5:30pm -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  
Grader: TBA Mail address: TBA
Office : Office Hours :

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 development, management 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

Optional Texts:

MPI The Complete Reference   by Marc Snir, et. al., The MIT Press, 1995.
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 (MVICH), evaluation and tuning of system and software performance
  • Linux for clusters.
  • 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 special purpose driver software such as VIA.
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. on Tuesday May 9
Additional Requirements:
Students with Disabilities:

In accordance with University policy, if you have a documented disability and require accommondations to obtain equal access in this course, please contact the instructor at the beginning of the semester or when given an assignment for which an accommodation is required. Students with disabilities must verify their eligibility through the Office of Student Disabilty Services (SDS) in the Michael Schwartz Student Services Center.