Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Distributed Computing and Systems

Informacje ogólne

Kod przedmiotu: 103A-CSCSN-MSA-EDCS
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Distributed Computing and Systems
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Computer Systems and Networks - Advanced )-Computer Systems and Networks-M.Sc.-EITI
( Courses in English )--eng.-EITI
( Przedmioty techniczne )---EITI
( Przedmioty zaawansowane )-Inżynieria systemów informatycznych-mgr.-EITI
( Przedmioty zaawansowane techniczne )--mgr.-EITI
( Technical Courses )--eng.-EITI
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

EDCS

Numer wersji:

1

Skrócony opis:

Wykład przedstawia problemy komunikacji, współpracy i synchronizacji w systemach rozproszonych. Omówione są problemy badawcze tej dziedziny jak np. transakcje, pamięć rozproszona, replikacja elementów, zarządzanie czasem i synchronizacja, oprogramowanie pośredniczące. Szczegółowo są przedstawione przykładowe nowoczesne technologie jak klastry, web services, usługi katalogowe.

Pełny opis: (tylko po angielsku)

The aim of the course is to familiarize students with the problems of distributed systems, methods of solving these problems and techniques of distributed application programming.

Lectures:

  1. Introduction (2h): definition of a distributed system; physical distribution, autonomous modules, uncertainty, transparency; distributed architectures.
  2. Communication (2h): frames, headers, streams and messages, synchronous and asynchronous communication, protocols, sliding window protocol, alternating bit protocol, layers, OSI model, group communication; remote procedure call, remote object invocation.
  3. Replication (2h): consistency models, CAP theorem, availability. Distributed Shared Memory.
  4. Synchronization (4h): Clock synchronization, physical and logical clocks, Lamport and vector clocks, global states. synchronization algorithms, election algorithms, mutual exclusion, Ricard-Agrawala algorithm, multicast and group communication.
  5. Transactions (4h): ACID properties, nested transactions, synchronization techniques, locks, optimistic concurrency control, timestamps, distributed deadlocks, transaction recovery, isolation levels.
  6. Naming (2h): name servers, global naming, name spaces, hierarchical addressing.
  7. Fault tolerance (2h): availability, security, dependability, reliability, voting systems, process resilience.
  8. Clusters, farms and grids, multiagent systems (2h): availability, load balance, agent migration, security.
  9. Middleware(2h): RPC, OO middleware, Pub/Sub.
  10. Distributed file systems (2h): name services, catalog services, file sharing.
  11. Web services (2h): XML, WSDL, SOAP
  12. 2 tests (4h).

Project:

Group projects (2 students); each group solving a distributed collaboration problem; students develop solutions individually in various technologies and platforms; final integration of individual solutions into heterogeneous system.

keywords:

distributed system, communication, protocol, replication, consistency, synchronization, clocks, global state, cuts, transactions, multicast, name services, fault tolerance, dependability, availability, clusters, grid, middleware, distributed shared memory, distributed file system, web services

Literatura:

  1. A.S. Tanenbau, M. van Steen, Distributed Systems: Principles and Paradigms, 3rd ed., 2017, Createspace Independent Publishing Platform. https://www.academia.edu/40661214/Distributed_Systems_3_
  2. G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems: Concepts and Design, 4th ed., 2005, Addison-Wesley.
Efekty uczenia się:

Wiedza

  • Zna podstawowe problemy systemów rozproszonych
  • Zna metody rozwiązywania problemów systemów rozproszonych
  • Zna techniki i koncepcje użyteczne w programowaniu rozproszonych aplikacji

Umiejętności

  • Umie wykonać aplikację rozproszoną
  • Umie rozwiązać podstawowe problemy systemów rozproszonych, na przykład praca w warunkach niepewności, elekcja itp
  • Umie specyfikować interfejs międzymodułowy aplikacji rozproszonej
  • Potrafi zintegrować aplikację rozproszoną której części są przygotowane w różnych językach programowania i działają na różnych platformach systemowych
  • Potrafi wyspecyfikować projekt strukturalny i behawioralny w języku UML
  • Potrafi zaplanować i wykonać testy systemu rozproszonego

Kompetencje społeczne

  • Potrafi uzgadniać interfejs aplikacji rozproszonej w zespole
  • Potrafi integrować aplikację w ramach zespołu realizującego poszczególne moduły
  • Potrafi uruchamiać aplikację rozproszoną w zespole
  • Potrafi przygotować dokumentację aplikacji w zespole
Metody i kryteria oceniania: (tylko po angielsku)

Two tests: mid-term and final during the lectures (30 points each) and
project score (40 points). Totally it is possible to score up to 100
points:

The final result is based on the following pattern:

5.0: 91-100 points

4.5: 81-90 points

4.0: 71-80 points

3.5: 61-70 points

3.0: 51-60 points

2.0: 0-50 points

Additional conditions: minimum of 30 points in tests and minimum of 20
points in project.

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: Wiktor Daszczuk, Witold Oleszkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. letni" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: Wiktor Daszczuk, Witold Oleszkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: Wiktor Daszczuk, Witold Oleszkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: Wiktor Daszczuk, Witold Oleszkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: Wiktor Daszczuk, Witold Oleszkiewicz, Kamil Żbikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: Wiktor Daszczuk, Witold Oleszkiewicz, Kamil Żbikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Wiktor Daszczuk
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)