Module also offered within study programmes:
General information:
Name:
Computer Architecture
Course of study:
2016/2017
Code:
JIS-2-022-SW-s
Faculty of:
Physics and Applied Computer Science
Study level:
Second-cycle studies
Specialty:
Systemy wbudowane i rekonfigurowalne
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

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. 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. Test
Knowledge
M_W001 Zna i rozumie architekturę komputerów i systemów komputerowych Test
M_W002 Zna i rozumie cykl życia i obszar zastosowań systemów komputerowych 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:

Additional scientific publications not specified

Additional information:

None