Wprowadzenie Klastry komputerowe Superkomputery
Wprowadzenie Klastry komputerowe Superkomputery
Wprowadzenie Filozofia przetwarzania równoległego polega na podziale programu na fragmenty, z których każdy wykonywany jest przez inny procesor (lub węzeł). Kod podzielony na kawałki wykonywane przez n procesorów (węzłów), będzie się wykonywał n-razy szybciej niż analogiczny kod, realizowany na maszynie jednoprocesorowej. Idea obliczeń równoległych narodziła się pod koniec lat sześćdziesiątych. Lata osiemdziesiąte gwałtowny rozwój technik komputerowych, umożliwił praktyczną realizację tego sposobu przetwarzania danych..
+ + + + + = y T y v x T y u f R y u p v x u p u p y T f R p u p y v x u t p v p f y f RS g g g g g g g g g a p 0 0 0 0 ω ( ) = = T y p R T x p R Q Q V g V g Q,, 2 1 = j i Q x u x v y T p R g g T x x T t T t x g g g + + = + V V V Q = T p R Dt D g ( ) 2 2 2 0 2 0 0 2 1 p f f f p f p g + Φ + = ω χ V
Zastosowania przetwarzania równoległego skrócenie czasu projektowania i symulacji, związanych z wprowadzeniem nowych produktów. Nauka dostarczanie mocy obliczeniowej, pozostającej do tej pory w domenie specjalistów od science fiction. Grand Challenge Problems pogoda i klimat, aktywność geologiczna i sejsmiczna, genom ludzki, reakcje jądrowe. Deep Blue pokaz siły maszyny równoległej nad arcymistrzem szachowym Garry Kasparovem (1997 r.).
Wprowadzenie Klastry komputerowe Superkomputery
1966 klasyfikacja przetwarzania równoległego zwana Flynn s Taxonomy (Michael Flynn), oparta na liczbie instrukcji i liczbie strumieni danych przesyłanych do procesora. SISD SIMD MISD MIMD (Single Instruction stream Single Data stream) (Single Instruction stream Multiple Data stream) (Multiple Instruction stream Single Data stream) (Multiple Instruction stream Multiple Data stream)
SISD (Single Instruction stream Single Data stream) Tradycyjna (szeregowa) metoda przetwarzania danych (krok po kroku); Opracowana przez Johna von Neumanna; Pojedynczy zestaw instrukcji jest wykonywany sekwencyjnie w pojedynczym strumieniu danych. Krok 1 Krok 2 Krok 3 Load X Load Y Z = X + Y CZAS
SIMD (Single Instruction stream Multiple Data stream) Wczesne implementacje systemów równoległych; Każdy z procesorów przetwarza ten sam zestaw instrukcji na własnym zestawie danych.
MISD (Multiple Instruction stream Single Data stream) Model niedostępny w systemach komercyjnych; Prace nad nim są prowadzone jedynie w ośrodkach naukowych.
MIMD (Multiple Instruction stream Multiple Data stream) Każdy procesor pracuje z własnym zestawem instrukcji, operując na własnym zestawie danych; W ramach MIMD wyróżnia się trzy kategorie: - MIMD-SM (Shared Memory), - MIMD-DM (Distributed Memory), - MIMD-HDSM (Hybrid Distributed-Shared Memory).
MIMD-SM (Shared Memory) Procesory są połączone specjalizowaną siecią interconnect, poprzez którą komunikują się ze wspólnym obszarem pamięci.
MIMD-DM (Distributed Memory) Każdy procesor posiada własny obszar pamięci; Sieć interconnect służy do wymiany komunikatów pomiędzy procesorami.
MIMD-HDSM (Hybrid Distributed-Shared Memory)
Klasyfikacja STRUMIENIE INSTRUKCJI POJEDYNCZE WIELOKROTNE Jonhsona Ponieważ większość systemów przeznaczonych do obliczeń równoległych jest klasyfikowana jako maszyny MIMD, Johnson usystematyzował tę grupę, wprowadzając jako kryterium podziału strukturę pamięci. S T R U M I E N I E D A N Y C H P O J E D Y N C Z E W I E L O K R O T N E SISD MISD SIMD GMSV GMMP MIMD DMSV DMMP
Klasyfikacja Jonhsona Według Johnsona w ramach architektury MIMD możemy wyróżnić 4 grupy: GMSV (Global Memory Shared Variables) DMSV (Distributed Memory Shared Variables) DMMP (Distributed Memory Message Passing) GMMP (Global Memory Message Passing)
GMSV (Global Memory Shared Variables) Systemy z pamięcią globalną i współdzielonymi zmiennymi. Maszyny tego typu stanowią ściśle powiązane wieloprocesory.
DMMP (Distributed Memory Message Passing) Systemy z pamięcią rozproszoną i przekazywaniem komunikatów między sobą.
DMSV (Distributed Memory Shared Variables) Systemy z pamięcią rozproszoną i współdzielonymi zmiennymi.
GMSV (Global Memory Message Passing) Systemy z pamięcią globalną i przekazywaniem wiadomości. Brak praktycznych rozwiązań.
Wprowadzenie Klastry komputerowe Superkomputery
Krajowy Klaster Linuksowy CLUSTERIX (National CLUSTER of LInuX Systems) źródło: http://web.archive.org/web/20070726090439/http://clusterix.pcz.pl/witamy/ film/clusterix14.mpg
http://web.archive.org/web/20090 528093426/http://clusterix.pcz.pl/
Klastry obliczeniowe Klaster zespół połączonych komputerów (węzłów), widoczny dla użytkownika jako jeden system. Każdy węzeł pracuje pod kontrolą własnej kopii systemu operacyjnego. Klastry cechują się mocą obliczeniową superkomputerów, przy znacznie niższej cenie i wyższej skalowalności. Dwa podstawowe modele implementacji klastrów to: Failover cluster, Boewulf cluster.
Failover cluster High Availability cluster Klaster budowany z myślą o zapewnieniu odporności na uszkodzenia czy stabilność działania (failover, fault tolerance). Zastosowanie biznesowe: serwery dla platform e-commerce lub e-business (systemy bankowe, billingowe, oprogramowanie dla firm ubezpieczeniowych). Obniżenie kosztów eksploatacji i podniesienie dostępności.
Beowulf cluster Computational cluster Beowulf tytuł pierwszego poematu heroicznego w języku angielskim (skandynawski bohater wielkiej siły i odwagi Beowulf ratuje Duńczyków przed nieposkromionym potworem o imieniu Grendel); Przeznaczony do zastosowań w środowiskach naukowych i ośrodkach badawczych; Moc i wydajność klastra, kosztem jego odporności na awarie; Czas przestoju (ang. downtime) nie ma krytycznego znaczenia nie powoduje istotnych strat finansowych.
MOSIX (Multi-computer Operating System for UNIX) Oprogramowanie dostępne nieodpłatnie (również w postaci kodu źródłowego); Oprogramowanie MOSIX powstało i jest rozwijane na Uniwersytecie Hebrajskim w Jerozolimie; Pierwotnie projekt był rozwijany w systemie BSD UNIX; Idea twórców MOSIX jest taka, aby utworzyć oprogramowanie pozwalające zbudować klaster, który zarówno z punktu widzenia użytkowników, jak i uruchamianych programów będzie widoczny jako jedna maszyna.
Wprowadzenie Klastry komputerowe Superkomputery
Intel Xeon Processor E7 źródło: www.intel.com
Intel Itanium Processor źródło: www.intel.com
AMD Opteron 6200 series źródło: www.amd.com
AMD Opteron 6200 series źródło: www.amd.com
POWER7 processors źródło: www.ibm.com
MIPS kontra FLOPS MIPS (Million Instructions Per Second) - przestarzały i obecnie już nieużywany współczynnik mierzący moc obliczeniową procesorów. Różne instrukcje wymagają różnego zaangażowania się w nie procesora, a oprócz tego rzeczywista szybkość komputera zależy jeszcze od innych czynników - takich jak szybkość dysków twardych, pamięci RAM, magistrali. FLOPS (Floating Point Operations Per Second) - jednostka wydajności obliczeniowej procesorów. Jeden FLOPS to jedna operacja zmiennopozycyjna wykonana w ciągu jednej sekundy. Moc obliczeniową współczesnych procesorów mierzy się w teraflopsach (TFLOPS) oraz w petaflopsach (PFLOPS).
Seymour Cray 1964 - amerykańska firma Control Data Corporation zaprezentowała skonstruowany przez Seymoura Craya komputer CDC-6600. źródło: www.cray.com 1976 - Cray-1 (160 milionów operacji zmiennoprzecinkowych na sekundę kosztował prawie 9 milionów dolarów).
K computer
JAGUAR - Cray XT5-HE
Roadrunner
BlueGene/L
Earth Simulator
Najwydajniejsze superkomputery w Polsce
Holk
Superkomputer Galera W CI TASK pojawił się nowy superkomputer Galera (1 miejsce w regionie CEE i 9 miejsce w Europie). Galera składa się z 336 serwerów 4-procesorowych Actina - łącznie daje to 1344 procesory 4-rdzeniowe Intel Xeon Quad-Core 2,33 GHz (w sumie 5376 rdzeni) Moc całego klastra została obliczona na 50 TFLOPS (4400 razy więcej niż moc obliczeniowa superkomputera IBM Deep Blue) Pojedynczy węzeł połączony jest z pozostałymi siecią InfiniBand pracującą w technologii DDR (Double Data Rate) z przepustowością 20 Gb/s. Do stworzenia sieci pomocniczej wykorzystano technologię Gigabit Ethernet. Galera dysponuje 5,3 TB RAM-u, a całkowita pamięć dyskowa to 107,5 TB. Klaster pracuje pod kontrolą systemu operacyjnego Linux - Debian. Całe rozwiązanie mierzy 17 m długości, waży 7 ton, łączna długość okablowania ok. 8 km.
Galera PLUS