Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Distributed Computing

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
B2M32DSVA Z,ZK 6 2P + 2C Czech
Course guarantor:
Peter Macejko
Lecturer:
Peter Macejko
Tutor:
Peter Macejko, Ondřej Vondrouš, Ondřej Votava
Supervisor:
Department of Telecommunications Engineering
Synopsis:

The course is focused on technologies that support distributed computing: on mechanisms ensuring reliable, efficient and secure connection of application processes, programming interfaces of communication channels and up-to-date middleware technologies. A significant part of lectures is dedicated to distributed algorithms that assure causality, exclusive access, deadlock detection/avoidance, fault-tolerance, mobile computing, and security.

Requirements:

Basic knowledge in the area of computer networks and communication. Basic knowledge of Java programming language.

Syllabus of lectures:

1. Distributed computation, graph algorithms (Dijkstra), synchronous and asynchronous model

2. Communication system - protocols, routing

3. Synchronous and asynchronous message passing, multicasting

4. Models of distributed computing - client-server, peer-to-peer, publish-subscribe, cloud computing

5. Support for distributed applications - Java RMI, JMS, Jini; SOAP, REST

6. Time in distributed systems - physical clock synchronization, scalar and vector logical clocks

7. Sharing of resources, distributed algorithms of mutual exclusion

8. Leader election algorithms

9. Termination detection, deadlock - detection and avoidance

10. Replication of data and processes, ensuring consistency

11. Large scale distributed systems: Architecture and computations (DHT, CDN, ...)

12. Mobility in distributed systems - load balancing, mobile agents, cooperative ad-hoc systems

13. Security in distributed systems - Kerberos, PKI, PGP

14. Decentralized database - blockchain

Syllabus of tutorials:

1. Introduction

2. Procedural communication - Java RMI

3. Message broker - Java JMS

4. Communication with REST

5. Communication with gRPC

6. Communication with RabbitMQ

7. Distributed applications - example - design

8. Distributed applications - example - implementation , project assignment

9. Work on the project, consultations

10. Work on the project, consultations

11. Work on the project, consultations

12. Work on the project, consultations

13. Evaluation of the project

14. Evaluation of the project, credits

Study Objective:

After passing the course, students will have an overview in the field of distributed systems. They will be aware of the limitations and advantages related to the deployment of such systems. They will also be able to design and implement a simple distributed system.

Study materials:

Coulouris G., Dollimore J., Kindberg T., Blair G.: Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley 2011, ISBN: 0132143011.

Tel G.: Introduction to Distributed Algorithms, Cambridge University Press 2000, ISBN: 0521794838.

Attiya H., Welch J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, John Wiley and Sons, Inc., 2004. Second Edition, ISBN: 978-0-471-45324-6.

Santoro N.: Design and Analysis of Distributed Algorithms, Wiley-Interscience, 2006, ISBN: 978-0471719977

Note:
Further information:
https://moodle.fel.cvut.cz/courses/B2M32DSVA
Time-table for winter semester 2024/2025:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
roomT2:B3-812a
Vondrouš O.
Votava O.

09:15–10:45
(lecture parallel1
parallel nr.101)

Dejvice
roomT2:B3-812a
Vondrouš O.
Votava O.

12:45–14:15
(lecture parallel1
parallel nr.103)

Dejvice
roomT2:B3-812a
Vondrouš O.
Votava O.

11:00–12:30
(lecture parallel1
parallel nr.102)

Dejvice
Tue
Wed
Thu
roomT2:B3-812a

07:30–09:00
(lecture parallel1
parallel nr.104)

Dejvice
roomT2:B3-812a
Macejko P.
Vondrouš O.

11:00–12:30
(lecture parallel1
parallel nr.105)

Dejvice
roomT2:B3-812a
Macejko P.
Votava O.

12:45–14:15
(lecture parallel1
parallel nr.106)

Dejvice
roomT2:C3-132
Macejko P.
09:15–10:45
(lecture parallel1)
Dejvice
Fri
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-12-21
For updated information see http://bilakniha.cvut.cz/en/predmet5595006.html