Distributed Systems and Computing

The course is not on the list Without time-table
Code Completion Credits Range Language
MIE-DSV Z,ZK 4 2+1
Department of Computer Systems

Students are introduced to methods for coordination of processes in distributed environment characterised by nondeterministic time responses of computing processes and communication channels. They learn basic algorithms that assure correctness of computations realized by a group of loosely coupled processes and mechanisms that support high availability of both data and services, and safety in case of failures.


Basic knowledge in the area of computer networks and communication.

Syllabus of lectures:

1. Distributed applications, synchronous and asynchronous model of computation.

2. Program support for distributed computation, middleware techniques.

3. Detection of the state of a distributed application, data consistency, logical time.

4. Distributed mechanisms for exclusive access.

5. Complexity of a distributed computation, client-server models, symmetry breaking.

6. Deadlocks, their prevention and detection, mechanisms for deadlock avoidance.

7. Termination of a distributed computation, termination detection algorithms.

8. Failures of a distributed computation, recovery, consensus, quorum techniques.

9. Data sharing and replication, security mechanisms in distributed databases.

10. Load balancing mechanisms for distributed computations.

11. P2P data systems, distributed hash tables (DHT).

12. Systems of DHTs: CAN, Pastry, Kademlia.

13. Mobility in distributed systems, mobile agents, active networks.

Syllabus of tutorials:


Study Objective:

The module focuses on the distributed computation viewed as an asynchronous cooperation of a group of finite state machines. Substantial part of the lectures is devoted to typical distributed computing techniques: ensuring causality, exclusive access, dealing with deadlocks, fault protection, mobility of computation, and security. The course is concluded with an overview of techniques for distributed data storages using the DHT (Distributed Hash Table) method and an overview of systems with mobile computing components.

Study materials:

1. Dollimore, J., Kindberg, T., Coulouris, G. ''Distributed Systems: Concepts and Design (4th Edition)''. Addison Wesley, 2005. ISBN 0321263545.

2. Tanenbaum, A. S. ''Distributed Systems: Principles and Paradigms (2nd Edition)''. Prentice Hall, 2006. ISBN 0132392275.

3. Lynch, N. A. ''Distributed Algorithms''. Morgan Kaufmann, 1997. ISBN 1558603484.

4. Tel, G. ''Introduction to Distributed Algorithms''. Cambridge University Press, 2001. ISBN 0521794838.

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2019-03-25
For updated information see http://bilakniha.cvut.cz/en/predmet1439306.html