Klaster komputerowy-zwany także gronem

advertisement
1.Klaster komputerowy-zwany także gronem - grupa
połączonych jednostek komputerowych, które
współpracują ze sobą w celu udostępnienia
zintegrowanego środowiska pracy. Komputery wchodzące
w skład klastra (będące członkami klastra) nazywamy
węzłami (ang. node). W istniejących rozwiązaniach
klastrowych można wyodrębnić dwie podstawowe klasy
wynikające z celów budowy takich rozwiązań:
Z reguły procesory wykonane w architekturze CISC
działają wolniej niż procesory, o przeciwstawnych
założeniach RISC, działające z tą samą częstotliwością.
-Klastry wydajnościowe: pracujące jako komputer
równoległy. Celem ich budowy jest powiększenie mocy
obliczeniowej. Wiele obecnych superkomputerów działa
na tej zasadzie.
-Zredukowana liczba rozkazów do niezbędnego minimum.
Ich liczba wynosi kilkadziesiąt, podczas gdy w
procesorach CISC sięga setek. Upraszcza to znacznie
dekoder rozkazów.-Redukcja trybów adresowania, dzięki
czemu kody rozkazów są prostsze, bardziej zunifikowane,
co dodatkowo upraszcza wspomniany wcześniej dekoder
rozkazów. Ponadto wprowadzono tryb adresowania, który
ogranicza ilość przesłań - większość operacji wykonuje się
-Klastry niezawodnościowe: pracujące jako zespół
komputerów dublujących nawzajem swoje funkcje. W
razie awarii jednego z węzłów, następuje automatyczne
przejęcie jego funkcji przez inne węzły.
2.GRID-Siatka komputerowa (ang. grid) to system,
który integruje i zarządza zasobami będącymi pod kontrolą
różnych domen (od instytucji po system operacyjny) i
połączonymi siecią komputerową, używa standardowych,
otwartych protokołów i interfejsów ogólnego
przeznaczenia (odkrywania i dostępu do zasobów,
autoryzacji, uwierzytelniania) oraz dostarcza usług
odpowiedniej jakości
3.Benchmark - test wydajności sprzętu komputerowego
lub oprogramowania.Istnieje wiele programów, które
testują różne charakterystyki sprzętu komputerowego i
oprogramowanie - moc pojedynczej maszyny, interakcje w
systemie klient-serwer (z pojedynczym lub wieloma
klientami) czy liczbę transakcji na sekundę w systemie
przetwarzania transakcyjnego
7.RISC_W związku z powyższym zaprezentowano
architekturę mikroprocesorów, w której uwzględniono
wyniki badań. Jej podstawowe cechy to:
wg schematu:
.
-Ograniczenie komunikacji pomiędzy pamięcią, a
procesorem. Przede wszystkim do przesyłania danych
pomiędzy pamięcią, a rejestrami służą dedykowane
instrukcje, które zwykle nazywają się load (załaduj z
pamięci), oraz store (zapisz do pamięci); pozostałe
instrukcje mogą operować wyłącznie na rejestrach.
Schemat działania na liczbach znajdujących się w pamięci
jest następujący: załaduj daną z pamięci do rejestru, na
zawartości rejestru wykonaj działanie, przepisz wynik z
rejestru do pamięci.
-Zwiększenie liczby rejestrów (np. 32, 192, 256, podczas
gdy np. w architekturze x86 jest zaledwie 8 rejestrów), co
również ma wpływ na zmniejszenie liczby odwołań do
pamięci.
4.LINPACK, wprowadzony przez Dongarrę, jest oparty
na bibliotece LINPACK. Mierzy on szybkość
rozwiązywania gęstego systemu równań liniowych
(typowego zadania inżynierskiego) i stanowi ważny
wskaźnik szybkości komputera mierzonej w liczbie
operacji zmiennoprzecinkowych. Benchmark jest
podstawą rankingu superkomputerów TOP500 - listy
najszybszych superkomputerów świata.
-Dzięki przetwarzaniu potokowemu (ang. pipelining)
wszystkie rozkazy wykonują się w jednym cyklu
maszynowym, co pozwala na znaczne uproszczenie bloku
wykonawczego, a zastosowanie superskalarności także na
zrównoleglenie wykonywania rozkazów. Dodatkowo czas
reakcji na przerwania jest krótszy.
5.Zasada działania komputera
8.EPIC- Cechy:
przeglądanie instrukcji przed wykonaniem - technika
predykcji
wykorzystanie długich rozkazów stałej długości (nowy
format 128 bitów zawierający 3 instrukcje)
możliwość eliminacji rozgałęzień kodu - technika
predykcji
Explicitly Parallel Instruction Computing
Równoległość przetwarzania definiowana już podczas
kompilacji programu
Każda instrukcja przekazywana do jednostek
wykonawczych jest znakowana jako tzw. absolutna
(niezależna od innych) lub predykowana
6.CISC (Complex Instruction Set Computers) – nazwa
architektury mikroprocesorów o następujących cechach:







duża liczba rozkazów (instrukcji)
mała optymalizacja – niektóre rozkazy
potrzebują dużej liczby cykli procesora do
wykonania
występowanie złożonych, specjalistycznych
rozkazów
duża liczba trybów adresowania
do pamięci może się odwoływać
bezpośrednio duża liczba rozkazów
mniejsza od RISC-ów częstotliwość
taktowania procesora
powolne działanie dekodera rozkazów
odpowiednia konstrukcja kompilatora umożliwia analizę
relacji pomiędzy instrukcjami a danymi
Jawne planowanie opóźnień wykonania, ładowania z
pamięci, dostępu do cache itp.
Jawne programowanie równoległe – w jednym rozkazie
wysyła się kilka instrukcji – VLIW (Very Long Instruction
Word)
9.POWER to zestaw instrukcji klasy RISC
zaprojektowany przez IBM. Nazwa ta jest akronimem
angielskiego Performance Optimization With Enhanced
RISC. Architektura POWER została użyta jako podstawa (i
pozostaje z nią w znacznym stopniu zgodnia) do
stworzenia architektury PowerPC użytej w
mikroprocesorach komputerów Apple Macintosh,
serwerach i superkomputerach firmy IBM oraz w układach
służących do budowy systemów wbudowanych.
10.Intel Architecture-64 – model programowy i
architektura mikroprocesorów, opracowane przez firmę
Intel we współpracy z Hewlett-Packard dla serwerów oraz
systemów HPC (ang. High Performance Computing).
Oprócz 64-bitowego kodu procesor ma możliwość
wykonywania kodu 32-bitowego (funkcjonalność ta
zostanie w niedługim czasie usunięta z architektury).
11. PA-RISC to architektura mikroprocesorów stworzona
przez firmy Hewlett-Packard oraz VLSI Technology
Operation. Jak wskazuje nazwa ta rodzina
mikroprocesorów należy do klasy RISC (Reduced
Instruction Set Computing). Skrót PA pochodzi od
angielskich wyrazów Precision Architecture. Rodzina tych
mikroprocesorów oznaczana jest także nazwą HP/PA, co
jest skrótem od Hewlett Packard Precision Architecture.
12.Itanium 2 to procesor klasy IA-64 produkowany przez
firmę Intel będący następcą jednostki serwerowej Itanium.
Podobnie jak poprzednik oparty został na architekturze IA64. Zastosowana w nim technologia EPIC przekazuje
kontrolę nad równoległym przetwarzaniem instrukcji oraz
zarządzanie jednostkami wykonawczymi kompilatorowi
programu. Dzięki temu zaawansowany programista jest w
stanie napisać aplikację wykorzystującą w pełni zasoby
sprzętowe mikroprocesora. Procesor został wyposażony w
6 potoków wykonawczych, od 1,5 do 9 MB pamięci cache
trzeciego poziomu (L3) oraz zegar z zakresu 1,0 - 1,6 GHz
13.ECL (Emitter Coupled Logic) - rodzina bipolarnych
cyfrowych układów scalonych charakteryzująca się pracą
tranzystorów wyłącznie w liniowym zakresie pracy, bez
wchodzenia w stan zatkania lub nasycenia. Osiągnięte to
zostało przez połączenie tranzystorów w układy
wzmacniaczy różnicowych (we wzmacniaczu różnicowym
tranzystory są połączone emiterami, stąd nazwa rodziny).
W innej serii bipolarnych cyfrowych układów scalonych TTL przełączanie stanów logicznych związane jest z
przechodzeniem tranzystorów ze stanu nasycenia do
zatkania i odwrotnie. Wyjście tranzystora ze stanu
nasycenia bądź zatkania trwa stosunkowo długo, natomiast
dzięki pracy tranzytorów ECL tylko w liniowym zakresie
charakterystyki, seria ta jest bardzo szybka. Pierwsze
układy tego typu (seria 10k) miały czasy propagacji kilka
ns (nanosekund), o rząd wielkości szybciej niż ówczesne
układy TTL. Dzisiejsze układy ECL mają czasy propagacji
rządu setek a nawet dziesiątek ps (pikosekund).
14.CMOS (ang. Complementary MOS) - Technologia
wytwarzania układów scalonych, głównie cyfrowych,
składających się z tranzystorów MOS o przeciwnym typie
przewodnictwa i połączonych w taki sposób, że w
ustalonym stanie logicznym przewodzi tylko jeden z nich.
Dzięki temu układ statystycznie nie pobiera żadnej mocy
(pomijając niewielki prąd wyłączenia tranzystora), a prąd
ze źródła zasilania płynie tylko w momencie przełączania gdy przez bardzo krótką chwilę przewodzą jednocześnie
oba tranzystory. Tracona w układach CMOS moc wzrasta
wraz z częstotliwością przełączania, co wiąże się z
przeładowywaniem wszystkich pojemności, szczególnie
pojemności obciążających wyjścia. Układy CMOS są
relatywnie proste i tanie w produkcji umożliwiając
uzyskanie bardzo dużych gęstości upakowania
tranzystorów na jednostce powierzchni płytki krzemu. W
nowoczesnych układach powierzchnia zajmowana przez
jeden tranzystor jest mniejsza od 1 µm².
15.Million Instructions Per Second, to miara wydajności
jednostki centralnej CPU komputera - określa liczbę
milionów operacji stałoprzecinkowych wykonywanych w
ciągu sekundy przez daną jednostkę obliczeniową.
16.FLOPS (ang. FLoating point Operations Per Second) liczba operacji zmiennoprzecinkowych na sekundę,
jednostka wydajności komputerów, a dokładniej
wydajności układów realizujących obliczenia
zmiennoprzecinkowe.
1 MFLOPS = 1 milion FLOPS-ów
Cechy miar wydajności
z
napisane w językach programowania
wysokiego poziomu (przenośność)
z
reprezentacja dla wybranej klasy
rzeczywistych zastosowań,
z
łatwość modyfikacji (postęp w
algorytmach, metodach optymalizacji,
technologii)
z
szeroki zakres testowanych elementów
składowych systemu i współpracy z
oprogramowaniem
z
pomiary łatwe do realizacji
z
akceptowane
Kategorie miar wydajności
syntetyczne miary wydajności
(podstawowe operacje) - Dhrystone i
Whetstone
z
jądra programowe (kernels) wybrane
fragmenty rzeczywistych programów, m.in.
Livermore Fortran Kernels i NAS Kernel
Benchmark Program
z
algorytmy - programy testowe, np.
LINPACK
z
aplikacje (kompletne) (fizyka, chemia lub
wspomaganie zarządzania), np. Perfect
Benchmarks, ParkBench, z rodziny SPEC,
SAP, NotesBench i Baan
z
specyfikacje - stanowią zbiór wymagań
funkcjonalnych realizowanych przy
dowolnej implementacji sprzętowej i
programowej, np. miary z rodziny TPC
Miary syntetyczne
z
z
z
Whetstone (1976) obliczenia numeryczne;
wywołania funkcji z biblioteki
matematycznej (np. sin(.), exp(.)); Algol i
Pascal
Dhrystone (1984) - zastosowania
nienumeryczne stałoprzecinkowe (instr.
warunkowe i wywołania procedur), systemy
operacyjne, kompilatory, czy edytory; ADA
iC
shifter), który do tej pory był obecny w każdym procesorze
serii x86, począwszy od modeli 80386. Układ taki można
znaleźć również w procesorach Athlon i Hammer.
20.Centrino (także zwane Centrino Mobile Technology Mobilna Technologia Centrino) jest inicjatywą
marketingową firmy Intel, zawierającą połączenie CPU,
chipsetu płyty głównej i interfejsu sieci bezprzewodowej w
formie komputera przenośnego. Rozwiązanie to pozwoliło
na uzyskanie ponad dwukrotnej oszczędności energii
zużywanej przez dotychczasowe układy zestawów
przenośnych firmy Intel.
27.SMP (ang. Symmetric Multiprocessing, przetwarzanie
symetryczne) - architektura komputerowa, która pozwala
na znaczne zwiększenie mocy obliczeniowej systemu
komputerowego poprzez wykorzystanie 2 lub więcej
procesorów do jednoczesnego wykonywania zadań.
W architekturze SMP każdy procesor może zostać
przypisany do wykonywania każdego zadania, tak aby
wyrównać obciążenie ("obowiązki" są dzielone "po
równo"). W architekturze SMP procesory te współdzielą
zasoby pamięci oraz wejścia/wyjścia przy pomocy
magistrali.
21.MD Opteron
Opteron to pierwszy procesor firmy AMD serii K8 w
architekturze AMD64.
Stosowany przede wszystkim do serwerów oraz do
klastrów obliczeniowych. Architektura procesora Opteron
wprowadziła kilka nowości: m.in. każdy procesor ma
własny kontroler pamięci, dzięki czemu chipsety płyt
głównych dla tych komputerów będą mniej złożone.
Oprócz tego w komputerach wieloprocesorowych można
uzyskać większą wydajność.
17.Architektura Intel Netburst Microarchitecture, w
firmie Intel oznaczana jako P68, jest spadkobiercą
mikroarchitektury P6 linii x86 procesorów Intela.
Pierwszym rdzeniem korzystającym z tej
mikroarchitektury był Williamette, który na rynku pojawił
się pod koniec roku 2000. Rdzeń stanowił podstawę
pierwszych procesorów serii Pentium 4; wszystkie dalsze
układy z tej serii również korzystały z architektury
NetBurst. W roku 2001 Intel zaprezentował rdzeń Foster,
w którym ta architektura również znalazła swoje miejsce.
W konsekwencji tych działań, NetBurst pojawił się
również w linii procesorów Xeon, podobnie, jak ma to
miejsce w przypadku procesorów Celeron, pochodzących
od Pentium 4.
22.High Performance Computing?
18.Hyper Pipelined Technology
Współbieżność i przetwarzanie równoległe
Intel wybrał tę nazwę do określenia dwudziestoetapowych
potoków rdzenia Williamette. Był to znaczny wzrost w
porównaniu do 10 etapów w potokach procesorów
Pentium III. Architektura rdzenia Prescott, jak dotąd
ostatnia w linii procesorów Pentium 4, wyposażona jest w
potoki o długości 31 etapów. Mimo że dłuższe potoki
obarczone są pewnymi wadami, wśród których główną jest
zredukowana liczba instrukcji wykonywanych w jednym
cyklu procesora (IPC), taka liczba pozwala na stosowanie
wyższego taktowania procesora, co równoważy straty
spowodowane redukcją IPC. Mniejsza liczba IPC jest
pośrednią konsekwencją głębokości potoku - kwestią
kompromisu projektowego (mała liczba długich potoków
charakteryzuje się mniejszą IPC, niż większa liczba
krótkich potoków. Kolejną niedogodnością związaną ze
zwiększoną liczbą etapów potoku jest zwiększenie liczby
kroków, które trzeba pokonać wstecz, by dotrzeć do
zdarzenia, w którym mechanizm przewidywania
rozgałęzień popełnił błąd. Zwiększa to naturalnie straty
spowodowane błędem rozgałęzienia. By zrównoważyć te
straty, Intel opracował mechanizm "Rapid Execution
Engine" i zainwestował wiele środków w technologię
przewidywania rozgałęzień. Według zapewnień firmy,
pozwoliło to zmniejszyć liczbę błędów w
przewidywaniach o 33% w stosunku do Pentium III. [1]
Współbieżność to jedno z podstawowych podejść przy
budowie wydajnych systemów:
-Przetwarzanie, które ustala poziom nieosiągalny
wcześniej
-Przetwarzanie, które może być osiągnięte przez więcej niż
pojedynczy procesor, komputer czy serwer.
-Przetwarzanie wymagające specjalnej optymalizacji do
osiągnięcia maksymalnej wydajności, pod względem mocy
obliczeniowej.
Ważną rzeczą jest wykorzystanie wielowątkowości przez
programy komputerowe (oraz obsługa wielowątkowości
przez system operacyjny) - upraszcza to możliwość
"podzielenia" procesu dla kilku procesorów. Szczególną
korzyść z przetwarzania równoległego czerpią aplikacje do
renderingu i edycji wideo, małą natomiast pakiety biurowe
czy gry.
28.Komputery masywnie równoległe (ang. Massively
Parallel Processors - MPP). Rodzaj architektury
komputerowej. Jej zadaniem jest umożliwienie
przetwarzania współbieżniego (jednoczesnego) na wielu
procesorach. Do naistotniejszych realizowanych funkcji
należą:
--zarządzanie przydziałem zasobów komputera
równoległego do procesów i organizacja komunikacji
między procesami;
-szeregowanie zadań (procesów) w czasie i przestrzeni;
-zarządzanie pamięcią wirtualną;
-rekonfiguracja systemu i redystrybucja zasobów między
procesami w przypadku awarii jednego z węzłów.
19.Rapid Execution Engine
W przypadku tej technologii, jednostki arytmetycznologiczne (ALU) procesora pracują z podwojoną
częstotliwością rdzenia. Oznacza to, ze w procesorze o
taktowaniu rzędu 3,5 GHz, jednostki ALU osiągają
efektywne taktowanie rzędu 7 GHz. Powodem
wprowadzenia takiego rozwiązania jest chęć nadrobienia
strat spowodowanych niską liczbą IPC. Dodatkowo, takie
rozwiązanie znacznie zwiększa wydajność procesora w
operacjach na liczbach całkowitych. Wadą rozwiązania
Rapid Execution Engine jest spowolnienie wykonywania
pewnych instrukcji (i to zarówno spowolnienie
rzeczywiste, jak i względne), co z kolei powoduje
problemy przy optymalizacji. Przykładem są operacje
przesunięcia i obrotu, cierpiące z powodu braku
kombinacyjnego układu przesuwającego (ang. barrel
Współbieżność: Przetwarzanie gdzie wiele zadań jest
realizowanych w tym samym czasie.
Współbieżność może być używana na wiele sposobów:
Współbieżność jest jednym ze sposobów na ukrycie
opóźnień przez większość współczesnych Systemów
Operacyjnych
Współbieżność wspólnie z redundancją są używane do
budowy systemów Fault Tolerance.
Przetwarzanie równoległe wykorzystuje współbieżność do
obniżenia czasu wykonywania.
23.SISD Jest to architektura klasycznego komputera
sekwencyjnego, zawierającego jeden procesor i jeden blok
pamięci operacyjnej. Ciąg instrukcji wykonywany jest
sekwencyjnie. Architektura taka może zawierać również
pewne elementy równoległości, jak np. przetwarzanie
potokowe (ang. pipelining). Procesor może się składać z
kilku jednostek przetwarzających, jednak wszystkie te
jednostki podlegają jednej jednostce sterującej procesora.
Również jeżeli komputer składa się z kilku procesorów,
ale wykonują one niezależne od siebie programy, to
możemy traktować go jako zestaw maszyn SISD.
24.Single Instruction/Multiple Data (SIMD) to rodzaj
instrukcji procesora, które wykonują tę samą operację na
wielu danych.
25.MIMD (ang. Multiple Instruction Multiple Data) wiele strumieni instrukcji, wiele strumieni danych.
26.MISD (ang. Multiple Instruction Single Data) - wiele
strumieni instrukcji, jeden strumień danych.
29.Non-Uniform Memory Access(NUMA) - architektura
komputerowa, służąca do przetwarzania
współbieżnego.Architektura NUMA charakteryzuje się
tym, że udostępnia użytkownikowi spójną logicznie
przestrzeń adresową, chociaż pamięć jest fizycznie
podzielona. Komputery zbudowane w tej architekturze
posiadają wiele procesorów.
Niejednorodność w dostępie do pamięci polega na tym, że
dany procesor szybciej uzyskuje dostęp do swojej lokalnej
pamięci, niż do pamięci pozostałych procesorów lub
pamięci współdzielonej.
Download