317 Distributed Systems
- Distributed Systems, Concepts and Design by Coulouris, Dollimore, Kindberg;
Addison Wesley (required)
- Distributed Systems, Andrew Tannenbaum, Maarten van Steen, Prentice Hall
Common problems in distributed systems and the algorithms to solve them. Distributed
garbage collection; process synchronization; leader election and mutual exclusion;
distributed transactions and concurrency control; data consistency and replication;
quorums and agreement problems; fault tolerance in distributed systems. In addition
to the lectures and written homework, students will read and present important papers
in the distributed systems field. This course will be more algorithm and theory
oriented than COEN 235 or COEN 236.
Grades will be calculated from
After complete the course, students will be able to
- Demonstrate their advanced understanding of the working details of distributed
systems and the underlying technologies: their architectures, algorithms, middleware
implementations to support distributed applications developments, techniques to
achieve synchronization, consistency with replication, and faulty tolerance.
- Apply emerging technologies to develop efficient algorithms and techniques that
enable the building of fast, scalable, fault-tolerant distributed systems.
- Analyze the trade-offs between deploying applications in the cloud and over
the local infrastructure.
- Compare the advantages and disadvantages of various cloud computing platforms.
Deploy applications over commercial cloud computing infrastructures.