Prof. Douglas Thain
Email: dthain at cse dot nd dot edu
Office: 382 Fitzpatrick
Office Hours: Wednesdays 1-3PM
Course Web Page: http://www.cse.nd.edu/~dthain/courses/cse60771/spring2010
This course will introduce students to the theory and practice of distributed systems, with a special emphasis on large scale computer systems used in science and engineering.
The theoretical aspects of distributed systems will be studied via the course textbook, Distributed Systems: Principles and Paradigms by Andrew Tannenbaum. Students will be evaluated on this material through written assignments and exams.
The practical aspects of distributed systems will be studied through a series of in-depth lectures and practical assignments on working distributed systems, in particular the Condor distributed processing system, the Chirp distributed file system, the Hadoop distributed data processing system, and the Eucalyptus cloud computing system. Students will operate, modify, and evaluate each of these systems to gain practical experience in the strengths and weaknesses of each. Students will propose and carry out a final project that applies skills learned over the course of the class.
Students will have access to several large computing systems for the assignments and final project, including four 12-core interactive machines, our campus Condor pool of about 800 cores, the Purdue Condor pool of about 30,000 cores, and our local Green Cloud, which runs Hadoop and Eucalyptus.
Paper assignments should be brought to class. Programming assignments will be turned in electronically by copying all required files to a "dropbox" directory. You are free to turn in assignments multiple times before the deadline expires. It would be a good habit to turn in an incomplete but working assignment on a daily basis. Thus, there is no excuse for failing to turn in an assignment: everyone should turn in something long before the deadline. Exceptions will be made only in grave circumstances.
Grades will be weighted as follows:
Warm Up Assignment | 5 % |
Regular Assignments | 50 % |
Final Project | 15 % |
Midterm Exam | 15 % |
Final Exam | 15 % |
The practical assignments are to be completed alone.
The final project may be performed singly or in pairs. You are encouraged to seek out and exploit external manuals, books, websites, and other documentation that will help you to complete the assignment, provided that you indicate what sources you have used. However, all software development, experimental work, and writing of results must be done solely by you and your partner.
You must read and abide by the Academic Code of Honor.