Architektura komputerów

Podobne dokumenty
Architektura komputerów

16. Taksonomia Flynn'a.

Systemy operacyjne III

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

3.Przeglądarchitektur

Architektura mikroprocesorów TEO 2009/2010

Dr inż. hab. Siergiej Fialko, IF-PK,

Architektura Komputerów

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Podstawy Informatyki Systemy sterowane przepływem argumentów

Nowoczesne technologie przetwarzania informacji

3.Przeglądarchitektur

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Architektura komputerów

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

Architektura von Neumanna

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Architektura komputerów

Systemy wieloprocesorowe i wielokomputerowe

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

System mikroprocesorowy i peryferia. Dariusz Chaberski

Obliczenia Wysokiej Wydajności

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

LEKCJA TEMAT: Zasada działania komputera.

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Obliczenia Wysokiej Wydajności

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

Architektura komputera

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc

Nowe aplikacje i usługi w środowisku Grid

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Infrastruktura PLGrid Nowa jakość usług informatycznych w służbie nauki

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Programowanie współbieżne i rozproszone

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

dr inż. Jarosław Forenc

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Budowa Mikrokomputera

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

GRIDY OBLICZENIOWE. Piotr Majkowski

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Urządzenia zewnętrzne

Algorytmy dla maszyny PRAM

Infrastruktura PLGrid dla młodych naukowców

Rozproszona pamiêæ dzielona - 1

Budowa komputera Komputer computer computare

PLGrid: informatyczne usługi i narzędzia wsparcia w nauce

dr inż. Jarosław Forenc

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

Mikroprocesory rodziny INTEL 80x86

SSE (Streaming SIMD Extensions)

Działanie komputera i sieci komputerowej.

Opis efektów kształcenia dla modułu zajęć

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Technologia informacyjna. Urządzenia techniki komputerowej

Architektura komputerów. Układy wejścia-wyjścia komputera

Organizacja pamięci w procesorach graficznych

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Informatyka. informatyka i nauki komputerowe (computer science)

Infrastruktura PLGrid

Architektura komputerów

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Budowa i zasada działania komputera. dr Artur Bartoszewski

Infrastruktura PLGrid Nowa jakość usług informatycznych dla Polskiej Nauki

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Infrastruktura PLGrid dla młodych polskich naukowców

Skalowalna Platforma dla eksperymentów dużej skali typu Data Farming z wykorzystaniem środowisk organizacyjnie rozproszonych

i3: internet - infrastruktury - innowacje

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Transkrypt:

Architektura komputerów Wykład 13 Jan Kazimirski 1

KOMPUTERY RÓWNOLEGŁE 2

Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD Multiple Instruction, Single Data stream MIMD Multiple Instruction, Multiple Data stream 3

SISD Architektura złożona z jednego procesora Procesor przetwarza jeden strumień danych Dane przechowywane w pojedynczej pamięci Przykład klasyczny komputer 4

SIMD Jedna instrukcja maszynowa na wielu elementach liczących. Każdy element liczący ma przypisany własny strumień danych. Przykłady procesory wektorowe stosowane w superkomputerach rozszerzenia wektorowe (MMX,SSE) akceleratory graficzne, procesory DSP 5

MISD Pojedynczy strumień danych Strumień danych przekazywany do elementów wykonawczych Elementy wykonawcze wykonują osobne sekwencje instrukcji na strumieniu danych Architektura rzadko spotykana Czasami stosowana w krytycznych systemach (redundancja obliczeń i weryfikacja wyników) 6

MIMD Zbiór elementów przetwarzających. Każdy element przetwarzający realizuje swoją sekwencję instrukcji. Każdy element przetwarzający pracuje na osobnym strumieniu danych. Przykłady większość współczesnych architektur. 7

MIMD - realizacja Systemy z pamięcią dzieloną Systemy SMP (symetryczna wieloprocesorowość) Architektura NUMA (Non Uniform Memory Access) Systemy rozproszone Klastry Chmury obliczeniowe Środowiska gridowe 8

Systemy SMP Dwa lub więcej CPU o takiej samej funkcjonalności. CPU mają dostęp do wspólnej pamięci i przestrzeni I/O. Komunikacja między CPU odbywa się poprzez pamięć. Dostęp do danych nie zależy od CPU i położenia w pamięci. 9

Systemy SMP Zalety: Szybka komunikacja poprzez pamięć dzieloną Możliwość rozkładania obciążenia w dowolny sposób (procesory mogą się zastępować) Odporność na awarie (uszkodzenie CPU) Skalowalność dodawanie kolejnych CPU zwiększa wydajność, dostosowanie wydajności do potrzeb. 10

Realizacja SMP Wspólna szyna. Procesory, pamięć i moduły I/O podłączone do wspólnej szyny. Pamięć wieloportowa. Niezależny dostęp każdego procesora i moduły I/O do pamięci. Centralna jednostka sterująca. Dodatkowy układ sterujący komunikacją między procesorami, modułami I/O i pamięcią. 11

SMP Wspólna szyna Wszystkie układy (procesory, moduły I/O, pamięć) podłączone do jednej szyny. Zalety Prostota Architektura podobna do architektury z jednym CPU Skalowalność poprzez dołączanie nowych CPU Odporność na awarie. 12

SMP Wspólna szyna c.d. Wady: Wydajność ograniczona przepustowością i sposobem zarządzania wspólną szyną. Częste dostępy do pamięci obniżają wydajność konieczność stosowania pamięci podręcznych. Pamięci podręczne wprowadzają kolejny poważny problem spójność danych w pamięciach podręcznych procesorów. 13

SMP Pamięć wieloportowa Specjalnie zaprojektowana pamięć pozwala na bezpośrednie podłączenie wielu układów (CPU i moduły I/O). Zalety: Wady: Duża wydajność. Złożoność pamięci (dodatkowa logika). Problemy z zachowaniem spójności pamięci podręcznej. 14

SMP Centralna jednostka sterująca Specjalny kontroler steruje komunikacją między pamięcią a procesorami i modułami I/O Wady: Złożona logika kontrolera Kontroler stanowi wąskie gardło systemu Rozwiązanie było stosowane w komputerach klasy mainframe. Obecnie rzadko spotykane. 15

Spójność pamięci podręcznej Częste odwołania do pamięci głównej zmniejszają wydajność. Efekt ten jest zwielokrotniony w systemach SMP. W architekturze SMP krytycznego znaczenia nabiera szybka pamięć podręczna lokalna dla danego CPU Problem: W lokalnych pamięciach podręcznych różnych procesorów mogą być kopie tych samych danych 16

Spójność pamięci podręcznej c.d. MEMORY CACHE1 CPU1 Procesory CPU1 i CPU2 przechowują w swoich pamięciach podręcznych kopie tych samych danych. CACHE2 CPU2 Modyfikacje dokonywane przez jeden z procesorów (na kopii w swojej pamięci podręcznej) nie są widziane przez drugi procesor. 17

Rozwiązania programowe Uniknięcie problemu spójności pamięci cache należy do systemu operacyjnego i kompilatora np. wymuszanie natychmiastowej synchronizacji wszystkich danych współdzielonych z pamięcią główną. Rozwiązania programowe są zwykle dosyć konserwatywne i obniżają wydajność pamięci podręcznej. 18

Rozwiązania sprzętowe Sprzętowe mechanizmy zachowania spójności pamięci podręcznej Zalety: Problemy rozwiązywane w momencie powstania Efektywne wykorzystanie pamięci podręcznej Rozwiązanie niewidoczne dla programu Wada: dodatkowe mechanizmy sprzętowe 19

Rozwiązania sprzętowe c.d. Strategie utrzymania spójności pamięci podręcznej (cache coherence protocols) Wykorzystanie centralnego katalogu bloków pamięci w pamięci podręcznej Podsłuchiwanie (snooping) wszystkich transferów na magistrali 20

Katalog bloków pamięci Informacje o blokach w pamięciach podręcznych trzymane są w centralnym katalogu. Centralny katalog przechowywany jest w pamięci głównej. Dodatkowy kontroler weryfikuje żądania przesłań między pamięcią główną i pamięciami podręcznymi oraz utrzymuje spójny stan pamięci. 21

Podsłuchiwanie magistrali Odpowiedzialność za spójność danych spada na kontroler pamięci podręcznej. Kontroler pamięci podręcznej podsłuchuje magistralę. Stosowane strategie: Write Invalidate Write Update 22

Write Invalidate Problem typu: wielu czytelników, jeden pisarz. Blok danych może istnieć w wielu kopiach w pamięciach podręcznych. Modyfikacja bloku danych powoduje unieważnienie innych kopii danych. Przykład realizacji: protokół MESI (Modified, Exclusive, Shared, Invalid) 23

Write Update Problem typu wielu czytelników i pisarzy. Blok danych może istnieć w wielu kopiach w pamięciach podręcznych. Modyfikacje bloku danych w pamięci podręcznej są propagowane do innych pamięci podręcznych. Niektóre architektury wykorzystują obie strategie (write invalidate i write update). 24

Architektura UMA i NUMA Architektura UMA Unified Memory Access. Wszystkie procesory mają dostęp do całej pamięci Czas dostępu do wszystkich regionów pamięci jest taki sam Czas dostępu do pamięci jest taki sam dla wszystkich procesorów Klasyczna architektura SMP 25

Architektura UMA i NUMA c.d. Architektura NUMA Non-Unified Memory Access. Wszystkie procesory mają dostęp do całej pamięci. Czas dostępu do różnych regionów pamięci może być różny. Czas dostępu do danego regionu pamięci będzie różny dla różnych procesorów. 26

Architektura UMA i NUMA c.d. NUMA jest rozwiązaniem pośrednim między klasycznym SMP a klastrem komputerów Tradycyjny system SMP limit na liczbę CPU z powodu magistrali. dostęp do wspólnej pamięci. Klaster komputerów rozproszona pamięć, konieczna programowa kontrola spójności danych wygodna skalowalność 27

Architektura UMA i NUMA c.d. NUMA Znaczne lepsza skalowalność (typowy system SMP do 64 CPU, SGI Origin NUMA do 1024 CPU. Zachowanie mechanizmu pamięci współdzielonej (łatwa komunikacja) i sprzętowej kontroli spójności danych (CC-NUMA Cache coherent NUMA) 28

Systemy rozproszone Klaster komputerów Chmura obliczeniowa Środowisko Grid 29

Klaster komputerowy Grupa osobnych komputerów połączonych siecią Logicznie stanowią pojedynczy zasób obliczeniowy. Każdy komputer to węzeł, węzły wymieniają komunikaty. Model programowy zakłada, że struktura klastra nie jest widoczna dla użytkownika. 30

Klaster komputerowy c.d. Zalety stosowania klastrów komputerowych Wydajność dopasowana do potrzeb (dopasowanie liczby węzłów). Bardzo elastyczna skalowalność (dodawanie nowych węzłów). Odporność na awarie (inne węzły przejmują obliczenia). Znakomity stosunek ceny do wydajności. 31

Klaster komputerowy c.d. Wady klastrów Trudniejsze w zarządzaniu Zajmują więcej miejsca Większe zużycie prądu Klastry sprawdzają się dobrze w problemach obliczeniowych. W przypadku problemów wymagających transferu danych szybkość sieci może limitować wydajność. 32

Klaster komputerowy przykłady realizacji Klaster Beowulf zbudowany z ogólnie dostępnych podzespołów poszczególne węzły nie posiadają osobnych klawiatur i monitorów węzły w lokalnej sieci, dostępne poprzez jeden z węzłów (server node) pracuje pod kontrolą systemu Linuxo-podobnego wykorzystuje biblioteki PVM, MPI 33

Klaster komputerowy przykłady realizacji c.d. Klaster Beowulf zbudowany z ogólnie dostępnych podzespołów poszczególne węzły nie posiadają osobnych klawiatur i monitorów węzły w lokalnej sieci, dostępne poprzez jeden z węzłów (server node) pracuje pod kontrolą systemu Linuxo-podobnego wykorzystuje biblioteki PVM, MPI 34

Klaster komputerowy przykłady realizacji c.d. Sun Solaris Przetwarzanie zorientowane obiektowo Globalne zarządzanie procesami (z możliwą migracją procesów pomiędzy węzłami) Rozproszony system plików System operacyjny dostępny w ramach projektu OpenSolaris 35

Chmura obliczeniowa Rozproszone środowisko obliczeniowe Bazuje na modelu Utility computing Dostawca usług udostępnia usługę w postaci rozproszonych zasobów obliczeniowych Klient może skorzystać z usług udostępnionych w chmurze Chmura zapewnia elastyczne, skalowalne, odporne na błędy i bezpieczne środowisko do uruchamiania aplikacji. 36

Grid System integrujący dużą liczbę urządzeń znajdujących się w różnych lokalizacjach (często odległych) Obejmuje komputery, infrastrukturę sieciową, nośniki danych oraz różnorodne sensory. Widziany jako wirtualny superkomputer (przezroczysty dostęp do rozproszonych zasobów). Otwarte standardy łączenie różnorodnych technologii. Architektura oparta o usługi. 37

GRID - przykłady European Grid Initiative (EGI) europejskie środowisko gridowe Status na 2010 r. 10000 użytkowników prawie 250 000 procesorów (rdzeni) 40 petabajtów przestrzeni dyskowej 317 węzłów w 52 krajach 38

GRID przykłady c.d. Polskie środowisko gridowe PL-GRID Uczestnicy Cyfronet AGH (Kraków) ICM (Warszawa) Poznańskie Centrum Superkomputerowe Akademickie Centrum Komputerowe, Gdańsk Wrocławskie Centrum Superkomputerowe 39

PL-Grid c.d. Planowane zasoby (koniec 2011) moc obliczeniowa 215 TFLOPS przestrzeń dyskowa 2500 TB Obszary zastosowań biologia chemia kwantowa fizyka symulacje numeryczne... 40

Podsumowanie Komputery równoległe taksonomia Systemy SMP charakterystyka sposoby realizacji systemy SMP i pamięć podręczna Architektura NUMA. Środowiska rozproszone klastry, chumury obliczeniowe, środowiska gridowe. 41