1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH



Podobne dokumenty
16. Taksonomia Flynn'a.

Architektura komputerów

Systemy wieloprocesorowe i wielokomputerowe

3.Przeglądarchitektur

Architektura Komputerów

Architektura komputerów

3.Przeglądarchitektur

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

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

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

Architektura komputerów

Architektura von Neumanna

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

5. Model komunikujących się procesów, komunikaty

Systemy rozproszone System rozproszony

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

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

dr inż. Jarosław Forenc

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

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

dr inż. Jarosław Forenc

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

Programowanie współbieżne i rozproszone

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

SPRZĘT SYSTEMÓW ROWNOLEGŁYCH

Wykład 2. Mikrokontrolery z rdzeniami ARM

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

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.

Podstawy Informatyki Systemy sterowane przepływem argumentów

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

Architektura komputerów

dr inż. Jarosław Forenc

Nowoczesne technologie przetwarzania informacji

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Architektura mikroprocesorów TEO 2009/2010

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

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

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Systemy wieloprocesorowe i wielokomputerowe

Operacje grupowego przesyłania komunikatów

dr inż. Jarosław Forenc

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

System operacyjny System operacyjny

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

Klasyfikacja systemów komputerowych. Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż. Jarosław Forenc

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Obliczenia Wysokiej Wydajności

Sieciowe Systemy Operacyjne

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

Załącznik nr 1 Do Umowy nr z dnia. . Wymagania techniczne sieci komputerowej.

Mikroprocesory rodziny INTEL 80x86

Obliczenia Wysokiej Wydajności

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Rozproszona pamiêæ dzielona - 1

Architektura komputera

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe

dr inż. Jarosław Forenc

Programowanie Rozproszone i Równoległe. Edward Görlich goerlich@th.if.uj.edu.pl

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

LEKCJA TEMAT: Zasada działania komputera.

1. Etapy rozwoju systemów komputerowych

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

Algorytmy dla maszyny PRAM

WYBRANE ZAGADNIENIA PRZETWARZANIA RÓWNOLEGŁEGO I ROZPROSZONEGO ORAZ KLASTRÓW KOMPUTEROWYCH

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

ARCHITEKTURA PROCESORA,

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Procesory. Schemat budowy procesora

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

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Introduction to Computer Science

Systemy operacyjne III

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

PI-12 01/12. podłączonych do innych komputerów, komputerach. wspólnej bazie. ! Współużytkowanie drukarek, ploterów czy modemów

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

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

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

Klasyfikacja systemów komputerowych. Architektura von Neumanna i architektura harwardzka Budowa komputera: dr inż. Jarosław Forenc

Architektura komputerów

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

Architektura komputerów

Architektura systemu komputerowego

Mikroprocesor Operacje wejścia / wyjścia

Budowa Mikrokomputera

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

System komputerowy. System komputerowy

dr inż. Jarosław Forenc

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Klasyfikacja systemów komputerowych. Architektura von Neumanna i architektura harwardzka Budowa komputera: dr inż. Jarosław Forenc

Porównaj CISC, RISC, EPIC.

Pytania i odpowiedzi

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

Sprzęt czyli architektury systemów równoległych

Wprowadzenie do systemów operacyjnych

Transkrypt:

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH 1 Klasyfikacje komputerów Podstawowe architektury używanych obecnie systemów komputerowych można podzielić: 1. Komputery z jednym procesorem 2. Komputery równoległe 3. Systemy rozproszone Klasyfikacja Flynna Różnicuje komputery ze względu na różną liczbę strumieni instrukcji i danych. Skrót Nazwa angielska Liczba strumieni instrukcji SISD Single Instruction Single Data 1 1 SIMD Single Instruction Multiple Data 1 wiele MISD Multiple Instruction Single Data Wiele 1 MIMD Multiple Instruction Multiple Data Wiele Tab. 1-1 Klasyfikacja komputerów według Flynna SISD - klasyczne komputery jednoprocesorowe. SIMD - komputery wektorowe, MISD - konstrukcje eksperymentalne. MIMD - różnorodne komputery równoległe. Liczba strumieni danych wiele

Klasyfikacja komputerów MIMD (wg. Tannenbauma) Podział bierze pod uwagę komunikację pomiędzy procesorami. Może ona być przez: wspólną pamięć system wejścia wyjścia Komputery SISD SIMD MISD MIMD Wieloprocesory Multikomputery UMA NUMA Masywnie równolege Klastry Rys. 1-1 Klasyfikacja komputerów wg. Tannenbauma

2 Multiprocesory Multiprocesor składa się z pewnej liczby procesorów i modułów pamięci połączonych siecią przełączającą. 1 2 Pamięć wspóldzielona k 1 SIEC PRZEŁACZAJACA 2 1-2 Schemat multiprocesora n Rys. Wszystkie procesory multiprocesora dzielą tę samą przestrzeń adresową. Na poziomie kodu maszynowego dostęp do pojedynczych komórek pamięci realizowany jest poprzez rozkazy typu LOAD i STORE. Sieć przełączająca może być zbudowana w różny sposób. Przełącznica krzyżowa (ang. Crossbar Switch) Sieci wielostopniowe (ang. Multistage Networks), Magistrala. Przełącznica krzyżowej - rozwiązanie kosztowne i w małym stopniu skalowalne. Dlatego stosuje się je w systemach, gdzie liczba procesorów nie przekracza kilkunastu. Architektura magistrali - w danej chwili pamięć może być wykorzystywana tylko przez jeden procesor, co powoduje, że dostęp do pamięci staje się wąskim gardłem systemu.

Pamięć wspóldzielona CACHE 1 CACHE 2 CACHE N magistrala Rys 1-3 Wieloprocesor z magistralą i pamięciami podręcznymi Złagodzenie problemu - zastosowanie pamięci podręcznych (ang. Cache Memory). Konsekwencja zastosowania pamięci podręcznych - powstaje problem niespójności pamięci. W wieloprocesorach zapewnianie spójności pamięci zapewniane jest na poziomie sprzętowym. Typowe rozwiązanie zrealizowane wg. specyfikacji INTEL MP Specification 1.4

Maszyny NUMA W powyższych konstrukcjach czas dostępu do pamięci dla każdego procesora nie zależy od lokalizacji komórki pamięci. Maszyny tego typu nazywają się maszynami o jednolitym czasie dostępu do pamięci UMA (ang. Uniform Memory Access). W praktyce maszyny UMA nie mają więcej kilkadziesiąt procesorów. Gdy potrzeby są większe, z wymagania na jednolity czas dostępu należy zrezygnować, co prowadzi do koncepcji maszyn o niejednolitym czasie dostępu do pamięci NUMA (ang. Non Uniform Memory Access). W maszynach NUMA każdy procesor łączy się z własną pamięć lokalną za pośrednictwem specjalnego układu zarządzania pamięcią zwanego MMU (ang. Memory Management Unit). jednostka 1 jednostka 2 jednostka N... I/O MMU magistrala lokalna MMU magistrala MMU lokalna magistrala międzyprocesorowa magistrala lokalna Rys. 1-4 Architektura maszyny NUMA Jednostka MMU analizuje wystawiane przez procesor zlecenie dostępu do pamięci. Gdy żądanie dotyczy adresu spoza pamięci lokalnej, kierowane jest ono poprzez magistralę międzyprocesorową do jednostki MMU odległej tej maszyny, w której pamięci lokalnej zawarta jest potrzebna komórka pamięci. Odległa jednostka MMU realizuje żądaną operacją dostępu i przesyła wynik do jednostki lokalnej. Operacja realizowana jest poprzez sprzęt. Dostęp do nielokalnej jednostki pamięci będzie trwał dłużej niż do pamięci lokalnej i jest od 10 do 100 razy większy.

Najważniejsze cechy maszyny o architekturze NUMA są następujące: Wspólna dla wszystkich procesorów przestrzeń adresowa Czas dostępu do komórki pamięci zależny od jej lokalizacji. Dostęp do zdalnych komórek pamięci za pomocą instrukcji LOAD i STORE kodu maszynowego. Maszyny NUMA implementują praktycznie ideę rozproszonej pamięci dzielonej DSM (ang. Distributed Shared Memory). Przykład - CRAY T3E Zawiera do 2048 węzłów. Każdy węzeł składa się z 64 bitowego procesora DEC ALPHA 375 MHz, pamięci lokalnej 128 MB, jednostki MMU i routera posiadającego 6 połączeń do innych węzłów. Sieć połączeń ma postać trójwymiarowego torusa. Z punktu widzenia programisty najważniejsze cechy maszyny o architekturze wieloprocesora są następujące: Możliwość prawdziwie równoległego wykonywania wielu strumieni instrukcji. Obecność wspólnej dla wszystkich procesorów przestrzeni adresowej. Narzędzia programowania: Model wątków operujących na wspólnym obszarze pamięci. Wątki komunikują się przez wspólną pamięć a wzajemne wykluczanie zapewnione jest przez monitory, muteksy czy semafory. Biblioteka wątków Pthread - POSIX Specyfikacja OpenMP

3 Multikomputery Bariera rozwoju multiprocesorów - koszt realizacji pamięci dzielonej. Metodą przezwyciężenia tej bariery jest częściowa lub całkowita rezygnacja z pamięci dzielonej co doprowadziło do skonstruowania multikomputerów. Multikomputer składa się z procesorów posiadających własne pamięci lokalne i komunikujących się ze sobą przez wyspecjalizowane sieci połączeniowe. IO... IO - pamięć operacyjna CI magistrala lokalna CI - procesor CI - interfejs komunikacyjny sieć polączeniowa IO - urz. wejścia wyjścia Rys. 1-5 Struktura Multikomputera Komunikacja międzyprocesowa komunikaty. Send(adres,bufor,ile) - wysłanie bufora z danymi do procesu docelowego. Receive(adres,bufor,ile) przekazanie bufora danych procesowi odbierającemu. Przesłanie komunikatu pomiędzy procesorami realizowane jest za pomocą interfejsów komunikacyjnych i sieci połączeniowej. Rodzaje sieci połączeniowej i interfejsów: Urządzenia specjalizowane komputery masywnie równoległe MPP (ang. Massive Paralell Processors). Urządzenia typowe (Gigabit Ethernet, Fast Ethernet) Klastry W obydwu rodzajach konstrukcji stosuje się podobne procesory i pamięci a różnica tkwi w sieci połączeniowej.

Przykład klastra Układ - zainstalowany we Wrocławskim Centrum Sieciowo Superkomputerowym. Klaster ten zawiera 30 komputerów połączonych siecią Fast Ethernet. Każdy z komputerów zawiera 2 procesory Intel Xeon i 3 GB pamięci. Przykład komputera MMP IBM RS/6000 SP Komputer składa się z superwęzłów połączonych specjalnymi przełącznikami SP Switch 2. W skład superwęzła wchodzi 16 procesorów Power PC, 4 moduły pamięci, 2 interfejsy do przełącznika SP Switch 2 i dwa interfejsy wejścia wyjścia. magistrala PCI Interfejs we/wy Interfejs we/wy magistrala PCI 1... 16 sieć przełączająca superwęzła 1... 4 do innych węzłów Interfejs sieci SP Interfejs sieci SP do innych węzłów Rys. 1-6 Schemat superwęzła komputera IBM RS6000/SP Sieć składa się z wielu połączonych przełączników. Pojedynczy przełącznik umożliwia połączenie do 16 jednostek. Przepustowość przełącznika wynosi 700 MB/sek przy opóźnieniu 17 ms. Przełączniki można łączyć w zestawy umożliwiające połączenie do 512 jednostek. Sieć przełączników ma topologię drzewa. Superwęzły umieszczane są w stojakach w których umieszczane są także przełączniki co tworzy ramę (ang. Frame). Komputer składa się z ram połączonych siecią.

rama 1 rama 2 rama N......... Przełącznik SP Switch 2 Przełącznik SP Switch 2 Przełącznik SP Switch 2 Rys. 1-7 Struktura superkomputera IBM RS/6000 SP Superwęzeł jest mutliprocesorem Cały komputer multikomputerem składającym się z multiprocesorów Komputer ma strukturę hierarchiczną. Rozwiązanie jest w znacznym stopniu skalowalne i umożliwia skonfigurowanie komputera z 8192 procesorami. Architektura komputerów ma znaczny wpływ na sposób ich programowania. Typ Multiprocesor Dostęp do pamięci komp. zdalnego Instrukcje LOAD i Skalowalność Trudna Programowanie Procesy komunikujące się przez pamięć dzieloną STORE Multikomputer Komunikaty Łatwa Procesy przesyłające komunikaty Tab. 1-2 Porównanie multiprocesorów i multikomputerów

4 Systemy rozproszone System rozproszony składa się z wielu niezależnych komputerów połączonych za pomocą sieci. Pracujące na nich aplikacje komunikują się poprzez sieć. System System System Procesor WE/WY Procesor WE/WY Procesor WE/WY Sieć Rys. 1-8 Struktura systemu rozproszonego Do programowania systemów rozproszonych wykorzystywany jest model procesów komunikujących się poprzez wymianę komunikatów (model komunikujących się procesów). Przykładowe narzędzia programowania: Komunikacja niskiego poziomu gniazdka TCP/IP Zdalne wywoływanie procedur SUN RPC Obiekty rozproszone Java RMI, CORBA Systemy operacyjne wspierające systemy rozproszone QNX6 Neutrino