Distributed and Cluster Computing (CPSC 3620)
General Course Information
The objectives of this course are to investigate issues in modern distributed platforms. We will cover a number of important technologies in the areas of distributed computing in computational and data-intensive problems. By the end of the course, each student should understand and be able to apply several specific tradeoffs for parallel application and algorithms development, performance, and management on a number of distributed platforms. Each student will complete several programming and system exercises and a semester group project based on the concepts studied in the course.
Learning objectives
Graduates will be able to:
- apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices,
- analyze a problem, and identify and define the computing requirements appropriate to its solution,
- apply design and development principles in the construction of distributed computing systems, and
- function effectively on teams to accomplish a common goal.
Prerequesites
- Working knowledge of the Python programming language and Linux system.
- Working knowledge of data structures and algorithms
- Familiarity with C/C++/Java.
- Introduction to Python.
Course Topics
Introduction to Distributed Computing
Distributed and Parallel File Systems
Message-Passing Computing
Scheduling on Cluster of Computers
Big Data and Data Intensive Computing
Hadoop Distributed File System (HDFS)
MapReduce Programming Paradigm
Memory-centric Distributed Computing
Message-oriented Middleware
Distributed Stream Processing
Instructional Staff
- Instructor of Record: Dr. Linh B. Ngo
- Office: 2091 Barre Hall
- Office Hours: by appointment
Email: LNGO [at] CLEMSON [dot] EDU
- Teaching Assistant: Dung T. Nguyen
- Office: 222A McAdams Hall
- Office Hours: TBD
Email: DUNGN [at] CLEMSON [dot] EDU
Time and Location
- MWF 12:20PM - 01:10PM
- Daniel Hall 413
Course Management System
For this semester, we will use the new Canvas Course Management System. This is located at https://clemson.instructure.com/courses/18788.
Important Dates
- Jan 11, W Classes begin
- Jan 16, M Martin Luther King Jr. holiday
- Jan 25, W Last day to drop a class or withdraw without a W grade
- Mar 17, F Last day to drop a class or withdraw from the University without final grades
- Mar 20-24, M-F Spring break
- May 1, M 8:00AM - 10:30AM - FINAL EXAM
Reference Book (Optional)
Parallel Programming: Techniques and Applications using Networked Workstations and Parallel Computers (2nd Edition - 2004) by Barry Wilkinson and Michael Allen. (ISBN: 0131405632)
Laptop requirements
As a significant portion of the course involves working with the Palmetto Supercomputer and coding, having access to a laptop during class time is important so that the students can follow the in-class materials. As there are a limited number of power outlets in the classroom, the students need to make sure that their laptops are fully charged for the duration of the class.
Course Materials
Lecture slides and example codes will be available for download from the website. Links to papers on subjects we will be discussing in class will be listed on the website and/or embedded in the slides. Students are responsible for all the materials including lecture slides, example codes, and papers.
Grading
Grades will be based on the following distribution:
- Homework Assignments: 40%
- Exam 1: 25% (covering the first half of the semester)
- Exam 2: 25% (covering the second half of the semester)
- Quiz and participation score: 10%
Letter grades are assigned according to the standard scale (i.e. A: 90-100, B: 80-89, C: 70-79, D: 60-69, F: 0-59).
Late Work
Without prior approval from the instructors, late homework assignments will not be accepted but will be assigned a grade of zero. Unless accompanied with a valid medical or University excuse, all late submissions will be penalized. A make-up for the Exams will be given only with a valid medical or University excuse. Blackboard “notification of absence” is not sufficient.
Attendance Policy
- Attendance is critical to the success of students in this class.
- We will take note of who attends, including occasionally using attendance check in place of a quiz score.
- If you miss a class, you are responsible for obtaining lecture notes, handouts, and homework assignments from fellow students.
- If the instructor is late for class, please wait 20 minutes before leaving.
Academic Integrity
“As members of the Clemson University community, we have inherited Thomas Green Clemson’s vision of this institution as a “high seminary of learning.” Fundamental to this vision is a mutual commitment to truthfulness, honor, and responsibility, without which we cannot earn the trust and respect of others. Furthermore, we recognize that academic dishonesty detracts from the value of a Clemson degree. Therefore, we shall not tolerate lying, cheating, or stealing in any form.”
The instructor takes academic integrity extremely seriously and expects students to do so too. Scientific progress requires scientists to be honest in reporting their methods and results, the extent of their own contributions, and to accurately represent the research and ideas of other scientists. Failures of academic integrity such as plagiarism (i.e., representing the ideas or words of another as if they are your own) are always an insult to instructors and other students. Cheating, plagiarism, and all other academic integrity violations will handle according to the University policies regarding classroom expectations and academic integrity violation, as specified at http://www.clemson.edu/academics/academic-integrity/
Collaboration Policy
In and out of class assignments are opportunities for learning and discovery. Collaboration between students on homework assignments in this class is permitted. Collaboration includes students working together to gain an understanding of course concepts, active discussions with the instructor and other people to learn about course material, and other activities in which a student is actively seeking to learn and understand the topics covered in the course. I do expect that you understand and can explain any homework solution that you submit, no matter how you worked on it.
As has always been the case, however, plagiarism is not allowed. Taking assignments from other classmates or downloading completed assignments from websites is not allowed. These are activities that are simply meant to earn a score, not understand the course material. If you collaborate with other students in class or use sources other than those provided for everyone in the course (e.g., instructor, recommended textbook, the course web site, or the lectures) to help yourself learn and understand, then you must give appropriate credit to those collaborators and/or sources. As long as you acknowledge the collaboration that occurred, your grade will not be affected nor will you be charged with academic misconduct. On the other hand, a failure to acknowledge collaborations or give appropriate credit to sources of help (other than course materials or personnel as noted above) will be treated as plagiarism.
Contributorship Statement
To ensure that you acknowledge contributions, collaborations and sources, you are required to include a contributorship statement at the beginning of every assignment that you submit. The statement should say:
“I worked on this assignment alone, using only course materials.”
OR
“I worked on this assignment with give the names of the people you worked with. My role in completing the assignment was provide description of all your contributions, while provide names of other collaborators role in completing the assignment was provide a description of their contributions. We consulted related material that can be found at cite any other materials not provided as course materials.”
Any assignment that does not include a collaboration statement will not receive a grade until the statement is provided.
Disability Accommodations
Students with disabilities needing accommodations should make an appointment with Margaret M. Camp, Director of Student Accessibility Services, to discuss specific needs within the first month of classes. Student should present a Faculty Accommodation Letter from Student Disability Services when they meet with instructors. The Office of Student Disability Services in Suite 239, Academic Success Building (864-656-6848; sds-l@clemson.edu). Please be aware that accommodations are not retroactive and new Faculty Accommodation Letters must be presented each semester.
Title IX Statement
Clemson University is committed to a policy of equal opportunity for all persons and does not discriminate on the basis of race, color, religion, sex, sexual orientation, gender, pregnancy, national origin, age, disability, veterans status, genetic information or protected activity (e.g., opposition to prohibited discrimination or participation in any complaint process, etc.) in employment, educational programs and activities, admissions and financial aid. This includes a prohibition against sexual harassment and sexual violence as mandated by Title IX of the Education Amendments of 1972.
This policy is located at http://www.clemson.edu/campuslife/campus-services/access/title-ix/.
Mr. Jerry Knighton is the Clemson University Title IX Coordinator. He also is the Director of Access and Equity. His office is located at 111 Holtzendorff Hall, 864.656.3181 (voice) or 864.565.0899 (TDD).