CS 6/73304 Cluster Computing

Fall 2015

Course: 6/73304 Fall 2015
Call Number:12624/12658 
Time: 7:00 pm - 8:15 pm Tu Th Location: 106 Henderson
Paul A. Farrell Office : 258
Phone : 672-9060 Mail address : farrell@cs.kent.edu
Office Hours : 4pm-5:15pm Tue and Thurs and by appointment   
Grader: Fatema Nafa Mail address:fnafa@kent.edu

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. Course material will come from online materials, 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.

Optional Texts:

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

Parallel Programming in OpenMP   by Rohit Chandra et al. Morgan Kaufmann 2001.

Using OpenMP Portable Shared Memory Parallel Programming   By Barbara Chapman, Gabriele Jost and Ruud van der Pas MIT Press, 2007.

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

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
  • OpenMP programming
  • Programming, features and performance of standard MPI variants (Open MPI/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 performance evaluation, programming, and written questions.
  • Some of the assigments will consist in programming in C using MPI and/or OpenMP .
  • 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.
  • There will be no final examination. The final assignment will be due 11:59pm on Tuesday Decemeber 15, 2015. This is a hard deadline. Homeworks submitted after this date will not be considered.
Additional Requirements:
Assesment
  • Mid-term exam 30%
  • Homework assignments 70%
  • Attendance in classes is considered very important. Instructors may take roll calls from time to time. This is to follow University rules for keeping track of student attendance.
Registration University policy requires all students to be officially registered in each class they are attending. Students who are not officially registered for a course by published deadlines should not be attending classes and will not receive credit or a grade for the course. Each student must confirm enrollment by checking his/her class schedule (using Student Tools in FlashLine) prior to the deadline indicated. Registration errors must be corrected prior to the deadline.
Cheating and Plagiarism University policy 3-01.8 deals with the problem of academic dishonesty, cheating, and plagiarism. None of these will be tolerated in this class. The sanctions provided in this policy will be used to deal with any violations. If you have any questions, please read the policy at http://www.kent.edu/policyreg/policydetails.cfm?customel_datapageid_1976529=2037779 and/or ask.
Students with Disabilities:

University policy 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).