Department of Computer
Science
CS 666 Advanced Distributed Systems Spring 2018
Class Web Page:
The class web page is located at http://taoxie.sdsu.edu/cs666/index.html. This page contains course announcements, syllabus, and other information.
Class Location and Time:
Class location: EBA - 443; Class Schedule: MW 16:00 - 17:15
Instructor:
Tao Xie,
Ph.D.
Office
hours:
MW 11 am - noon or by appointment
Office:
GMCS 535, Office Phone 619-594-2014
Grader:
Prashant Joshi
Email: prashantjoshi93@gmail.com
Office hours: Monday&Wednesday 11 am to noon at GMCS 557
Course Description:
A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. A major motivation for developing distributed systems is to share resources, which may be managed by servers and accessed by clients. The design and implementations of distributed systems are challenging, because (1) components in a distributed system are in most cases heterogeneous, (2) components may be dynamically added or replaced, and (3) the systems must work well when the number of users increases. In this course, we will address the issues of design of distributed systems. In particular, we will investigate successful approaches in the form of abstract models, algorithms, and cases studies of real-world systems. We presume that students who will take this class have a basic knowledge of operating systems, computer architecture, and object oriented programming. The course will be research intensive, aiming at deriving practical and achievable ground rules for distributed systems design. Each student is expected to do a project including a written report and an in-class presentation on a topic to be arranged with the instructor. You will be expected to collaborate with other students toward the completion of the research project related to distributed systems.
Topics Covered:
Characterization of distributed systems, Distributed system models, Distributed algorithms, Distributed objects and RMI, Transactions and concurrency control, Distributed transactions, Replication, Distributed file systems, Peer-to-Peer systems, Mobile and ubiquitous computing.
Textbook:
G. Coulouris, J. Dollimore and T. Kindberg, "Distributed Systems: Concepts and Design" fifth edition, by Addison Wesley, 2011, ISBN: 0-13-214301-1.
Lecture Slides:
Introduction of Distributed Systems
How to conduct research projects in CS (1)?
How to conduct research projects in CS (2)?
How to conduct research projects in CS (3)?
Distributed Objects and Remote Invocation
Events and Distributed File Systems (1)
Distributed File Systems (2)
A Sample CS Research Project
Time and Global State (1)
Coordination and Agreement (1)
Coordination and Agreement (2)
Coordination and Agreement (3)
Coordination and Agreement (4)
Transactions and Concurrency Control (1)
Transactions and Concurrency Control (2)
Transactions and Concurrency Control (3)
Midterm Exam Preview
Course
Objectives: 1. To understand the characterization of distributed systems. 2. To understand the well-established topics of data replication, distributed file systems, and the like. 3. To familiarize yourselves with new topics, including web services, the Grid, peer-to-peer and ubiquitous systems. 4. To design a scalable and heterogeneous distributed systems. 5. To improve technical writing and oral presentation skills. Prerequisites: 1. CS 570 - Operating Systems.
Assignments, Lab Assignment, Midterm Exam, and Research Project: 1. Assignment 1 (Chapters 1,2,4,5; individual assignment) 2. Assignment 2 (Chapters 10,12, 14, 15; individual assignment) 3. Assignment 3 (Chapters 16,17; individual assignment) Class Guidelines: Grading
Policy:
100
90
86
82
78
74
70
66
62
58
54
50
0 | A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |