Taught by: Eero Vainikko, Amnir Hadachi, Artjom Lind, Oleg Batrašev
The course gives an overview and practical experience in different ways of implementing distributed systems. The subjects include distributed systems terminology and properties, remote procedure systems, distributed object-oriented systems, distributed file systems, synchronisation in distributed systems, transactions, time service and programming with threads.
The working language for this course is English.
- Introduction to the course
- Characterization of distributed systems + System models
- Networking and internetworking + Interprocessor communication
- Indirect communication
- Remote invocation
- Operating systems support
- Web services
- Peer-to-peer systems
- A guest lecture (Transferwise)
- Distributed files systems + Name services (lecture by Artjom Lind)
- Coordination and agreement
- Designing distributed systems: Big Data paradigm (some examples: Google case) (lecture by Amnir Hadachi)