CSE5306 Distributed Systems (OS II)

Mohan Kumar

Fall 2011

Course Description

The course on Distributed Systems deals with computing components of networked environments. Examples of distributed systems include: the Internet, an intranet, a network of sensors, a personal area network around a person, etc. The distributed systems paradigm facilitates sharing of resources across the network. The challenges of such a paradigm are: heterogeneity, interoperability, concurrency, transparency, scalability, security, and many others. Furthermore, unlike traditional distributed systems, modern ones face new challenges in terms of mobility, disconnectedness, resource constraints, and battery limitations. 

The course will be in two phases. During the first phase, we study traditional distributed computing concepts – distributed processes/objects, inter-process communication, remote procedure call, coordination, file systems, clocks and global states, security, concurrency, shared memory, transactions and replication. Second phase deals with systems – The Internet, P2P, mobile and pervasive systems, sensor systems and others. Students will present their term papers during the second stage.

Course Objectives
The principal objective of this course is to build a solid foundation in distributed systems.  On completion of the course, the student is expected to:

1.     Understand fundamental concepts of distributed computing systems.

2.     Understand modern distributed systems – P2P, mobile, pervasive, sensor etc.

3.     Recognize importance of addressing challenges in modern systems to facilitate distributed computing.

4.     Develop distributed programs on real systems.

Course Prerequisites
Undergraduate courses in operating systems, networks and algorithms.  Those who have completed or (registered concurrently) CSE 5344 and/or CSE 5311 will be better equipped.

Mode of Teaching

The class meets twice a week (Mondays and Wednesdays 7 – 8:20 PM). At the end of each topic, students must attempt to solve exercise problems. Most topics will be from reference books and/or published articles (whose details will be provided and can be accessed through UTA library). The instructor will provide power point slides. These will be a combination of those supplied by the Authors of the text book and instructor’s own. The course is not limited to any programming language. The course assignment requires programming skills. Students are strongly encouraged to use reference books in addition to the course material provided by the professor.

Professor: Mohan Kumar Email: mkumar@uta.edu; Phone: (817) 272-3610; Office: ERB 559.

Class: ERB 131; Mon/Wed - 7:00 – 8:20 PM; Office Hours: Mon/Wed – 5:00-7:00 PM or by appointment.

Course URL: http://crystal.uta.edu/~kumar/CSE5306_11FL.

GTA : TBD

Course Syllabus: (Note: Dates are tentative)

1.       Introduction and Background: examples of distributed systems, middleware, applications, models, and networks;

Aug 29, and 31.

2.       Interprocess communication: processes, objects, OS support, client-server and group communications

September 7 and 12.

3.       Remote invocation: Remote procedure calls, events, Java RMI

September 14.

4.       Clocks and global states: Clocks, events and processes, physical and logical clocks, global states

September 21 and 26. 

5.       Coordination: mutual exclusion, elections, multicasting, and consensus

September 28, October 5 and 10.

6.       Security: Overview, Cryptographic algorithms, Digital signatures, case studies.

October 12.

7.       Distributed file systems: architecture, case studies

October 19.

8.       Concurrency and Transactions: Basics, nested transactions, locks, concurrency control, time stamps, distributed transactions, commit protocols, deadlocks and recovery.

October 24, 26 and 31.

9.       Fault-tolerance: failure masking, reliable communication, fault-detection and recovery

November 2.

10.    Shared Memory: consistency models, caching, prefetching

November 7.

11.    Replication: Models, Fault-tolerant services, case studies

November 9.

References:

Distributed Systems: Concepts and Design

George Coulouris, Jean Dollimore and Tim Kindberg

Addison Wesley, 4th Edition, 2005

Distributed Systems: Principles and Paradigms, A.S. Tanenbaum and M. V. Steen, Pearson Publishers, 2nd Edition.

Distributed Operating Systems & Algorithms, R Chow and T. Johnson, Addison-Wesley, 1997.

 

Assessment and Timeline
The structure of quizzes will be discussed in class, at least one week prior to the quiz.
Quiz 1 (20%): Monday, September 19, 2011.
Quiz 2 (20%): Monday, October 17, 2011.

Quiz 3 (20%): Monday, November 14, 2011.

Group Work (project, presentation, report and class participation): 40%. 

Group Presentations: Will be scheduled during the last two weeks of November.

Group Work Reports:  Due at 9 am December 5, 2011.

Each Group will have 3 members; Groups to be formed before September 7. 
Quizzes are of 70 minutes each.

 

Surprise Quizzes: There will be up to 3 ten-minute surprise quizzes. These are not mandatory, but scores from these quizzes will be added to your regular quiz scores.  The portion or actual weight will be decided based on performance in regular quizzes. There will be NO time extensions and NO makeup quizzes for absentees/late corners.

Group Work: Problems will be assigned by September 7, 2011 and the expected date of completion is December 5 (9 am).

Class participation: ACTIVE Participation will prepare you well for Quizzes and Exams Students are expected to interact actively during lectures. All students are expected to solve homework problems and engage in class discussions.

Missed Exams, Quizzes, and Makeup Work
Talk to the instructor if you miss a regular quiz due to unavoidable circumstances (e.g., health).

Attendance and Drop Policy
Attendance though not mandatory, is HIGHLY encouraged. Class participation is critical to acquiring knowledge.

Please visit course page for details on Americans with Disabilities Act, Academic Dishonesty and Student Support Services.