Systemy wieloprocesorowe i wielokomputerowe

Podobne dokumenty
Systemy wieloprocesorowe i wielokomputerowe

16. Taksonomia Flynn'a.

dr inż. Jarosław Forenc

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

Architektura komputerów

Architektura komputerów

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

Architektura von Neumanna

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

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Podstawy Informatyki Systemy sterowane przepływem argumentów

SSE (Streaming SIMD Extensions)

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Nowoczesne technologie przetwarzania informacji

Nowinki technologiczne procesorów

Architektura mikroprocesorów TEO 2009/2010

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

dr inż. Jarosław Forenc

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

dr inż. Jarosław Forenc

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

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

Algorytmy i Struktury Danych

Obliczenia Wysokiej Wydajności

3.Przeglądarchitektur

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Architektura Komputerów

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

3.Przeglądarchitektur

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

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

Procesory rodziny x86. Dariusz Chaberski

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.

SPRZĘT SYSTEMÓW ROWNOLEGŁYCH

dr inż. Jarosław Forenc

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

Mikroprocesory rodziny INTEL 80x86

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

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

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

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

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

Programowanie współbieżne i rozproszone

dr inż. Jarosław Forenc

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

Tesla. Architektura Fermi

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

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

Programowanie procesorów graficznych GPGPU

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

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

i3: internet - infrastruktury - innowacje

Budowa komputera Komputer computer computare

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

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy rozproszone System rozproszony

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

Budowa Mikrokomputera

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

System obliczeniowy laboratorium oraz. mnożenia macierzy

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

Architektura komputerów

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

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

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

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Wprowadzenie do systemów wieloprocesorowych

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

Programowanie w asemblerze Architektury równoległe

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

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

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

Programowanie Rozproszone i Równoległe

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

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

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Przetwarzanie Równoległe i Rozproszone

Metody optymalizacji soft-procesorów NIOS

dr inż. Jarosław Forenc

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

Obliczenia Wysokiej Wydajności

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Procesory. Schemat budowy procesora

Algorytmy dla maszyny PRAM

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

Programowanie współbieżne Wykład 2. Iwona Kochańska

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

LEKCJA TEMAT: Zasada działania komputera.

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1

JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski

Porównaj CISC, RISC, EPIC.

Logiczny model komputera i działanie procesora. Część 1.

Nowinki technologiczne procesorów

Architektura komputerów

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Budowanie tanich, wysoko wydajnych i wysoko dostępnych systemów pod Linuksem Mariusz Droździel Październik 2009

Libra.cs.put.poznan.pl/mailman/listinfo/skisrkolo.

Transkrypt:

Systemy wieloprocesorowe i wielokomputerowe

Taksonomia Flynna Uwzględnia następujące czynniki: Liczbę strumieni instrukcji Liczbę strumieni danych Klasyfikacja bierze się pod uwagę: Jednostkę przetwarzającą JP Moduł pamięci MP

Taksonomia Flynna Skrót Nazwa Liczba strumieni instrukcji Liczba strumieni danych SISD Single Instruction Single Data 1 1 SIMD Single Instruction Multiplie Data 1 wiele MISD Multiplie Instruction Single Data wiele 1 MIMD Multiplie Instruction Multiplie Data wiele wiele

SISD - Single Instruction, Single Data Przykład: urządzenia jednoprocesorowe Elementy równoległości: przetwarzanie potokowe i super skalarne;

Single Instruction Multiplie Data Przykład: komputery wektorowe i macierzowe. takie same instrukcje na oddzielnych danych.

Procesory macierzowe Procesor macierzowy składa się z siatki (dwu lub trzy wymiarowej) jednakowych procesorów posiadających pamięci lokalne wykonujących jeden program.

Procesory macierzowe

Procesory macierzowe Przykład: Za pierwszy komputer macierzowy zbudowany według architektury SIMD źródła podają komputer ILLIAC IV. Projekt z lat 60 w University of Illinois a maszyna weszła do eksploatacji w roku 1972. Maszyna składała się z jednostki sterującej rozgłaszającej rozkazy do 64 jednostek przetwarzających (w rzeczywistości zbudowano tylko 16 jednostek). Każda z tych jednostek operowała na pamięci lokalnej zawierającej 2K słów 64 bitowych i mogła komunikować się bezpośrednio z czterema innymi procesorami. Wydajność maszyny sięgnęła 50 MFlops i była daleko poniżej zakładanej wydajności 1000 MFlops.

Procesory wektorowe Procesor wektorowy operuje na wektorach czyli wielu wielkościach skalarnych jednocześnie. Komputer wektorowy składa się z części zawierającej procesor konwencjonalny i uzupełniony jest o procesor wektorowy będący jednostką wykonującą operacje na długich rejestrach danych. Procesory wektorowe są elementami wielu superkomputerów (DCD Cyber 205, Cray 1, Cray 2, Cray 3, Fujitsu VPX 2000, Hitachi S3600). W procesorach Pentium zastosowano po raz pierwszy mechanizmy MMX (ang. MultiMedia extension) i SSE (ang. Streaming SIMD Extensions). Mechanizm MMX - wykonywanie operacji logicznych i arytmetycznych na wektorach 64 bitowych (liczbach całkowitych). Mechanizm SSE - wykonywanie operacji zmiennoprzecinkowych na wektorach zawierających 4 liczby zmiennoprzecinkowe (każda zajmuje 32 bity).

Procesory wektorowe Instrukcje MMX (ang. MultiMedia extension) zestaw 57 instrukcji SIMD; nowe typy danych ang. packed - wektor i macierz lub tablica 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości: 8 8 bitów (packed byte), 4 16 bitów (packed word), 2 32 bity (packed dword), 1 64 bity (quad word). Operacje wykonywane na typach wektorowych dotyczą wszystkich komórek jednocześnie. Dodawanie dwóch wektorów 8 x 8 bitów, powoduje wykonanie pojedynczego rozkazu, który zawiera osiem operacji dodawania danych.

Procesory wektorowe Arytmetyka MMX (ang. MultiMedia extension) Arytmetyka nasyceniowa ang. saturated arithmetic jeśli wynik przekracza wartość danego typu zapisywana jest wartość skrajna; Arytmetyka modulo ang. wraparound przekroczenie wartości skrajnej nie jest sygnalizowane jako wynik zapisywane są najmłodsze bity; Porównania: porównanie wielu elementów jednocześnie; brak ustawiania flag ALU wynikiem jest nowy wektor wartości odpowiadają rezultatowi porównania poszczególnych elementów rezultat zgodny wszystkie elementy = 1, rezultat fałszywy wszystkie elementy = 0;

Procesory wektorowe MMX (ang. MultiMedia extension) Przykłady zastosowań: wyświetlanie grafiki trójwymiarowej: przekształcenia geometryczne, cieniowanie, teksturowanie; dekodowanie obrazów JPEG i PNG; dekodowanie i kodowanie filmów MPEG (m.in. wyznaczanie transformat DCT ang. Discrete Cosine Transform i IDCT ang. Inverse Discrete Cosine Transformation); filtrowanie sygnałów: obrazów statycznych, filmów, dźwięku; wyświetlanie grafiki dwuwymiarowej (blue box, maskowanie, przezroczystość); wyznaczanie transformat: Haara, FFT.

Procesory wektorowe Instrukcje SSE (ang. Streaming SIMD Extensions) zestaw 48 instrukcji SSE, dodatkowo 11 nowych instrukcji MMX; nowe rejestry 128 bitowe XMM i rejestr sterujący 32 bitowy MXCSR; nowe typy danych - 4-elementowy wektor liczb zmiennoprzecinkowych pojedynczej precyzji (ang. 128-bit packed sigle-precision floating-point), typy MMX; dwa sposoby wykonywania działań arytmetycznych na wektorach liczb zmiennoprzecinkowych: packed (równoległe) 4 niezależne operacje zmiennoprzecinkowe na odpowiadających sobie elementach wektorów; scalar (skalarne) operacje tylko na pierwszych elementach wektorów. dla nazw instrukcji działających na liczbach zmiennoprzecinkowych nie wprowadzono żadnego prefiksu; jednak podobnie jak w MMX sufiks nazwy określa typ: PS (packed single) działanie na wektorach, SS (scalar single) działanie na skalarach.

Single Instruction Multiplie Data Współcześnie wg koncepcji SIMD budowane są akceleratory graficzne wykorzystywane w komputerach PC. Nvidia - GeForce GTX TITAN liczba rdzeni CUDA (ang. Compute Unified Device Architecture) 2688: 5 GPCs Graphics Processor Clasters; 14 SMx Streaming Multi-processors; 192 - stream processors;

Nvidia GeForce KEPLER

Single Instruction Multiplie Data Własności komputerów SIMD: Większość systemów składa się z wielu (często prostych) procesorów. Wszystkie procesory wykonują tę samą instrukcję ale dla różnych zestawów danych. Każdy z procesorów posiada pamięć lokalną ale istnieje też pamięć wspólna. Często istnieje połączenie pomiędzy sąsiednimi (lub innymi) procesorami. Implementują równoległość drobnoziarnistą (ang. finegrained parallelism.)

MISD - Multiple Instruction Single Data

MISD - Multiple Instruction Single Data Przykład: komputery wysokiej dyspozycyjności; w pojedynczym strumieniu wyznaczane są beamformery w różnych pasmach; zaszyfrowane dane są dekodowane wg różnych algorytmów.

MIMD - Multiple Instruction Multiple Data

MIMD - Multiple Instruction Multiple Data Do grupy systemów MIMD zalicza się całe spektrum komputerów poczynając do stacji roboczych (procesory wielordzeniowe) po superkomputery. Systemy MIMD mają bardzo zróżnicowaną architekturę, a przez to wymagają odrębnych metod programowania. Z uwagi na te właściwości powstały metody dalszego ich klasyfikowania.

TITAN Supercomputer http://www.anandtech.com/show/6421/inside-the-titan-supercomputer-299k-amd-x86-cores-and-186k-nvidia-gpu-cores

TITAN Supercomputer http://www.top500.org/lists/2012/11/ http://www.anandtech.com/show/6421/inside-the-titan-supercomputer-299k-amd-x86-cores-and-186k-nvidia-gpu-cores

Tianhe-2 (MilkyWay-2) Manufacturer: NUDT Cores: 3,120,000 Linpack Performance (Rmax) Theoretical Peak (Rpeak) Power: Memory: Interconnect: Operating System: Compiler: Math Library: MPI: 33,862.7 TFlop/s 54,902.4 TFlop/s 17,808.00 kw 1,024,000 GB TH Express-2 Kylin Linux icc Intel MKL-11.0.0 MPICH2 with a customized GLEX channel

Taksonomia Flynn a rozszerzenie Tanneubauma Kryterium sposób komunikacji pomiędzy procesorami. Komunikacja może być realizowany poprzez: wspólną pamięć; system wejścia wyjścia.

Taksonomia Flynn a rozszerzenie Tanneubauma Konstrukcja, w której procesory komunikują się poprzez pamięć dzieloną nazywa się wieloprocesorem (ang. Multiprocessor). Gdy procesory komunikują się poprzez urządzenia wejścia wyjścia mamy do czynienia z wielokomputerem (ang. Multicomputer).

Taksonomia Flynn a rozszerzenie Tanneubauma

Multiprocesory Przestrzeń adresowa współdzielona pomiędzy wszystkie procesory

Multiprocesory Własności multiprocesorów: Dostęp do pamięci jest wąskim gardłem ograniczającym wydajność systemu. Komunikacja procesów odbywa się przez wspólną pamięć nie trzeba specjalnych mechanizmów komunikacyjnych. Konieczność synchronizacji dostępu do zmiennych współdzielonych.

Multikomputery ang. Multi-computers

Multikomputery Własności: Każdy z procesorów ma swoją lokalną pamięć. Komunikacja procesów odbywa się przez system wejścia/wyjścia przy wykorzystaniu abstrakcji komunikatów.

Taksonomia Johnsona Modyfikacja klasyfikacji Flynna kategoria systemów MIMD podzielona została na cztery podkategorie w zależności od zastosowanej w nich struktury pamięci. Typ pamięci: GM pamięć globalna, ang. Global Memory. DM pamięć rozproszona, ang. Distributed Memory. Sposób dostępu do pamięci: SV współdzielone zmienne, ang. Shared Variables. MP przekazywanie komunikatów, ang. Message Passing.

Taksonomia Johnsona Pamięć globalna GM Pamięć rozproszona DM Komunikacja poprzez zmienne dzielone SV Shared Variables GMSV DMSV Komunikacja poprzez przekazywanie komunikatów MP Message Passing GMMP DMMP

Taksonomia Johnsona Komputery należące do grupy GMSV są ściśle powiązanymi ze sobą wieloprocesorami, których liczba w większości rozwiązań nie przekracza 20. Dostęp do pamięci realizowany jest przy użyciu współdzielonej magistrali. DMMP wysoko skalowalne wielokomputery: wyposażone w pamięć rozproszoną; wykorzystujące różnorodne mechanizmy dostępu do pamięci; posiadające kilka przestrzeni adresowych; wykorzystujące mechanizm przesyłania komunikatów. Ze względu na różnorodność rozwiązań zgodnych z architekturą DMMP wydziela się wśród nich mniejsze klasy.

Taksonomia Johnsona DMSV skalowalne wieloprocesory wykorzystujące: współdzielenie zmiennych zamiast przesyłania komunikatów; zastosowanie globalnej przestrzeni adresowej. Ilość procesorów nie przekracza 256, a wykorzystywane topologie ich połączeń to hipersześcian i kratownica. GMMP wykorzystują: pamięć globalną oraz mechanizm przesyłania komunikatów. Brak praktycznej implementacje tej kategorii.

Klasyfikacja równoległości: Procesory superskalarne i procesory wektorowe; Procesory wielordzeniowe; Systemy SMP / Systemy NUMA; Klastry; Systemy masywnie równoległe; Gridy.

Systemy z pamięcią dzieloną Zwiększanie mocy obliczeniowej poprzez zrównoleglenie na poziomie instrukcji ma swoje granice wynikające z ograniczeń technologicznych. Dalsze przyspieszenie może być osiągnięte poprzez wskazanie części kodu, która może być wykonywana równolegle. Nazwane jest to zrównolegleniem na poziomie wątków, ang. Thread Level Parallelism.

Multiprocesory z siecią w pełni połączoną Wieloprocesor z przełącznicą krzyżową

Multiprocesory Rozwiązaniem wąskiego gardła przy dostępie do wspólnej pamięci było zastosowanie tak zwanej przełącznicy krzyżowej (ang. Crossbar Switch), która jest przykładem sieci w pełni połączonych (ang. Fully Connected Networks). Zalety - jednoczesny dostęp wielu procesorów do wielu modułów pamięci (pod warunkiem że dany moduł nie jest zajęty), sieci nieblokujące. Wady - znaczna liczba magistral i przełączników co przy większej liczbie modułów pociąga za sobą znaczne koszty. Przy n procesorach i k modułach pamięci liczba przełączników proporcjonalna do k n. Komputer Sun Fire E25K wykorzystuje przełącznicę krzyżową wymiaru 18x18

Multiprocesory Sun Fire E25K Server specyfikacja: - do 72 procesorów; - 1.5GHz UltraSPARC IV+ i/lub 1.05GHz/1.2GHz/1.35GHz UltraSPARC V i/lub 1.2GHz UltraSPARC III processors; Superscalar SPARC V9, ECC protected - Cache: - Level 1: 64 KB data and 64 KB instruction per pipeline; - Level 2: 2 MB on-chip; - Level 3: 32 MB external; - System Interconnect - 150 MHz Sun Fireplane redundant 18x18 data, address, and response crossbar interconnect

Wieloprocesory z siecią wielostopniową Sieci wielostopniowe (ang. Multistage Networks) stanowią kompromis pomiędzy kosztami a wydajnością. Wykazują większą wydajność niż konstrukcje ze wspólną magistralą i mniejszy koszt niż rozwiązania z przełącznicą krzyżową.

Wieloprocesory z siecią wielostopniową Przykład sieci wielostopniowej sieć omega Sieć omega zawierająca n procesorów i n modułów pamięci składała się będzie z log 2 n stopni a w każdym stopniu będzie n przełączników. 2 n W całej sieci będzie n przełączników. W przełącznicy krzyżowej n 2 2 log 2. Przełącznica krzyżowa dla 8 procesorów i 8 pamięci zawierała będzie 64 przełączniki podczas gdy sieć omega tylko 12.

Wieloprocesory z pamięcią wieloportową Przeniesienie układów logicznych, odpowiedzialnych za obsługę transmisji i zgłoszeń dostępu, z punktów krzyżowych (w przełącznicy krzyżowej) do wnętrza modułów pamięci, prowadzi do organizacji zwanej pamięcią wieloportową, ang. multiport memory. Właściwości systemów opartych na pamięciach wieloportowych: - skomplikowany druk, - kosztowna pamięć, - ograniczenie konfiguracji i maksymalnej przepustowości systemu przez liczbę portów do modułu pamięci

Klastry Wyróżnia się trzy podstawowe rodzaje klastrów: klastry wysokiej dostępności (ang. high availability clusters HA), klastry zrównoważonego obciążenia (ang. load balancing clusters LB), klastry wysokiej wydajności (ang. high performance clusters HPC).

Klaster wysokiej dostępności Klastry HA = gwarancja dostępności usług oferowanych poprzez klaster. Najprostszy klaster tego typu składa się z dwóch węzłów, węzła aktywnego, aktualnie oferującego daną usługę oraz węzła oczekującego i monitorującego pracę węzła aktywnego. W przypadku awarii węzła aktywnego, węzeł będący w spoczynku przechodzi w stan aktywności - przejmuje adres IP odchodzącego węzła, uzyskuje dostęp do współdzielonych zasobów a następnie uruchamia odpowiednie usługi - umożliwiając dalszą pracę. Współdzielenie danych pomiędzy węzłami może odbywać się za sprawą replikacji programowej (np. DRBD Distributed Replicated Block Device) bądź też dzięki rozwiązaniu sprzętowemu. Przykładem dosyć popularnego oprogramowania typu OpenSource oferującego funkcjonalność wysokiej dostępności jest projekt Linux- HA

Klaster zrównoważonego obciążenia Klastry LB = gwarancja zrównoważonego obciążenia na wszystkie węzły klastra. Przekierowanie żądania do innego węzła odbywa się na podstawie analizy obciążenia (wykorzystania procesora, pamięci) węzłów. Nie dopuszcza się do sytuacji, w której niektóre z węzłów są w stanie pełnej zajętości, a inne wolne od wykonywania jakichkolwiek zadań. Zadaniem mechanizmu LB jest pełne wykorzystanie mocy klastra. Umożliwia on również wykrywanie awarii węzłów bądź też wykrycie całkowitego wyłączenia węzła. Przykładem projektów realizujących założenia klastra zrównoważonego obciążenia jest LVS (Linux Virtual Server) oraz openmosix.

Klaster wysokiej wydajności Poprzez klaster wysokiej wydajności (ang. high performance computing - HPC) rozumie się grupę komputerów wykorzystywaną do wykonywania obliczeń. Klastry tego typu ze względu na oferowaną dużą moc obliczeniową są szczególnie popularne w środowiskach naukowych. Używa się ich do uruchamiania programów wykonujących obliczenia.

Klaster wysokiej wydajności Poniżej kilka przykładowych zastosowań systemów HPC: analiza danych w poszukiwaniu złóż ropy naftowej czy też gazu ziemnego (do rekonstrukcji niewielkich obszarów potrzebne są terabajty danych), symulacje aerodynamiczne przy projektowaniu silników oraz samolotów, projektowanie systemów do przewidywania trzęsień ziemi, w naukach biomedycznych np. symulacja procesu fałdowania białek, który w przyrodzie zachodzi bardzo szybko tj. około jednej milionowej części sekundy (zaburzenie tego procesu może prowadzić do choroby Alzheimera) - symulacja tego procesu na zwykłym komputerze zajęłaby dekady, modelowanie farmaceutyczne, modelowanie wyników finansowych, symulacje astrofizyczne, symulacje klimatu Ziemi (modelowanie aktualnie zachodzących zjawisk klimatycznych oraz ich przewidywanie), zastosowanie w kinematografii przy tworzeniu efektów specjalnych w filmach; renderowanie graficzne przy manipulowaniu obrazem wysokiej rozdzielczości.

Klasyfikacja klastrów Kryterium sprzęt i sieć Klastry heterogeniczne: uruchamiane w środowiskach heterogenicznych, czyli niejednorodnych; zbudowane z komputerów pochodzących od różnych producentów; komputery pracują na różnych systemach operacyjnych; elementy klastra wykorzystują różne protokoły sieciowe. Klastry homogeniczne: uruchamiane w środowiskach homogenicznych, czyli jednorodnych; zbudowane w oparciu o sprzęt tego samego, lub kompatybilnego producenta. komputery pracują pod kontrolą tego samego systemu operacyjnego.

Klastry