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.