Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Architektury komputerowe
Tok studiów:
2018/2019
Kod:
JIS-2-022-SW-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia II stopnia
Specjalność:
Systemy wbudowane i rekonfigurowalne
Kierunek:
Informatyka Stosowana
Semestr:
0
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
prof. dr hab. inż. Kitowski Jacek (kito@agh.edu.pl)
Osoby prowadzące:
prof. dr hab. inż. Kitowski Jacek (kito@agh.edu.pl)
Krótka charakterystyka modułu

Wykład dotyczy budowy systemów informatycznych służącym badaniom naukowym w szczególności symulacyjnym i przetwarzaniu dużych zbiorów danych. Przedstawione są przykłady rozwiązań i zastosowań.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Zna i rozumie architekturę komputerów i systemów komputerowych IS2A_W05 Kolokwium
M_W002 Zna i rozumie cykl życia i obszar zastosowań systemów komputerowych IS2A_W05 Kolokwium
Umiejętności
M_U001 Posługując się językiem angielskim potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie. IS2A_U01, IS2A_U08 Kolokwium
Kompetencje społeczne
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się — podnoszenia kompetencji zawodowych, osobistych i społecznych. IS2A_K01 Aktywność na zajęciach
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Zna i rozumie architekturę komputerów i systemów komputerowych + - - - - - - - - - -
M_W002 Zna i rozumie cykl życia i obszar zastosowań systemów komputerowych + - - - - - - - - - -
Umiejętności
M_U001 Posługując się językiem angielskim potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie. + - - - - - - - - - -
Kompetencje społeczne
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się — podnoszenia kompetencji zawodowych, osobistych i społecznych. + - - - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
Tematyka wykładów

  1. Zagadnienia wstępne. Podstawowe pojęcia (2godz.)
    Geneza zapotrzebowania na dużą moc komputerową. Grupy zastosowań: naukowo-techniczne, przemysłowe, komercyjne. Obliczenia równoległe i rozproszone. Program jako algorytm i dane. Architektura jako sprzęt i oprogramowanie. Zagadnienie synergii w rozwiązywaniu problemu obliczeniowego – struktur danych, środków i narzędzi informatyki oraz architektury komputera. Przetwarzanie typu HPC i HTC. Zasada Moore’a. Jednostki wydajności i pojemności. Znaczenie lokalności danych.
  2. Typowe zastosowania w nauce i technice (2 godz.)
    Przykładowe problemy obliczeniowe z wykorzystaniem metody cząstek i metody elementów skończonych. Cztery paradygmaty badań naukowych, Nauka w komputerze. Wielkie wyzwania nauki i techniki. Wymagania w odniesieniu do mocy obliczeniowej, systemów udostępniania danych i infrastruktury sieciowej. Środowisko metakomputerowe.
  3. Metody oceny wydajności systemów komputerowych (4 godz.)
    Cechy miar wydajności i ich taksonomia. Linpack i lista TOP500. Miary konsorcjum SPEC, składniki SPEC CPU. Reguła Amdahla. Przyspieszenie superliniowe, liniowe i nasycające się. Powody i wpływ części sekwencyjnej. Reguła Gustafsona. Analiza listy TOP500 i wnioski z niej wypływające.
  4. Cechy procesorów w odniesieniu do obliczeń naukowo-technicznych (2 godz.).
    Hierarchia pamięci. Podstawowe różnice między procesorami CISC, RISC i EPIC. Odpowiedniość typu RISC i EPIC w złożonych obliczeniach, optymalizacja obliczeń w procesorze RISC: zmiana kolejności wykonania instrukcji, potokowość, superskalarność, wielowątkowość, wielordzeniowość – poziomy równoległości we współczesnych procesorach i wpływ systemów kompilacji na efektywność programu obliczeniowego. Problematyka pamięci podręcznych procesorów i wymagania algorytmiczne. Metody zwiększania wydajności obliczeniowej. Warunki Bernsteina.
  5. Tendencje rozwojowe procesorów (4 godz.).
    Architektura POWER, SPARC64 VIII, ARM SoC, GPGPU, FPGA. Przykład realizacji technicznej. Architektura x86 (Core i Opteron). Cechy RAS w odniesieniu do Xeon 7500. Wpływ specjalizowanych systemów kompilacji i bibliotek na wykorzystanie elementów współczesnej architektury (np. AVX). Projekty MIC (Phi) i SCC. Procesory o heterogenicznych rdzeniach.
  6. Komputer o wielu procesorach (2 godz.).
    Współbieżność a przetwarzanie równoległe. Modele programowania równoległego (z wymianą komunikatów, pamięci współdzielonej, z równoległością danych). Zagadnienia obsługi pamięci podręcznej.
  7. Mechanizm sterowania (2 godz.).
    Taksonomia Flynna (SISD, SIMD, MISD, MIMD). Komputery macierzowe i wektorowe. Zakres zastosowań i odpowiedniość algorytmu obliczeniowego. Ograniczenia rozwojowe.
  8. Organizacja pamięci operacyjnej (2 godz.).
    Pamięć współdzielona, zdalny bezpośredni dostęp do pamięci, pamięć współdzielona, pamięć wirtualnie współdzielona. Modele (protokoły) spójności pamięci podręcznej i zwartości pamięci operacyjnej i ich przykładowe realizacje. Model PRAM.
  9. Granulacja procesów i statyczny model warstwy komunikacyjnej (2 godz.).
    Drobna, średnia i gruba ziarnistość obliczeń równoległych. Odpowiedniość ziarnistości do architektury. Statyczny model warstwy komunikacyjnej w komputerze o wielu procesorach. Topologie połączeń, parametry określające ich własności, algorytmy routingu, strategie przełączania i sterowania przepływem danych.
  10. Dynamiczny model warstwy komunikacyjnej (2 godz.).
    Dynamiczny model warstwy komunikacyjnej i jego realizacje (magistrala, przełącznica krzyżowa, sieć przełączająca) wraz z cechami szczególnymi. Złożoność, niezawodność i możliwości rozbudowy. Przykłady realizacji.
  11. Architektura klastrowa (2 godz.).
    Model architektury i specjalizowane protokoły realizacji warstwy komunikacyjnej (m.in. Myrinet, Infiniband). Przedstawienie parametrów protokołów i ich wpływu na wybór modelu obliczeń równoległych oraz projektu algorytmu. Model wirtualizacji rozproszonej pamięci operacyjnej. Zagadnienia technicznej realizacji architektury klastrowej.
  12. Nowe paradygmaty architektur rozproszonych (2 godz.).
    Architektura serwisowa. Modele architektury gridowej i cloudowej. Zakresy zastosowań. Przykłady aktualnie realizowanych środowisk.
  13. Przykłady rozwiązań technicznych i perspektywy (2 godz.).
    Przedstawienie klasycznych przykładów komputerów o wielu procesorach pochodzących od znanych producentów. Wirtualizacja. Znaczenie obliczeń typu przepływ pracy. Nowe wyzwania stojące przed architekturami komputerowymi związane z czwartym paradygmatem badan naukowych.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 75 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 30 godz
Samodzielne studiowanie tematyki zajęć 45 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:
  1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny (sr) z kolokwium zaliczeniowego z wykładu.
  2. Wyznaczmy ocenę końcową na podstawie zależności:
    if sr>4.75 then OK:=5.0 else
    if sr>4.25 then OK:=4.5 else
    if sr>3.75 then OK:=4.0 else
    if sr>3.25 then OK:=3.5 else OK:=3
Wymagania wstępne i dodatkowe:

Pożądana podstawowa znajomość języków programowania.

Zalecana literatura i pomoce naukowe:
  1. D. E. Culler, J. Pal Singh „Parallel Computer Architecture”, Morgan Kaufmann, 1999
  2. S. Kozielski, Z. Szczerbiński „Komputery równoległe, architektura i elementy oprogramowania”, WNT 1993
  3. D.A. Patterson, J.L. Hennessy, “Computer Organization and Design – The hardware/software interface”, Morgan Kaufmann, Elsevier, 2009
  4. W. Stallings,“Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność”, WNT, 2004
  5. R. Wyrzykowski, „Klastry komputerów PC i architektury wielordzeniowe: Budowa i wykorzystanie”, EXIT 2009
  6. A. Karbowski (Ed.), „Obliczenia Równolegle i Rozproszone”, Oficyna Wydawnicza Politechniki Warszawskiej, 2001.
  7. Z. Czech „Wprowadzenie do obliczeń równoległych”, PWN, 2010
  8. L. Null, J. Lobur, “Struktura organizacyjna i architektura systemów komputerowych”, Helion, 2004
  9. L. Ridgway Scott, T. Clark, and B. Bagheri, „Scientific Parallel Computing”, Princeton University Press, 2005
  10. D. B. Kirk, Wen-mei W. Hwu, „Programming Massively Parallel Processors”, Morgan Kaufmann, Elsevier, 2010.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Jacek Kitowski, „Współczesne Systemy Komputerowe”, Wyd. CCNS, 2000
2. M. Antkiewicz, M. Kuta, J. Kitowski, Author Profiling with Classification Restricted Boltzmann Machines, in: L .Rutkowski, M. Korytkowski, R. Scherer, R. Tadeusiewicz, Ryszard, L. A. Zadeh, J. M. Zurada (eds), proc. of Artificial Intelligence and Soft Computing: 16th International Conference, ICAISC 2017, Zakopane, Poland, June 11-15, 2017, LNAI vol. 10245, Springer, 2017
3. D. Bachniak, Ł. Rauch, D. Król, J. Liput, R. Słota, J. Kitowski, M. Pietrzyk, Sensitivity analysis on HPC systems with Scalarm platform, Concurrency Computat.: Pract. Exper. 2017; 29:e4025, pubblished on-line, 10.1002/cpe.4025
4. M. Wrzeszcz, Ł. Opioła, K. Zemek, B. Kryza, Ł. Dutka, R. Słota, J. Kitowski, Effective and Scalable Data Access Control in Onedata Effective and Scalable Data Control in Onedata Large Distributed Virtual File System, in: proc. of International Conference on Computational Science, ICCS 2017, 12-14 June 2017, Zurich, Switzerland, Procedia Computer Science, 108C (2017), pp. 445-454

Informacje dodatkowe:

Nieobecność na wykładzie lub wykładach wymaga od studenta samodzielnego uzupełnienia wiedzy na podstawie dostępnych materiałów. Jest to czynność niezbędna dla przygotowania się do kolokwium zaliczeniowego.