Systemy wieloprocesorowe

Transkrypt

Systemy wieloprocesorowe
Politechnika Gdańska
Wydział Elektroniki, Telekomunikacji i Informatyki
Katedra Systemów Geoinformatycznych
Aplikacje Systemów
Wbudowanych
Techniki zwiększające wydajność mikroprocesorów
Systemy wieloprocesorowe
Krzysztof Bikonis
Gdańsk, 2016
Techniki zwiększające
wydajność mikroprocesorów
Przerwania
• Przerwanie – sygnał powodujący zmianę przepływu
sterowania, niezależnie od aktualnie wykonywanego
programu i wykonanie przez procesor kodu jego obsługi
• Przerwania dzielą się na:
- Sprzętowe:
- zewnętrzne – sygnał pochodzi z zewnętrznego układu
- wewnętrzne – zgłaszane przez procesor dla sygnalizowania
sytuacji wyjątkowych (np. dzielenie przez zero)
• Programowe – z kodu programu wywołana jest
procedura obsługi przerwania (najczęściej
wykorzystywane do komunikacji z systemem
operacyjnym)
2
Techniki zwiększające
wydajność mikroprocesorów
Bezpośredni dostęp do pamięci DMA
• DMA ma za zadanie odciążyć procesor główny od
samego przesyłania danych z miejsca na miejsce (np. z
urządzenia wejściowego do pamięci), a procesor w tym
czasie może robić co innego
3
Techniki zwiększające
wydajność mikroprocesorów
Pamięć podręczna CACHE procesora
• Pamięć podręczna CACHE to mechanizm, w którym
ostatnio pobierane dane dostępne ze źródła o dłuższym
czasie dostępu i niższej przepustowości są
przechowywane w pamięci o lepszych parametrach
• Przyspiesza dostęp do relatywnie wolnej pamięci RAM
• Charakteryzuje się bardzo
krótkim czasem dostępu
• Przechowuje dane, które
będą w niedługim czasie
przetwarzane
4
Techniki zwiększające
wydajność mikroprocesorów
Pamięć podręczna CACHE dysku twardego
• Przyspiesza dostęp do bardzo wolnej pamięci masowej
• Daje to możliwość przechowania danych w buforze i
wysłania do kontrolera bez wykonywania cyklu dostępu
do nośnika oraz wpływa pozytywnie na szybkość całego
systemu
5
Techniki zwiększające
wydajność mikroprocesorów
Linia potokowa
• Operacja obliczeniowa jest rozkładana na zbiór prostszych operacji
elementarnych wykonywanych w kolejnych blokach
• Bezpośrednio po zakończeniu pierwszego kroku, pierwsza porcja
przetworzonych danych przekazana zostanie do drugiej itd.
• W tym czasie na wejście pierwszego bloku mogą zostać podane
nowe argumenty
• W rezultacie procesor może wykonywać n instrukcji równocześnie
CPU
Sterowanie lokalne
RAM
blok1
blok2
blok3
blok4
6
Techniki zwiększające
wydajność mikroprocesorów
Zrównoleglenie
• Zwiększenie szybkości działania pojedynczego procesora
wcześniej, czy później napotka na barierę technologiczną
• Choć nie wszystkie algorytmy sekwencyjne da się zastąpić
równoległymi, istotnym podejściem do zwiększenia ogólnej
wydajności jest wprowadzenie większej ilości procesorów do
systemu
• Ma to znaczenie w sytuacji, gdy od komputera oczekuje się
między innymi interakcji z wieloma użytkownikami, lub
wykonywania współbieżnie wielu aplikacji
• Wprowadzenie współbieżności
CPU1
wprowadza dodatkowe utrudnienia
RAM
CPU2
w projektowaniu oprogramowania
oraz niedeterminizm
CPU3
7
Techniki zwiększające
wydajność mikroprocesorów
• Proces – program w czasie wykonywania, wykonywanie
musi przebiegać sekwencyjnie
• W skład procesu wchodzi:
- program
- licznik rozkazów
- stos
- sekcja danych
• Stany procesów:
- nowy – proces został utworzony
- wykonywany – są wykonywane instrukcje programu
- oczekujący – proces czeka na zajście jakiegoś zdarzenia
- gotowy – proces czeka na przydzielenie procesora
- zakończony – proces zakończył wykonanie
8
Techniki zwiększające
wydajność mikroprocesorów
Diagram stanów procesu
9
Techniki zwiększające
wydajność mikroprocesorów
• Blok kontrolny procesu zawiera informacje o:
- stanie procesu
- stanie licznika rozkazów
- stanie rejestrów procesora
- informacje o szeregowaniu zadań przez procesor
- informacje o pamięci zajętej przez proces
- informacje o stanie wejściawejścia-wyjścia
• Kolejki szeregowania procesów
- kolejka zadań – zbiór wszystkich procesów w systemie
- kolejka gotowych – zbiór wszystkich procesów umieszczonych w
pamięci głównej, gotowych i czekających na wykonanie
- kolejki do urządzeń – zbiór procesów czekających na określone
urządzenie wejściawejścia-wyjścia
10
Techniki zwiększające
wydajność mikroprocesorów
Szeregowanie procesów
• Szeregowanie długoterminowe
- wybór procesów, które przejdą do kolejki gotowych
- wykonywane rzadko (sekundy, minuty)
- może być wolne
• Szeregowanie krótkoterminowe
- wybór następnego procesu do wykonania
- przydział CPU
- wykonywane
często (milisekundy)
- musi być szybkie
11
Techniki zwiększające
wydajność mikroprocesorów
Procesy można określić jako
• zorientowane na urządzenia wejściewejście-wyjście
• zorientowane na obliczenia
Przełączanie kontekstu
• przełączanie procesora do innego procesu wymaga
przechowania stanu starego procesu i załadowanie
przechowanego stanu nowego
• czas przełączania kontekstu jest narzutem na działanie
systemu
• czas przełączania kontekstu zależy od wsparcia ze strony
sprzętu
12
Techniki zwiększające
wydajność mikroprocesorów
Szeregowanie procesów – kryteria szeregowania
• Wykorzystanie CPU – procent czasu zajętości CPU
(max)
• Przepustowość – liczba procesów, które zakończyły
wykonanie w jednostce czasu (max)
• Czas obrotu – czas potrzebny na wykonanie procesu
(min)
• Czas oczekiwania – czas spędzony przez proces w
kolejce procesów gotowych (min)
• Czas reakcji – czas liczony od chwili dostarczenia
żądania do chwili uzyskania odpowiedzi (min)
13
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejka prosta (FIFO)
• Procesy wykonywane w kolejności przybywania
• Brak wywłaszczania
• Przykład
Procesy i ich zapotrzebowanie na CPU: P1 (24), P2 (3), P3 (3)
• Jeśli procesy przybyły w kolejności P1, P2, P3:
- czas oczekiwania: P1=0, P2=24, P3=27
- średni czas oczekiwania: (0 + 24 + 27)/3=17
• Jeśli procesy przybyły w kolejności P2, P3, P1:
- czas oczekiwania: P1=6, P2=0, P3=3
- średni czas oczekiwania: (6 + 0 + 3)/3=3
14
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejka prosta (FIFO)
• Efekt konwoju: krótkie procesy wstrzymywane przez
długie procesy
• Zalety:
- sprawiedliwy
- niski narzut systemowy
• Wady:
- długi średni czas oczekiwania
- duża wariancja czasu oczekiwania
- nie do zaakceptowania w systemach z podziałem czasu
15
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – najkrótsze zadanie najpierw
• Procesor przydziela się temu procesowi, który ma
najkrótszą najbliższą fazę zapotrzebowania na CPU
• Z wywłaszczeniem, lub bez
• Przykład
Procesy, ich czas przybycia i zapotrzebowanie na CPU: P1 w 0 (7),
P2 w 2 (4), P3 w 4 (1), P4 w 5 (4)
• Bez wywłaszczania – kolejność obsługi: P1, P3, P2, P4
- czas oczekiwania: P1=0, P2=6, P3=3, P4=7
- średni czas oczekiwania: (0+6+3+7)/4=4
16
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – najkrótsze zadanie najpierw
• Z wywłaszczaniem – kolejność obsługi:
P1, P2, P3, P2, P4, P1
- czas oczekiwania: P1=9, P2=1, P3=0, P4=2
- średni czas oczekiwania: (9+1+0+2)/4=3
• Zalety:
- optymalny
• Wady:
- wymaga określenia długości przyszłej fazy CPU (można próbować
oszacować, jako średnią wykładniczą poprzednich faz)
17
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie priorytetowe
•
•
•
•
Z każdym procesem jest związany jego priorytet
CPU przydziela się procesowi z najwyższym priorytetem
Z wywłaszczaniem, lub bez
Strategia szeregowania priorytetowego
- priorytet = przewidywana długość następnej fazy
- mała liczba = wysoki priorytet
• Problem: zagłodzenie
• Rozwiązanie: wzrost priorytetu z upływem czasu
18
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie priorytetowe
19
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie karuzelowe
• Każdy proces otrzymuje kwant czasu CPU, zwykle 1010100 ms, po upływie którego zostaje wywłaszczony i idzie
na koniec kolejki
• Jeżeli w kolejce jest n procesów, a q to wielkość kwantu,
to każdy proces dostaje 1/n czasu procesora w
odcinkach długości co najwyżej q, a żaden proces nie
czeka na następny kwant dłużej niż (n(n-1)*q jednostek
czasu
20
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie karuzelowe
• Przykład
Procesy i ich zapotrzebowanie na CPU: P1 (53), P2 (17), P3 (68),
P4 (24)
• Kolejność wykonywania
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0
20
37
57 77 97 117 120 134 154 162
- czas oczekiwania: P1=81, P2=20, P3=94, P4=97
- średni czas oczekiwania: (81+20+94+97)/4=73
21
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie karuzelowe
• Wydajność
- q duże => FIFO
- q małe => q musi być duże w porównaniu z czasem przełączenia
kontekstu, tak aby narzut systemowy nie był zbyt wysoki
- reguła: 80% faz CPU powinno być krótszych niż kwant czasu
• Dzielenie procesora
- gdy kwant czasu bardzo mały, to wydaje się, że każdy z procesów
ma własny procesor działający z 1/n prędkości rzeczywistego
procesora
22
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejki wielopoziomowe
• Kolejka procesów gotowych jest podzielona na odrębne
kolejki
• Przykład
- procesy pierwszoplanowe (interakcyjne)
- procesy drugoplanowe (wsadowe)
• Każda kolejka ma własny algorytm szeregowania
- procesy pierwszoplanowe (strategia karuzelowa)
- procesy drugoplanowe (kolejka prosta)
23
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejki wielopoziomowe
• Szeregowanie pomiędzy kolejkami
- stały priorytet, np. obsługuj najpierw wszystkie procesy
pierwszoplanowe, potem drugoplanowe (możliwość zagłodzenia)
- kwant czasu – każda kolejka otrzymuje ustaloną część czasu CPU
do podziału pomiędzy swoje procesy, np. 80% dla
pierwszoplanowych, 20% dla drugoplanowych
24
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejki wielopoziomowe ze
sprzężeniem zwrotnym
• Procesy mogą się przemieszczać pomiędzy kolejkami
• Parametry metody
- liczba kolejek
- algorytm szeregowania dla każdej kolejki
- metoda przemieszczania procesów do „wyższych” kolejek
- metoda przemieszczania procesów do „niższych” kolejek
- metoda wybierania kolejki dla nowego procesu
25
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejki wielopoziomowe ze
sprzężeniem zwrotnym
• Przykład
- Proces zużywający dużo czasu procesora (np. cały kwant)
przechodzi do kolejki o niższym priorytecie, ale dłuższym kwancie
- Procesy interakcyjne i zorientowane na wejściewejście-wyjście będą
pozostawać w kolejkach o wyższym priorytecie
- Procesy zorientowane obliczeniowo w kolejkach o niższym
priorytecie
26
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – kolejki wielopoziomowe ze
sprzężeniem zwrotnym
• Zalety
- bardziej elastyczna niż zwykłe kolejki wielopoziomowe
- umożliwia implementację starzenia się procesów
• Wady
- dużo parametrów wymagających dostrajania
- wysoki koszt implementacji
27
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie w systemach
wieloprocesorowych
• Systemy heterogeniczne
- każdy procesor ma własną kolejkę i własny algorytm szeregowania
• Systemy homogeniczne
- dzielenie obciążenia (osobna kolejka dla każdego procesora)
- wspólna kolejka
- każdy procesor sam wybiera proces do wykonania
- jeden procesor przydziela procesy do procesorów
(wieloprzetwarzanie asymetryczne)
28
Techniki zwiększające
wydajność mikroprocesorów
Algorytmy (krótkoterminowego) szeregowania
procesów – szeregowanie w systemach czasu
rzeczywistego
• Systemy czasu rzeczywistego ze sztywnymi
wymaganiami – zadania krytyczne muszą się zakończyć
w zadanym czasie
• Systemy czasu rzeczywistego z łagodnymi
wymaganiami – zadania krytyczne są obsługiwane z
wyższym priorytetem niż pozostałe
29
Systemy wieloprocesorowe
• System wieloprocesorowy został zdefiniowany w 1970
roku przez ANSI, jako maszyna cyfrowa złożona z dwu,
lub więcej jednostek przetwarzania sterowanych
centralnie
• System wieloprocesorowy jest to pojedynczy komputer,
zawierający więcej niż jeden procesor
• System taki pracuje pod kontrolą jednego systemu
operacyjnego, zapewniającego współpracę między
procesorami na różnych poziomach w celu wspólnego
rozwiązania zadania
30
Systemy wieloprocesorowe
• Wieloprocesorowość jest to skoordynowane
wykonywanie programów przez więcej niż jeden
procesor w komputerze, lub kilka komputerów
• Wieloprocesorowość generalnie może oznaczać
dynamicznie przyporządkowanie programu do jednego z
dwóch lub więcej komputerów pracujących w parze (lub
procesorów pracujących na jednym komputerze), lub też
zaangażowanie wielu komputerów do pracy nad tym
samym programem w tym samym czasie (równolegle)
31
Systemy wieloprocesorowe
• W przypadku urządzenia jednoprocesorowego i
programu napisanego dla takiego urządzenia,
stanowiąca program sekwencja instrukcji jest
wykonywana kolejno, jedna instrukcja po drugiej
• Każde z uruchomionych zadań otrzymuje swój
przydzielony obszar w pamięci RAM oraz pewną część
czasu procesora
• Każde z zadań widzi „własny” procesor, o wydajności
odpowiadającej przydzielonemu dla danego zadania
udziałowi w jego czasie
32
Systemy wieloprocesorowe
• Ogromne znaczenie dla wydajności ma algorytm
przydziału czasu
• Jak dobry by on nie był, każde przełączenie na kolejne
zadanie kosztuje wiele czasu
• W miarę zwiększania liczby zadań, wykonywanych przez
komputer, przydział czasu dla poszczególnych zadań
maleje nieproporcjonalnie do liczby tych zadań
• W systemach wieloprocesorowych istnieje możliwość
rozdziału zadań pomiędzy poszczególne procesory
• Idea obliczeń równoległych polega na podzieleniu
obliczeń na częściczęści-wątki, z których każda jest
wykonywana na oddzielnym procesorze
33
Systemy wieloprocesorowe
• Po wykonaniu ciągu operacji wchodzących w skład
każdego z wątków, następuje faza synchronizacji, w
której wyniki pracy poszczególnych wątków łączone są w
rezultat końcowy
• Gdy liczba równolegle wykonywanych zadań przekracza
liczbę dostępnych procesorów, które dzielą swój czas
pomiędzy poszczególne zadania, zysk na wydajności,
jaki uzyskuje się dzięki zmniejszeniu liczby połączeń
pomiędzy zadaniami, jest i tak duży
34
Systemy wieloprocesorowe
Przetwarzanie symetryczne SMP
• Najprostsza i najbardziej rozpowszechniona architektura
SMP (Symmetric
(Symmetric Multiprocessing)
Multiprocessing)
• Zasoby pamięci i wejścia/wyjścia są współdzielone przez
wszystkie procesory systemu
• Komunikacja za pomocą/pośrednictwem wspólnej
magistrali, lub w bardziej rozbudowanych systemach za
pomocą przełącznika
• Zaletą SMP jest stosunkowo
prosty model programowy
35
Systemy wieloprocesorowe
Przetwarzanie symetryczne SMP
• Wadą przede wszystkim jest to, że ze wzrostem liczby
procesorów wspólne zasoby zaczynają stanowić wąskie
gardło
• Kolejna wada wynika z przyczyn historycznych, gdyż
SMP stworzono w czasach, gdy procesory
komunikowały się z pamięcią bez pośrednictwa pamięci
podręcznej cache
• Obecność własnej pamięci podręcznej wewnątrz
współczesnych CPU narzuca konieczność zapewnienia
spójności jej zawartości, gdyż każdy z procesorów musi
pod konkretnym adresem pamięci „widzieć” tę samą
zawartość
36
Systemy wieloprocesorowe
Przetwarzanie symetryczne SMP
• Zwiększanie liczby CPU pracujących w konfiguracji SMP
przysparza coraz większych problemów z wiązanych z
komplikacją logiki sterującej oraz płynnością dostępu do
zasobów, w szczególności do pamięci
• Przy coraz większych częstotliwościach zegara
pojawiają się kłopoty spowodowane zjawiskami
fizycznymi (połączenia pomiędzy procesorem, a
pamięcią są coraz dłuższe)
• Praktyczna granica skalowalności maszyn pracujących
w architekturze SMP to 8
37
Systemy wieloprocesorowe
Przetwarzanie równoległe MPP
• Architektura MPP (Massively Parallel Computing)
wykorzystywana jest w superkomputerach
• Składa się z połączonych przełącznikami dużej liczby
jednostek przetwarzających dysponujących własną
pamięcią
• Doskonale sprawdza się w zastosowaniach
wymagających ogromnej mocy obliczeniowej,
szczególnie w obliczeniach o charakterze macierzowym
• Efektywność MPP wymaga partycjonowania danych
38
Systemy wieloprocesorowe
Podział systemów wieloprocesorowych
•
•
•
•
•
Systemy ze wspólną pamięcią
Systemy ze wspólną magistralą
Systemy z przełącznicą krzyżową
Systemy z pamięcią wieloportową
Systemy z wielostopniową siecią połączeń
39
Systemy wieloprocesorowe
Systemy ze wspólną pamięcią
• Cechują się stosunkowo szybkim mechanizmem
synchronizacji/komunikacji międzyprocesorowej
• Szybkość tę w praktycznych implementacjach znacznie
ogranicza dostęp wszystkich procesorów do jednej
pamięci
• Częstym rozwiązaniem są pamięci lokalne i
minimalizacja dostępów do wspólnej pamięci
Pamięć
Procesor
Procesor
…
Procesor
40
Systemy wieloprocesorowe
Systemy ze wspólną magistralą
• Podłączenie procesorów, modułów pamięci, jednostek
wejścia--wyjścia i innych układów do wspólnej magistrali
wejścia
• Konieczność zapewnienia dużej niezawodności
(magistrala jest elementem krytycznym, gdyż jej awaria
powoduje zatrzymanie pracy całego systemu)
• Konieczność rozwiązania konfliktów dostępu do
magistrali
Pamięć
globalna
Magistrala
Procesor
Procesor
Procesor
…
Procesor
41
Systemy wieloprocesorowe
Systemy z przełącznicą krzyżową
• Zwielokrotnienie liczby wspólnych magistral
M1
M2
M3
M4
M5
…
Mn
P1
P2
P3
P4
:
Pn
42
Systemy wieloprocesorowe
Systemy z przełącznicą krzyżową
• Duża złożoność funkcjonalna i wynikający stąd duży
koszt
• Duża przepustowość wynikająca z możliwości
jednoczesnego dostępu do różnych modułów pamięci
• Trudność rozbudowy wymagająca dodania dużej liczby
punktów krzyżowych
• Przełącznik musi zapewnić obsługę równoległych
transmisji krzyżujących się w nim oraz rozwiązywać
konflikty dostępu do tego samego modułu
• W praktycznych implementacjach liczba procesorów i
liczba pozostałych modułów nie przekracza 20
43
Systemy wieloprocesorowe
BURROUGHS D825 - 1964
BURROUGHS B7700 - 1971
44
Systemy wieloprocesorowe
Systemy z pamięcią wieloportową
• Przeniesienie w przełącznicy krzyżowej układów
logicznych, odpowiedzialnych za obsługę transmisji i
zgłoszeń dostępu, z punktów krzyżowych do wnętrza
modułów pamięci, prowadzi do organizacji zwanej
pamięcią wieloportową
• Charakterystyczne cechy:
- duża liczba przewodów
- kosztowna pamięć
- ograniczenie konfiguracji i maksymalnej przepustowości systemu
przez liczbę portów do modułu pamięci
• Stosuje się je praktycznie wyłącznie w bardzo dużych
komputerach, w których duży koszt jest równoważony
mocą obliczeniową
45
Systemy wieloprocesorowe
IBM 360/65 - 1964
CRAY--2 - 1985
CRAY
46
Systemy wieloprocesorowe
Systemy z wielostopniową siecią połączeń
• Koncepcja oparta na przełącznicy
• Zmniejszono liczbę punktów połączeń (przełączników)
przy wzroście liczby łączonych urządzeń
• Obecnie rozwiązanie stosowane przy budowie systemów
wielomikroprocesorowych o bardzo dużej liczbie
łączonych elementów
47
Systemy wieloprocesorowe
Klaster
• Klaster jest to grupa komputerów połączona prywatną
siecią, z zewnątrz widziana jako jedno urządzenie (może
mieć więcej niż jeden adres sieciowy)
• Komputery tworzące klaster nazywane są węzłami i
mogą znajdować się w różnych miejscach na świecie
• Do węzłów podłączona jest zwykle jedna lub więcej
macierz dyskowa
• Na każdym węźle powinny istnieć mechanizmy
pozwalające na stwierdzenie awarii innego węzła i
przejęcie jego procesów, przyłączanie i odłączanie od
klastra oraz migrację procesów
48
Systemy wieloprocesorowe
Klaster
49
Systemy wieloprocesorowe
Farmy komputerowe
• Farma komputerowa jest połączeniem wielu pracujących
jednocześnie serwerów i stacji roboczych
• Z zewnątrz jest widziana jako jeden sieciowy organizm
• Zadania, dzięki zastosowaniu oprogramowania do
dzielenia, przekazywane są do poszczególnych
elementów farmy
• Każdemu zadaniu przypisany jest odpowiedni priorytet
50
Systemy wieloprocesorowe
CERN – Europejska Organizacja Badań Jądrowych
51
Systemy wieloprocesorowe
Superkomputery macierzowe
• Zawierają procesor macierzowy, którego główną częścią
jest macierz elementów przetwarzających
• Jeden strumień rozkazów i wiele strumieni danych
• Dane mogą pochodzić z własnej pamięci każdego
elementu przetwarzającego, mogą być uzyskane przez
wymianę z innym elementem przetwarzającym,
rozsyłane przez jednostkę sterującą
• Procesor macierzowy nie jest samodzielnym
komputerem i jest podłączony przez układy wewe-wy do
komputera nadrzędnego o tradycyjnej organizacji
52
Systemy wieloprocesorowe
Superkomputery wektorowe
• Posiada procesor wektorowy umożliwiający
wykonywanie rozkazów wektorowych w sposób
potokowy
• Potokowa realizacja rozkazów wektorowych polega na
powtarzaniu ciągu elementarnych operacji
arytmetycznych na strumieniach danych tworzących
wektory
• Równoległe wykonywanie operacji odbywa się w
potokowych jednostkach arytmetycznych i logicznych
• Jeden strumień rozkazów, jeden strumień danych
53
Systemy wieloprocesorowe
Super komputer GALERA
• 1344 czterordzeniowych procesorów Xeon taktowanych zegarem o
częstotliwości 2,33 GHz
• 5376 gigabajtów pamięci operacyjnej i 107,5 terabajtów pamięci
dyskowej
• Każdy nod zawiera po dwa procesory czterordzeniowe Xeon, 8 GB
pamięci operacyjnej, dysk twardy SATA o pojemności 160 GB,
dwa porty Gigabit Ethernet oraz port InfiniBand
• Moduły pracują po kontrolą systemu operacyjnego Debian
GNU/Linux 4.0
• wydajnością rzędu 38,17 teraflopsów (45 pozycja na liście
TOP500)
54
Systemy wieloprocesorowe
Obszary zastosowań wymagających dużych mocy
obliczeniowych
•
•
•
•
•
•
•
Przetwarzanie sygnałów ogólnego zastosowania
Grafika i przetwarzanie obrazów
Pomiary
Głos/Mowa
Sterowanie
Zastosowania militarne
Telekomunikacja
55

Podobne dokumenty