Module also offered within study programmes:
General information:
Name:
Computer Architecture
Course of study:
2018/2019
Code:
JIS-2-031-GK-s
Faculty of:
Physics and Applied Computer Science
Study level:
Second-cycle studies
Specialty:
Grafika komputerowa i przetwarzanie obrazów
Field of study:
Applied Computer Science
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
prof. dr hab. inż. Kitowski Jacek (kito@agh.edu.pl)
Academic teachers:
prof. dr hab. inż. Kitowski Jacek (kito@agh.edu.pl)
Module summary

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ń.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się — podnoszenia kompetencji zawodowych, osobistych i społecznych. IS2A_K01 Activity during classes
Skills
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 Test
Knowledge
M_W001 Zna i rozumie architekturę komputerów i systemów komputerowych IS2A_W05 Test
M_W002 Zna i rozumie cykl życia i obszar zastosowań systemów komputerowych IS2A_W05 Test
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się — podnoszenia kompetencji zawodowych, osobistych i społecznych. + - - - - - - - - - -
Skills
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. + - - - - - - - - - -
Knowledge
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 + - - - - - - - - - -
Module content
Lectures:
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.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 75 h
Module ECTS credits 3 ECTS
Participation in lectures 30 h
Realization of independently performed tasks 45 h
Additional information
Method of calculating the final grade:
  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
Prerequisites and additional requirements:

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

Recommended literature and teaching resources:
  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.
Scientific publications of module course instructors related to the topic of the module:

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

Additional information:

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.