Popis předmětu - BE2M32DSV

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
BE2M32DSV Distributed Computing Rozsah výuky:2+2c
Garanti:  Role:PO,V Jazyk výuky:EN
Vyučující:  Zakončení:Z,ZK
Zodpovědná katedra:13132 Kreditů:5 Semestr:Z

Anotace:

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.

Cíle studia:

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.

Osnovy přednášek:

1. Distributed computation, graph algorithms (Dijkstra), synchronous and asynchronous model
2. Communication system - protocols, routing
3. Synchronous and asynchronous message passing, multicasting
4. Procedural communication - IDL interface, call semantics, asynchronous mechanisms
5. Models of distributed computing - client-server, peer-to-peer, publish-subscribe, cloud computing
6. Support for distributed applications - Java RMI, JMS, Jini; SOAP, REST
7. Time in distributed systems - physical clock synchronization, scalar and vector logical clocks
8. Sharing of resources, distributed algorithms of mutual exclusion
9. Leader election algorithms
10. Termination detection, deadlock - detection and avoidance
11. Replication of data and processes, ensuring consistency
12. Large scale distributed systems: Architecture and computations (DHT, CDN, MapReduce, PageRank, social networks)
13. Mobility in distributed systems - load balancing, mobile agents, cooperative ad-hoc systems
14. Security in distributed systems - Kerberos, PKI, PGP

Osnovy cvičení:

1. Introduction
2. Examples of RPC, messaging queues
3. Examples of SOAP
4. Examples of REST
5. Work on small tasks, consultations
6. Work on small tasks, consultations
7. Distributed applications - sample implementation
8. Distributed applications - sample implementation, project assignment
9. Work on the project, consultations
10. Work on the project, consultations
11. Distributed Storage
12. Work on the project, consultations
13. Evaluation of the project
14. Evaluation of the project, credits

Literatura:

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.

Požadavky:

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

Webová stránka:

https://moodle.fel.cvut.cz

Klíčová slova:

distributed computing, distributed systems, process cooperation

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
MEEK3_2016 Elektronika V
MEEK1_2016 Komunikační systémy a sítě PO 1
MEEK2_2016 Rádiová a optická technika V
MEEK4_2016 Audiovizuální technika a zpracování signálů V


Stránka vytvořena 23.8.2019 17:51:43, semestry: Z,L/2020-1, L/2018-9, Z,L/2019-20, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)
Za obsah odpovídá: doc. Ing. Ivan Jelínek, CSc.