Distributed Systems and Computing
- Garant předmětu:
- 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 operating systems, computer networks and communication.
- Syllabus of lectures:
1. Distributed applications, communication methods
2. Procedural communication - XML-RPC, CORBA, Java RMI, SOAP/RESTful
3. Model of distributed computation, simple examples
4. Snapshots of distributed computation, logic time
5. Wave algorithm, algorithm symmetry - server selection
6. Exclusive access algorithms
7. Deadlock prediction and detection - on resource sharing and communication
8. Termination of distributed application, quoras
9. Data sharing and replication, distributed databases
10. P2P systems and DHT technologies
11. Agent applications, mobility of computation
12. Architecture of clouds technologies, computation methods
- Syllabus of tutorials:
1. Practices introduction
2. Java RMI
6. Semestral project presentation
- 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:
Janeček J.: Distribuované systémy. (in Czech language)
Janeček J., Kubr J., Červený M.: Distribuované systémy - cvičení. (in Czech language)
Tanenbaum A. S.: Distributed Systems: Principles and Paradigms (2nd Edition).
Tel G.: Introduction to Distributed Algorithms.
Lynch N.A.: Distributed Algorithms.
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
- Master branch Knowledge Engineering, in Czech, 2016-2017 (elective course)
- Master branch Computer Security, in Czech, 2016-2019 (elective course)
- Master branch Computer Systems and Networks, in Czech, 2016-2019 (compulsory course of the specialization)
- Master branch Design and Programming of Embedded Systems, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Info. Systems and Management, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Software Engineering, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Web Engineering, in Czech, 2016-2019 (elective course)
- Master program Informatics, unspecified branch, in Czech, version 2016-2019 (VO)
- Master branch System Programming, spec. System Programming, in Czech, 2016-2019 (elective course)
- Master branch System Programming, spec. Computer Science, in Czech, 2016-2017 (elective course)
- Master specialization Computer Science, in Czech, 2018-2019 (elective course)
- Master branch Knowledge Engineering, in Czech, 2018-2019 (elective course)