CS 6/73995 ST:Cluster Computing

Spring 2004

Course: 6/73995 Spring 2004
Call Number: 17157/19392 
Time: 3:15-4:30pm Tu Th Location: 376 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. Selected topics such as meta-clustering (computational grids) may also be discussed. 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
  • 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.
  • Setting up Clusters: OSCAR, NPCAI Rocks, Score etc.
  • 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) and variants based on new low level protocols (MVICH), evaluation and tuning of system and software performance
  • 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
  • Application middleware Condor, Maui Scheduler, Portable Batch System (PBS), Cumulvs, GUIs for visualization and debugging
  • Application middleware Cumulvs, Condor, GUIs for visualization and debugging, Java RMI, Jini
  • 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, programs, or 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 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 7:45 - 10:00 a.m. on Friday May 7.
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.