Architektura komputerów

Slides:



Advertisements
Podobne prezentacje
Co to jest BIOS ? Piotr Pierzchalski kl. III B.
Advertisements

Architektura SAP R/3 Wybrane zagadnienia.
Wykonał : Marcin Sparniuk
SYSTEMY ROZPROSZONE Pamięć.
Sieci komputerowe.
1 Linux jako system wielozadaniowy i wielodostępny.
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Schemat blokowy komputera
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Obsługa routera Wykład: Zaawansowane sieci komputerowe
Artur Szmigiel Paweł Zarębski Kl. III i
Rozproszone bazy danych
Opracował: mgr Mariusz Bruździński
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Komputery macierzowe.
Komputer a system komputerowy
Architektura komputerów
Hybrydowy Kontroler NetAXS™
Architektura komputerów
Architektura komputerów
ARCHTEKTURA KOMPUTERA
Systemy operacyjne.
Zasada działania komputera
Jaka jest wydajność najszybszego superkomputera na świecie? Gflopów procesorów Intel EM64T Xeon X56xx 2930 MHz (11.72 GFlops) GB.
Budowa systemu komputerowego
Autor: Justyna Radomska
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Topologie sieci lokalnych.
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Maszyna wirtualna ang. virtual machine, VM.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
Wybrane zagadnienia relacyjnych baz danych
W ą t e k (lekki proces) thread.
Sieci komputerowe.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Procesor – charakterystyka elementów systemu. Parametry procesora.
Zintegrowany sterownik przycisków. Informacje podstawowe Każdy przycisk jest podłączony do sterownika za pośrednictwem dwóch przewodów, oraz dwóch linii.
BUDOWA I ZASADA DZIAŁANIA
System Zarządzania Bazą Danych
Procesor, pamięć, przerwania, WE/WY, …
Systemy operacyjne i sieci komputerowe
Pierwsze systemy wsadowe - przypomnienie
Pamięć DRAM.
Struktura wewnętrzna mikrokontrolera zamkniętego
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Rodzaje systemów operacyjnych
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Model warstwowy ISO-OSI
WPROWADZENIE DO MIKROPROCESORÓW. Klasyfikacja mikroprocesorów SIMD – ang. Single Instruction Multiple Data SISD – ang. Single Instruction Single Data.
TOPOLOGIE SIECI. Topologia sieci- określa sposób połączenia urządzeń sieciowych ze sobą. Najbardziej znane topologie:  Topologia magistrali  Topologia.
Schemat blokowy komputera
Podział mikroprocesorów
TOPOLOGIE SIECI KOMPUTEROWEJ Filip Duda II DT. TOPOLOGIA SIECI Topologia fizyczna - opisuje sposoby fizycznej realizacji sieci komputerowej, jej układu.
Zapis prezentacji:

Architektura komputerów Wykład nr 13: Architektury równoległe Piotr Bilski

Architektury równoległe Wieloprocesory symetryczne Klastry Systemy o niejednorodnym dostępie do pamięci Komputery wektorowe

Klasyfikacja systemów równoległych CU PU LM DS IS SIMD DS IS CU PU MU SISD PU CU IS MU MIMD (pamięć wspólna) DS IS DS CU PU MU IS DS Sieć połączeń CU PU MU IS DS CU PU MU

Taksonomia Flynna

Wieloprocesory symetryczne (SMP) Wiele procesorów o porównywalnych możliwościach, pełniących identyczne funkcje Pamięć i urządzenia we/wy są wspólne dla wszystkich procesorów Komunikacja między komponentami odbywa się przez magistralę Systemem steruje system operacyjny Rozwiązanie wydajne w stosunku do uniprocesora!

Architektura wieloprocesora

Przykład działania systemu czasu rzeczywistego na maszynie wieloprocesorowej

Podział systemów wieloprocesorowych Magistrala z podziałem czasu Konieczność adresowania modułów Mechanizm arbitrażu dla dostępu do magistrali Moduły bez dostępu do magistrali czekają bezczynnie Pamięć wieloportowa – możliwy jednoczesny dostęp do pamięci z wielu modułów Centralna jednostka sterująca – wyróżniony moduł taktujący i arbitrażowy

Magistrala z podziałem czasu Najprostsza architektura Struktura i interfejs podobne do systemu jednoprocesorowego Przejawia następujące cechy: Adresowanie – rozróżnianie modułów na magistrali Arbitraż – każdy moduł może być w trybie „master” Podział czasu – jeśli jeden moduł kontroluje magistralę, pozostałe muszą czekać w stanie zawieszenia Obecnie oprócz wielu modułów wejścia/wyjścia stosowane są również wieloprocesory

Organizacja magistrali z podziałem czasu

Pamięć wieloportowa Bezpośredni, niezależny dostęp do pamięci przez każdy procesor Wymagane układy logiczne do rozwiązywania konfliktów Niewielkie modyfikacje wymagane w modułach lub procesorach

Organizacja pamięci wieloportowej

Centralna jednostka sterująca Tunele oddzielają strumienie danych pomiędzy niezależnymi modułami Potrafi buforować żądania Odpowiada za arbitraż oraz taktowanie Odpowiada za kontrolę i przekazywanie informacji o stanie Odpowiada za powiadamianie o aktualizacji pamięci podręcznej Interfejsy do modułów pozostają niezmienione Przykład: IBM S/370

Problemy wieloprocesorowych systemów operacyjnych Obsługa procesów współbieżnych Szeregowania zadań z uwzględnieniem wielu procesorów Synchronizacja w przypadku współdzielonych danych Zarządzanie pamięcią – wydajność i spójność Niezawodność i tolerowanie uszkodzeń

Przykład SMP – IBM S/390

Spójność pamięci podręcznych Obecność danych jednocześnie w pamięci głównej oraz pamięciach podręcznych wymusza technikę aktualizacji Zapis opóźniony nie zapewnia spójności Rozwiązaniem dla systemów wieloprocesorowych jest protokół MESI

Mechanizmy spójności Programowe Pracę wykonuje kompilator i system operacyjny Analiza kodu pozwala stwierdzić, które zmienne mogą tworzyć problem spójności przy wprowadzaniu ich do pamięci podręcznej Takie zmienne nie są wprowadzane do pamięci Obliczany jest okres bezpieczeństwa dla wspólnych zmiennych

Mechanizmy spójności (c.d.) Sprzętowe Protokoły katalogowe – zbieranie informacji o miejscu przechowywania dublowanych danych (centralny sterownik przechowuje je w pamięci głównej) Protokoły podglądania – każdy procesor uczestniczy w utrzymywaniu spójności pamięci Zapis z unieważnieniem Zapis z aktualizacją

Protokoły katalogowe Katalog (lista wierszy pamięci podręcznej zawierających dane z pamięci głównej) przechowywany w pamięci głównej Żądania są konfrontowane z zawartością pamięci Przeprowadzane są odpowiednie transfery Główny problem wydajnościowy (bottleneck)! Efektywne w dużych systemach z dużą liczbą połączeń

Protokoły podglądania Rozpraszają problem spójności pamięci podręcznych pomiędzy kontrolery pamięci Pamięci rozpoznają, które wiersze są dzielone Aktualizacja pamięci rozprowadzana pomiędzy inne moduły Przeznaczone do wieloprocesorów opartych na magistrali Zwiększają obciążenie magistrali

Zapis z unieważnieniem Wiele odczytów, jeden zapis Kiedy zapis jest wymagany, wszystkie kopie tej linii w innych pamięciach są unieważniane Procesor zapisujący ma wyłączny dostęp do wiersza, dopóki nie zostanie on zażądany przez inny procesor Używane zarówno w Pentium II, jak i PowerPC Stan każdej linii jest oznaczony jako: zmodyfikowany, wyłączny, dzielony lub nieważny Przykład: MESI

Zapis z aktualizacją Wiele odczytów i zapisów Zaktualizowane słowo jest rozprowadzane do innych procesorów Niektóre systemy wykorzystują adaptacyjnego połączenia obu rozwiązań (unieważnienia i aktualizacji zapisu)

Protokół MESI Każdy wiersz w pamięci podręcznej ma 2-bitowy znacznik stanu Stany te to: Zmodyfikowany (jest tylko w tej pamięci podręcznej, kopia w pamięci głównej różna) Wyłączny (jest tylko w tej pamięci podręcznej, kopia w pamięci głównej identyczna) Wspólny (jest w wielu pamięciach podręcznych, kopia w pamięci głównej identyczna) Nieważny (kopia w pamięci podręcznej nieaktualna)

Scenariusze dostępu do danych Chybienie odczytu – przejście do stanu „wspólny”, jeśli kopia danych jest w innej pamięci, lub „wyłączny” w przeciwnym wypadku Trafienie odczytu – brak zmiany stanu Chybienie zapisu – zmiana stanu na „zmodyfikowany” Trafienie zapisu – zmiana stanu na „wyłączny”, potem na „zmodyfikowany”

Klastry Jest to grupa połączonych ze sobą komputerów, traktowany jako jeden system obliczeniowy Cecha skalowalności bezwzględnej i przyrostowej Korzystny stosunek ceny do wydajności

Konfiguracja klastra

Szczegóły implementacji systemów operacyjnych Zarządzanie uszkodzeniami Wysoka dostępność Odporność na uszkodzenia Przejmowanie danych Przełączanie aplikacji i danych z uszkodzonego systemu do innego w ramach klastra Przywracanie danych Przywrócenie aplikacji i danych na oryginalny system, kiedy problem zostanie rozwiązany Równoważenie obciążenia Skalowalność przyrostowa Automatyczne uwzględnianie nowych komputerów w planowaniu Warstwa pośrednia musi rozpoznawać, które procesy można przenosić między komputerami

Metody tworzenia klastrów Rezerwa bierna Dodatkowy serwer czynny Odrębne serwery Serwery połączone z dyskami Serwery współużytkujące dyski

Architektura systemu klastrowego Pojedynczy punkt wejściowy Pojedyncza hierarchia plików Pojedynczy punkt sterowania Pojedyncza sieć wirtualna Pojedyncza przestrzeń pamięci Pojedynczy system zarządzania zadaniami Pojedynczy interfejs użytkownika Pojedyncza przestrzeń we/wy Pojedyncza przestrzeń procesów Migracja procesu Wprowadzanie punktów kontrolnych

Wspólne oprogramowanie Wspólne oprogramowanie Wspólne oprogramowanie Sekwencyjne programy użytkowe Równoległe programy użytkowe Pośrednie oprogramowanie klastra Komputer PC Komputer PC Komputer PC Wspólne oprogramowanie Wspólne oprogramowanie Wspólne oprogramowanie Interfejs sieciowy Interfejs sieciowy Interfejs sieciowy Szybka sieć transmisyjna

Niejednorodny dostęp do pamięci Wszystkie procesory mają dostęp do całej pamięci, ale czas dostępu zależy od sektora, do którego procesor chce się dostać (NUMA) Systemy ze spójnością pamięci podręcznych (CC-NUMA) Sieć składa się z węzłów (wieloprocesorów) połączonych łączem komunikacyjnym

Obliczenia wektorowe Superkomputery w obliczeniach wykorzystują procesory tablicowe Obliczenia na tablicach wymagają przetwarzania równoległego (mechanizm fork) Możliwe rozwiązania: ALU z przetwarzaniem potokowym Równoległe ALU Równoległe procesory

Przykład obliczenia wektorowego

Rozwiązania obliczeń wektorowych Przetwarzanie potokowe wewnątrz operacji

Łączenie w łańcuchy Technika stosowana w komputerach Cray Operacja na wektorze zaczyna się w momencie uzyskania dostępu do jego pierwszego elementu Wynik operacji może być natychmiast wykorzystany w następnej Przy użyciu rejestrów wektorowych nie trzeba wykonywać zapisu do pamięci

Przykład komputera wektorowego – IBM 3090 Rozwinięcie jednostki IBM 370 Wszystkie operacje wektorowe wykorzystują instrukcje IBM 370 Obecne dwie jednostki – do obliczeń skalarnych i wektorowych Zawiera 16 32-bitowych rejestrów wektorowych, które mogą być łączone w rejestry 64-bitowe

Prawo Amdahla S(n) – przyspieszenie wykonania operacji po użyciu n procesorów tone(op) – czas wykonania zadania w systemie jednoprocesorowym tmult(op) – czas wykonania zadania w systemie wieloprocesorowym