Konfiguracja sprzętu i oprogramowania

Wprowadzenie: klastrowe systemy obliczeniowe. Klastry wysokiej dostępności

Rozwój systemy klastrowe(KS) w Rosji

Klaster to modułowy system wieloprocesorowy stworzony na bazie standardowych węzłów obliczeniowych połączonych szybkim medium komunikacyjnym. Teraz słowa „klaster” i „superkomputer” są w dużej mierze synonimami, ale zanim można było powiedzieć z całą pewnością, sprzęt przeszedł długi cykl ewolucji. Przez pierwsze 30 lat od pojawienia się komputerów do połowy lat 80. technologie „superkomputerowe” rozumiane były wyłącznie jako produkcja wyspecjalizowanych, szczególnie wydajnych procesorów. Jednak pojawienie się jednoukładowego mikroprocesora praktycznie zatarło różnicę między procesorami „masowymi” a „szczególnie wydajnymi” i od tego momentu jedynym sposobem na stworzenie superkomputera było połączenie procesorów w celu równoległego rozwiązania jednego problemu. Aleksey Latsis, jeden z twórców rosyjskiego superkomputera MVS-1000M, w swojej książce „How to Build and Use a Supercomputer” nazywa to „pierwszą superkomputerową rewolucją”.

Do około połowy lat dziewięćdziesiątych. Główny kierunek rozwoju technologii superkomputerowych związany był z budową wyspecjalizowanych układów wieloprocesorowych z masowych mikroukładów. Jedno z pojawiających się podejść - SMP (Symmetric Multi Processing), zakładało integrację wielu procesorów za pomocą wspólnej pamięci, co znacznie ułatwiało programowanie, ale stawiało wysokie wymagania samej pamięci. Utrzymanie wydajności takich systemów było prawie niemożliwe przy wzroście liczby węzłów do kilkudziesięciu. Ponadto takie podejście okazało się najdroższe w implementacji sprzętowej. O rząd wielkości tańsza i niemal nieskończenie skalowalna była metoda MPP (Massively Parallel Processing), w której niezależne wyspecjalizowane moduły obliczeniowe zostały połączone wyspecjalizowanymi kanałami komunikacyjnymi, które zostały stworzone dla konkretnego superkomputera i nie były wykorzystywane do żadnych innych celów.

Pomysł stworzenia tzw. klastra stacji roboczych był właściwie rozwinięciem metody MPP, ponieważ logicznie system MPP nie różnił się zbytnio od zwykłego. lokalna sieć. Lokalna sieć standardowych komputerów osobistych, wraz z odpowiednim oprogramowaniem, została wykorzystana jako wieloprocesorowy superkomputer i stała się protoplastą nowoczesnego klastra. Pomysł ten został dalej rozwinięty w połowie lat 90., kiedy szybkie Magistrala PCI i wygląd tani, ale szybka sieć. Klastry Fast Ethernet zaczęły doganiać wyspecjalizowane systemy MPP pod względem możliwości komunikacyjne. Oznaczało to, że pełnoprawny system MPP można było utworzyć ze standardowych komputerów szeregowych przy użyciu portu szeregowego technologie komunikacyjne, a taki system był tańszy średnio o dwa rzędy wielkości.

Oto najbardziej znane superkomputery z architekturą klastrową „pierwszej generacji”: Beowulf (1994, NASA Goddard Space Flight Center) - 16-procesorowy klaster oparty na procesorach Intel 486DX4/100 MHz; Avalon (1998, Los Alamos National Laboratory) - klaster Linux oparty na procesorach Alpha 21164A/533 MHz. Początkowo Avalon składał się z 68 procesorów, następnie ich liczba wzrosła do 140; jego wydajność w teście LINPACK wynoszącym 48,6 GFlops* uplasowała go na 113. miejscu w 12. edycji rankingu Top500 najmocniejszych komputerów na świecie, obok 152-procesorowego systemu IBM RS/6000 SP SMP. Pierwszym krajowym systemem wchodzącym w skład TorbOO był klaster MVS-1000M, wyprodukowany przez Instytut Badawczy „KVANT” i Instytut Matematyka stosowana Akademia Rosyjska Nauki. Składał się z 384 węzłów opartych na procesorach Alpha 21164 firmy DEC-Compaq.

* Flops (operacje zmiennoprzecinkowe na sekundę) - liczba operacji zmiennoprzecinkowych na sekundę, miara wydajności superkomputera. GFlops (gigaflops) - miliard operacji zmiennoprzecinkowych na sekundę; TFlops (teraflopy) - bilion operacji zmiennoprzecinkowych na sekundę. Rzeczywista wydajność dzisiejszego najpotężniejszego superkomputera przekracza 136 TFlops; zaledwie rok temu liczba ta wynosiła 35 TFlops.

Rozróżnij szczytową i rzeczywistą wydajność superkomputerów. Szczytowa wydajność systemu wieloprocesorowego (klaster, system SMP itp.) to wartość teoretyczna nieosiągalna w praktyce. Uzyskuje się ją przez pomnożenie szczytowej wydajności procesora przez liczbę procesorów w systemie. Szczytową wydajność procesora uzyskuje się zazwyczaj przez pomnożenie częstotliwość zegara o maksymalną liczbę operacji wykonywanych w jednym cyklu zegara. Rzeczywista wydajność klastra to wydajność uzyskana podczas rozwiązywania rzeczywistego problemu (naukowego lub przemysłowego). Na przykład systemy w rankingu Top500 są uszeregowane zgodnie z wynikami testu LINPACK, prawdziwego problemu akademickiego do rozwiązywania układu równań liniowych.

Nowy potężny impuls do rozwoju technologii klastrowych, oprócz pojawienia się bardziej zaawansowanych sieci komunikacyjnych, dał szybki wzrost wydajności nowo wydanych procesorów masowych, co sprawiło, że rozwiązania o wysokiej wydajności stały się bardziej przystępne cenowo niż kiedykolwiek. Np. SKIF K-500, drugi krajowy klaster wchodzący w skład TorbOO, został zbudowany w oparciu o 128 Procesory Intel Xeon i sieć systemowa SCI. Zbudowany jesienią 2003 roku dla rosyjsko-białoruskiego państwowego programu superkomputerowego SKIF, klaster ten zajął 407 miejsce w rankingu z rzeczywistą wydajnością 423,6 GFlops. Drugi „topowy” klaster programu państwowego, „SKIF K-1000”, oparty na 576 procesorach AMD Opteron i sieci systemowej InfiniBand, pojawił się w październiku 2004 roku i wszedł do pierwszej setki Top500 z rzeczywistą wydajnością 2032 TFlops. Oba klastry SKIF zainstalowane na Białorusi zostały zbudowane przez T-Platforms przy udziale Instytutu Systemów Informacyjnych Rosyjskiej Akademii Nauk i białoruskich partnerów oraz wykorzystują rosyjskie technologie superkomputerowe. Najpotężniejszy na ten moment klaster w Rosji - MVS 15000BM z rzeczywistą wydajnością ponad 5,3 Tflops, zajmuje 56. miejsce w Top500 i jest zainstalowany w Międzywydziałowym Centrum Superkomputerowym (MSC RAS). Klaster zbudowany jest z węzłów obliczeniowych IBM opartych na procesorach PowerPC oraz sieci systemowej Myrinet.

Szybki rozwój technologii klastrowych w ostatnich latach wyraźnie widać po analizie listy Top500: w latach 2000-2004 udział klastrów w zestawieniu wzrósł z 2,2% do 60,8%. Jeśli w 2000 r. wśród 40 najmocniejszych instalacji były tylko dwa klastry (najmocniejszy - 31. miejsce), to w 2004 r. ich liczba wśród pierwszych 40 maszyn wynosiła 24. Jednocześnie, według najnowszej wersji Top500, ponad 71,5% procesorów wykorzystywanych do napędzania superkomputerów to masowo produkowane procesory Intela i AMD.

Technologie klastrowe są również wykorzystywane w najnowszych opracowaniach superkomputerów wiodących producentów: na przykład najpotężniejszy współczesny superkomputer IBM BlueGene/L o wydajności ponad 136 TFlops wykorzystuje wiele elementów architektury klastra.

Sfera zastosowań systemów klastrowych nie jest obecnie węższa niż superkomputery o innej architekturze: nie mniej skutecznie radzą sobie z zadaniem symulacji różnorodnych procesów i zjawisk. Modelowanie superkomputerowe może znacznie obniżyć koszty i przyspieszyć wprowadzanie nowych produktów na rynek, a także poprawić ich jakość. Na przykład, zamiast budować drogie modele testowe nowych samochodów, a następnie rozbijać je o ścianę w celu wykonania obliczeń inżynierskich, można wszystko obliczyć szybciej i dokładniej, modele komputerowe. Dzięki temu wielu zachodnim koncernom motoryzacyjnym udało się skrócić czas opracowywania nowego modelu samochodu pięciokrotnie – z 10 do 2 lat. Komputerowe przetwarzanie danych geofizycznych pozwala na tworzenie bardzo szczegółowych modeli pól naftowych i gazowych, zapewniając wydajniejszą, bezpieczniejszą i tańszą eksploatację odwiertów.

To właśnie rozwój technologii klastrowych sprawił, że obliczenia o wysokiej wydajności stały się powszechnie dostępne i umożliwiły korzystanie z nich wielu różnym przedsiębiorstwom. Tak rozkładają się obszary zastosowań 500 najpotężniejszych komputerów na świecie: 44,3% - górnictwo, elektronika, motoryzacja, lotnictwo i inne gałęzie przemysłu ciężkiego i inżynierii, nieco ponad 20% - nauka i edukacja, superkomputer centra. Ponad 18% przypada na badania pogody i klimatu, 7% - jądrowe, kosmiczne, energetyczne i wojskowe programy rządowe, 3,5% - firmy finansowe i banki. Ponadto na liście znajdują się firmy i organizacje zajmujące się medycyną i opracowywaniem nowych leków, Grafika komputerowa, transport, handel, produkcja żywności, doradztwo i administracja publiczna.

Jeśli chodzi o wykorzystanie superkomputerów w Rosji, obecny ranking superkomputerów Top50 z krajów WNP, opublikowany po raz pierwszy w grudniu 2004 roku, obejmuje tylko trzy klasy użytkowników: instytuty naukowe i uniwersytety, przedsiębiorstwa związane z przemysłem ciężkim i naftowym oraz instytucje finansowe.

Średnio krajowe superkomputery wciąż są daleko w tyle za zachodnimi pod względem wydajności: maszyny używane do badania naukowe, 15 razy, zasoby obliczeniowe firm finansowych - 10 razy, superkomputery przemysłowe - 9 razy. Jednak druga edycja listy Top50, opublikowana w kwietniu 2005 roku, pokazuje dynamiczny rozwój branży. Tym samym liczba systemów działających w sektorze przemysłowym wzrosła z 2 do 16%, a ich średnia wydajność natychmiast wzrosła o 135%. Liczba superkomputerów firm finansowych i banków również wzrosła z 2 do 18%. Udział superkomputerów wykorzystywanych do badań naukowych zmniejszył się z 96% do 66%, a ich średnia wydajność wzrosła o 70%. Ogólnie rzecz biorąc, druga edycja krajowego rankingu superkomputerów wskazuje na znaczny wzrost udziału systemów do użytku komercyjnego. Najwięcej krajowych superkomputerów dostarczył IBM (26%), ale rosyjscy producenci ustępują mu tylko nieznacznie.

Klastrowe systemy obliczeniowe stały się kontynuacją rozwoju pomysłów osadzonych w architekturze systemów MPA. Jeżeli w systemie MPA moduł procesorowy pełni rolę kompletnego węzła obliczeniowego, to w systemach klastrowych jako takie węzły obliczeniowe wykorzystywane są komputery dostępne na rynku. Rozwój technologii komunikacyjnych, czyli pojawienie się szybkich sprzęt sieciowy oraz specjalne biblioteki oprogramowania, np. MPI (Message Passing Interface), które implementują mechanizm przekazywania komunikatów zgodnie ze standardem protokoły sieciowe, udostępnił publicznie technologie klastrowe. Obecnie wiele małych systemów klastrowych powstaje z połączenia mocy obliczeniowej komputerów laboratoryjnych lub klasowych.

Atrakcyjną cechą technologii klastrowych jest to, że w celu uzyskania wymaganej wydajności umożliwiają budowanie systemów heterogenicznych, czyli łączenie komputerów o tym samym inny rodzaj począwszy od komputerów osobistych po potężne superkomputery. Technologie klastrowe są szeroko stosowane jako środek tworzenia systemów klasy superkomputerowej od: części składowe produkcja masowa, co znacznie obniża koszt systemu komputerowego. W szczególności jednym z pierwszych projektów w 1998 roku był The COst Effective COmputing Array (COCOA), w którym na bazie 25 dwuprocesorowych komputerów osobistych powstał system o wydajności odpowiadającej 48-procesorowemu Cray T3D o wartości kilku milionów dolarów. komputery o łącznym koszcie około 100 000 dolarów.

Lyle Long, profesor inżynierii kosmicznej na Penn State University, uważa, że ​​stosunkowo tanie klastrowe systemy obliczeniowe mogą równie dobrze służyć jako alternatywa dla drogich superkomputerów w organizacjach naukowych. Pod jego kierownictwem na uniwersytecie powstał klaster COCOA. W ramach tego projektu 25

Stacje bazowe DELL, każda z dwoma procesorami Pentium II/400 MHz, 512 MB pamięć o dostępie swobodnym, dysk twardy 4 GB Dysk SCSI oraz adapter sieciowy szybki Ethernet. Węzły są połączone za pomocą 24-portowego przełącznika Baynetworks 450T z jednym modułem rozszerzającym. Zainstalowane oprogramowanie zawiera system operacyjny RedHat Linux, kompilatory Fortran 90 i HPF firmy Portland Group, darmową redystrybucyjną implementację MPI - Message Passing Interface Chameleon (MPICH) oraz system kolejkowania DQS.

W artykule przedstawionym na 38. spotkaniu i wystawie naukowej w dziedzinie lotnictwa, Long opisuje równoległą wersję programu równoważenia obciążenia obliczeniowego, używanego do przewidywania poziomu hałasu helikoptera w różnych lokalizacjach. Dla porównania to program obliczeniowy został uruchomiony na trzech różnych 48-procesorowych komputerach, aby obliczyć szum w 512 punktach. Obliczenia zajęły 177 sekund w systemie Cray T3E, 95 sekund w systemie SGI Origin2000 i 127 sekund w klastrze COCOA. Klastry są więc bardzo wydajną platformą obliczeniową dla problemów tej klasy.

Przewaga systemów klastrowych nad superkomputerami polega na tym, że ich właściciele nie muszą dzielić czasu procesora z innymi użytkownikami, jak w dużych centrach superkomputerowych. W szczególności COCOA zapewnia ponad 400 tys. godzin czasu pracy procesora rocznie, podczas gdy w centrach superkomputerowych uzyskanie 50 tys. godzin może być trudne.

Oczywiście nie ma potrzeby mówić o pełnej równoważności tych systemów. Jak wiadomo, wydajność systemów z pamięcią rozproszoną jest bardzo zależna od wydajności środowiska przełączającego, które można scharakteryzować dwoma parametrami: latencja - czas opóźnienia podczas wysyłania wiadomości oraz wydajność- szybkość przekazywania informacji. Na przykład dla komputera Cray T3D parametry te wynoszą odpowiednio 1 µs i 480 Mb/s, a dla klastra, w którym jako medium przełączające używana jest sieć Fast Ethernet, parametry te wynoszą 100 µs i 10 Mb/s. To częściowo wyjaśnia bardzo wysoki koszt superkomputerów. Przy takich parametrach, jak rozważany klaster, nie ma tak wielu zadań, które można skutecznie rozwiązać na odpowiednio dużej liczbie procesorów.

Na podstawie powyższego podamy definicję: klaster to połączony zestaw pełnoprawnych komputerów używanych jako pojedynczy zasób obliczeniowy. Jako węzły klastra mogą być używane zarówno komputery identyczne (klastry jednorodne), jak i różne (klastry heterogeniczne). Dzięki swojej architekturze system klastrowy jest luźno powiązany. Klastry są zwykle tworzone przy użyciu prostych jednoprocesorowych komputerów osobistych lub dwu- lub czteroprocesorowych serwerów SMP. W takim przypadku nie nakłada się żadnych ograniczeń na skład i architekturę węzłów. Każdy z węzłów może działać pod własną kontrolą system operacyjny. Najczęściej stosowany standard operacyjny Systemy Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT.

W literaturze odnotowuje się cztery zalety osiągane przez klastrowanie systemu komputerowego:

absolutna skalowalność;

skalowalność;

duża dostępność;

stosunek ceny do wydajności.

Wyjaśnijmy każdą z powyższych cech klastrowego systemu obliczeniowego.

Nieruchomość absolutna skalowalność oznacza, że ​​możliwe jest tworzenie dużych klastrów, które przewyższają mocą obliczeniową nawet najbardziej wydajne pojedyncze komputery. Klaster może zawierać dziesiątki węzłów, z których każdy jest wieloprocesorem.

Właściwość skalowalności do układania w stos oznacza, że ​​klaster można powiększać, dodając nowe węzły w małych porcjach. W ten sposób użytkownik może zacząć od małego systemu, rozbudowując go w razie potrzeby.

Ponieważ każdy węzeł klastra jest niezależnym komputerem lub systemem, awaria jednego z węzłów nie prowadzi do utraty wydajności klastra. W wielu systemach odporność na awarie jest automatycznie obsługiwana przez oprogramowanie.

I wreszcie, systemy klastrowe zapewniają to, co jest nieosiągalne dla superkomputerów. stosunek ceny do jakości. Klastry o dowolnej wydajności można tworzyć przy użyciu standardowych „cegiełek”, a koszt klastra będzie niższy niż

komputer nocny o równoważnej mocy obliczeniowej.

Tak więc na poziomie sprzętowym klaster jest zbiorem niezależnych systemów obliczeniowych połączonych siecią. Rozwiązania mogą być proste, oparte na sprzęcie Ethernet, lub złożone, z szybkimi sieciami pracującymi z szybkością setek megabajtów na sekundę.

Integralną częścią klastra jest specjalistyczne oprogramowanie, którego zadaniem jest prowadzenie obliczeń w przypadku awarii jednego lub większej liczby węzłów. Takie oprogramowanie redystrybuuje obciążenie obliczeniowe w przypadku awarii jednego lub większej liczby węzłów klastra, a także przywraca obliczenia w przypadku awarii w węźle. Ponadto, jeśli w klastrze znajdują się dyski udostępnione, oprogramowanie klastra obsługuje jeden system plików.

Klasyfikacja architektur systemów klastrowych

Literatura opisuje różne drogi klasyfikacja systemów klastrowych. Najprostsza klasyfikacja opiera się na sposobie wykorzystania macierzy dyskowych: razem lub osobno.

Na ryc. Na rysunkach 5.5.1 i 5.5.2 przedstawiono struktury klastrów dwóch węzłów, których koordynację zapewnia linia dużych prędkości wykorzystywana do przesyłania komunikatów. Może to być sieć lokalna, z której korzystają również komputery spoza klastra, lub linia dedykowana. W przypadku łącza dzierżawionego jeden lub więcej węzłów klastra będzie mieć dostęp do lokalnego lub sieć globalna, który zapewnia komunikację między klastrem serwerów a zdalnymi systemami klienckimi.

Różnica pomiędzy prezentowanymi klastrami polega na tym, że w przypadku sieci lokalnej węzły wykorzystują lokalne macierze dyskowe, a w przypadku łącza dzierżawionego węzły dzielą jedną redundantną macierz niezależnych dyski twarde lub tak zwany RAID (nadmiarowa macierz niezależnych dysków). RAID składa się z kilku dysków kontrolowanych przez kontroler, połączonych ze sobą kanałami o dużej szybkości i postrzeganych system zewnętrzny jako całość. W zależności od rodzaju użytej tablicy można zapewnić różne stopnie odporności na uszkodzenia i wydajności.

procesor

procesor

wysoka prędkość

procesor

procesor

Autostrada

Urządzenie

Urządzenie

Urządzenie

Urządzenie

We/Wy

We/Wy

We/Wy

We/Wy

Dysk

Dysk

Ryż. 5.5.1. Konfiguracja klastra bez dysków współdzielonych

Dysk

Urządzenie

Urządzenie

procesor

procesor

We/Wy

We/Wy

procesor

procesor

Urządzenie

Urządzenie

Urządzenie

Urządzenie

We/Wy

We/Wy

We/Wy

We/Wy

Dysk

wysoka prędkość

Dysk

Autostrada

Ryż. 5.5.2. Konfiguracja klastra z dyskami współdzielonymi

Rozważ najpopularniejsze typy macierzy dyskowych

RAID0 (striping - striping) — macierz dyskowa składająca się z dwóch lub więcej dysków twardych bez nadmiarowości. Informacje są dzielone na bloki danych i zapisywane na obu (kilku) dyskach jednocześnie. Zaletą jest znaczny wzrost wydajności. Wadą jest to, że niezawodność RAID0 jest oczywiście niższa niż niezawodność któregokolwiek z dysków z osobna i zmniejsza się wraz ze wzrostem liczby dysków wchodzących w skład RAID0, ponieważ awaria któregokolwiek z dysków prowadzi do niesprawności całej macierzy .

RAID1 (mirroring - mirroring) - macierz składająca się z co najmniej dwóch dysków. Zaletami są akceptowalna prędkość zapisu i zwiększenie prędkości odczytu podczas zrównoleglania zapytań, a także wysoka niezawodność: działa tak długo, jak działa co najmniej jeden dysk w macierzy. Prawdopodobieństwo awarii dwóch dysków jednocześnie jest równe iloczynowi prawdopodobieństw awarii każdego dysku. W praktyce, jeśli jeden z dysków ulegnie awarii, należy podjąć pilne działania: ponownie przywrócić nadmiarowość. Aby to zrobić, przy dowolnym poziomie RAID (oprócz zera) zaleca się użycie gorących dysków zapasowych. Zaletą tego podejścia jest utrzymanie stałej dostępności. Wadą jest to, że musisz zapłacić koszt dwóch dysków twardych za użyteczną pojemność jednego dysku twardego.

RAID10 to macierz lustrzana, która zapisuje dane sekwencyjnie na wielu dyskach, podobnie jak RAID0. Ta architektura to macierz RAID0, której segmentami są macierze RAID1 zamiast pojedynczych dysków. W związku z tym macierz tego poziomu musi zawierać co najmniej cztery dyski. RAID10 łączy wysoką odporność na błędy i wydajność.

Pełniejszy obraz klastrowych systemów obliczeniowych daje klasyfikacja klastrów według zastosowanych metod klastrowania, które określają główne cechy funkcjonalne systemu:

klastrowanie z pasywną redundancją;

klastrowanie z aktywną redundancją;

niezależne serwery;

serwery z podłączeniem do wszystkich dysków;

serwery z dyskami współdzielonymi.

Grupowanie nadmiarowe jest najstarszą i najbardziej wszechstronną metodą. Jeden z serwerów przejmuje całe obciążenie obliczeniowe, drugi pozostaje nieaktywny, ale gotowy do przejęcia obliczeń w przypadku awarii serwera głównego. Serwer aktywny (lub podstawowy) okresowo wysyła komunikat pulsu do serwera rezerwowego (dodatkowego). W przypadku braku komunikatów pulsu, co jest uważane za awarię serwera głównego, kontrolę przejmuje serwer pomocniczy. Takie podejście poprawia dostępność, ale nie poprawia wydajności. Co więcej, jeśli jedyną formą komunikacji między węzłami jest przesyłanie wiadomości, a oba serwery klastra nie współużytkują dysków, serwer rezerwowy nie ma dostępu do baz danych zarządzanych przez serwer główny.

Nadmiarowość pasywna jest rzadkością w przypadku klastrów. Termin „klaster” odnosi się do zestawu połączonych ze sobą węzłów aktywnie uczestniczących w proces obliczeniowy i wspólnie tworząc iluzję jednego potężnego komputera. Ta konfiguracja jest zwykle określana jako aktywny system serwerów pomocniczych i istnieją trzy metody klastrowania: serwery autonomiczne, serwery bez współużytkowania dysków i serwery z współużytkowaniem dysków.

W pierwszej metodzie każdy węzeł klastra jest traktowany jako samodzielny serwer z własnymi dyskami, przy czym żaden z dysków w systemie nie jest współużytkowany. Schemat zapewnia wysoką wydajność i wysoką dostępność, ale wymaga specjalnego oprogramowania do planowania dystrybucji żądań klientów do serwerów w taki sposób, aby osiągnąć zrównoważone i wydajne wykorzystanie wszystkich serwerów. Konieczne jest, aby w przypadku awarii jednego z węzłów podczas wykonywania aplikacji inny węzeł klastra mógł przechwycić i zakończyć tę aplikację. Aby to zrobić, dane w systemie muszą być stale archiwizowane, aby każdy serwer miał dostęp do wszystkich najnowszych danych w systemie. Ze względu na te koszty wysoką dostępność osiąga się tylko kosztem utraconej produktywności.

Aby zmniejszyć obciążenie komunikacyjne, większość klastrów składa się obecnie z serwerów podłączonych do: dyski współdzielone, zwykle reprezentowany przez dysk macierz RAID(patrz rys. 5.5.2).

Jedna z wersji tego podejścia sugeruje, że dzielenie się dyski nie są używane. Udostępnione dyski są podzielone na partycje, a każdy węzeł klastra ma przydzieloną własną partycję. Jeśli jeden z węzłów ulegnie awarii, klaster można skonfigurować tak, aby prawa dostępu do jego partycji dysku współdzielonego zostały przeniesione do innego węzła.

Alternatywnie, wiele serwerów współdzieli w czasie dostęp do dysków współdzielonych, dzięki czemu każdy węzeł ma dostęp do wszystkich partycji wszystkich dysków współdzielonych. Takie podejście wymaga pewnego rodzaju mechanizmu blokującego, aby zapewnić, że tylko jeden z serwerów ma dostęp do danych w danym momencie.

Klastry zapewniają wysoką dostępność — nie ma jednego systemu operacyjnego ani pamięci współdzielonej, więc nie ma problemu ze spójnością pamięci podręcznej. Ponadto specjalne oprogramowanie w każdym węźle stale monitoruje wydajność wszystkich pozostałych węzłów. Kontrola ta opiera się na okresowym wysyłaniu przez każdy węzeł sygnału „Wciąż nie śpię”. Jeżeli sygnał z pewnego węzła nie zostanie odebrany, to taki węzeł uważa się za niesprawny; nie ma możliwości wykonywania operacji we/wy, jego dyski i inne zasoby (w tym adresy sieciowe) są ponownie przydzielane innym węzłom, a uruchomione w nim programy są ponownie uruchamiane w innych węzłach.

Skalowanie wydajności klastra oraz dodawanie węzłów. W klastrze można uruchomić wiele pojedynczych aplikacji, ale skalowanie pojedynczej aplikacji wymaga, aby jej części komunikowały się za pośrednictwem wiadomości. Nie można jednak pominąć faktu, że interakcje między węzłami klastra zajmują znacznie więcej czasu niż w tradycyjnych systemach obliczeniowych. Możliwość niemal nieograniczonego wzrostu liczby węzłów oraz brak jednego systemu operacyjnego sprawiają, że architektury klastrowe są niezwykle skalowalne. Z powodzeniem wykorzystywane są systemy z setkami i tysiącami węzłów.

Przy tworzeniu klastrów można wyróżnić dwa podejścia. Pierwsze podejście polega na tworzeniu małych systemów klastrowych. Klaster łączy w pełni funkcjonalne komputery, które nadal działają jako niezależne jednostki, takie jak komputery w salach lekcyjnych lub laboratoryjne stacje robocze. Drugim podejściem jest celowe tworzenie potężnych zasobów obliczeniowych. Bloki systemowe komputery są kompaktowo rozmieszczone

Znajdują się one w specjalnych stojakach, a jeden lub więcej w pełni wyposażonych komputerów, nazywanych hostami, jest przydzielanych do zarządzania systemem i wykonywania zadań. W takim przypadku nie ma potrzeby zaopatrywania komputerów węzłów obliczeniowych w karty graficzne, monitory, dyski i inne urządzenia peryferyjne co znacznie obniża koszt systemu.

Opracowano wiele technologii łączenia komputerów w klaster. Obecnie najczęściej stosowaną technologią jest Ethernet, ze względu na łatwość obsługi i niski koszt sprzętu komunikacyjnego. Jednak trzeba za to zapłacić ewidentnie niewystarczającą szybkością wymian.

Twórcy pakietu podprogramów ScaLAPACK, przeznaczonego do rozwiązywania problemów algebry liniowej na systemach wieloprocesorowych, w których udział operacji komunikacyjnych jest duży, formułują wymagania dla systemu wieloprocesorowego w następujący sposób: „Szybkość wymiany międzyprocesorowej między dwoma węzłami, mierzona w MB/s musi wynosić co najmniej 1/10 szczytowej wydajności węzła obliczeniowego, mierzonej w MFLOPS”.

Topologie klastrowe

Rozważmy topologie charakterystyczne dla tak zwanych „małych” klastrów składających się z dwóch do czterech węzłów.

Topologia par klastrów używane przy organizowaniu klastrów dwu- lub czterowęzłowych (rys. 5.5.3). Węzły pogrupowane są w pary, do obu węzłów wchodzących w skład pary dołączane są macierze dyskowe, a każdy węzeł pary ma dostęp do wszystkich macierzy dyskowych tej pary. Jeden z węzłów pary jest używany jako kopia zapasowa dla drugiego.

Para klastrów czterowęzłowych jest prostym rozszerzeniem topologii dwuwęzłowej. Obie pary klastrów są traktowane jako całość pod względem administracyjnym i konfiguracyjnym.

Ta topologia może być wykorzystywana do organizowania klastrów o wysokiej dostępności danych, ale odporność na uszkodzenia jest implementowana tylko w parze, ponieważ urządzenia do przechowywania informacji należące do pary nie mają fizycznego połączenia z inną parą.

Przełącznik

grupa

grupa

grupa

grupa

Dysk

Dysk

Dysk

Dysk

Ryż. 5.5.3. Topologia par klastrów

Topologia + 1 pozwala tworzyć klastry składające się z dwóch, trzech i czterech węzłów (rys.5.5.4). Każda macierz dyskowa łączy się tylko z dwoma węzłami klastra. Macierze dyskowe są zorganizowane zgodnie ze schematem RAID1 (dublowanie). Jeden serwer jest połączony ze wszystkimi macierzami dyskowymi i służy jako kopia zapasowa dla wszystkich pozostałych (podstawowych lub aktywnych) węzłów. Serwer rezerwowy może służyć do zapewnienia wysokiej dostępności w połączeniu z dowolnym aktywnym węzłem.

Topologia jest zalecana do organizowania klastrów o wysokiej dostępności danych. W konfiguracjach, w których możliwe jest przeznaczenie pojedynczego węzła dla nadmiarowości, ta topologia zmniejsza obciążenie węzłów aktywnych i zapewnia, że ​​obciążenie uszkodzonego węzła może być replikowane w węźle rezerwowym bez utraty wydajności. Tolerancja na uszkodzenia jest zapewniona między dowolnym węzłem podstawowym a węzłem rezerwowym. Jednocześnie topologia nie pozwala na implementację globalnej odporności na awarie, ponieważ główne węzły klastra i ich systemy przechowywania informacji nie są ze sobą połączone.

Topologia ×, podobnie jak topologia +1, pozwala na tworzenie klastrów z dwoma, trzema i czterema węzłami, ale w przeciwieństwie do niej ma większą elastyczność i skalowalność (rys.5.5.5).

Przełącznik

grupa

grupa

grupa

grupa

Przełącznik

grupa

grupa

grupa

grupa

Przełącznik

Dysk

Dysk

Dysk

Ryż. 5.5.5. Topologia ×

Tylko w tej topologii wszystkie węzły klastra mają dostęp do wszystkich macierzy dyskowych, które z kolei budowane są według schematu RAID1 (mirroring). Skalowalność topologii przejawia się w łatwości dodawania do klastra dodatkowych węzłów i macierzy dyskowych bez zmiany połączeń w systemie.

grupa

grupa

grupa

grupa

Dysk

Dysk

Dysk

Dysk

Ryż. 5.5.6. W pełni podzielona topologia

W pełni podzielona topologia umożliwia podłączenie każdej macierzy dyskowej tylko do jednego węzła klastra (rys. 5.5.6 ). Zalecany tylko dla tych aplikacji, które charakteryzują się całkowicie odrębną architekturą dostępową.

Pytania kontrolne

1. Zdefiniuj system obliczeniowy klastra.

2. Wymień główne zalety i wady klastrowych systemów obliczeniowych.

3. Jakie masz klasyfikacje klastrowych systemów obliczeniowych

4. Jakie znasz topologie systemów klastrowych? Wymień ich zalety i wady.

Literatura

1. Architektury i topologie wieloprocesorowych systemów obliczeniowych / AV Bogdanow, W.W. Korchow, W.W. Mareev, E.N. Stankov. - M.: INTUIT.RU, 2004. - 176 s.

2. Systemy mikroprocesorowe: studia. dodatek na uczelnie /

E.K. Aleksandrow, RI Gruszwicki, MS Kupriyanov i inni; wyd. D.V. Puzankowa . - Petersburg: Politechnika, 2002. - 935 s.

(Swoją drogą, mówiąc jednocześnie, można złożyć niedrogi i wydajny klaster z xboksa 360 lub PS3, procesory tam są mniej więcej takie same jak Power i można kupić więcej niż jeden dekoder za milion.)

Wychodząc z tego, odnotowujemy opcje budowy systemu o wysokiej wydajności, które są interesujące pod względem ceny. Oczywiście musi być wieloprocesorowy. Do takich zadań Intel wykorzystuje procesory Xeon, podczas gdy AMD wykorzystuje procesory Opteron.

Jeśli dużo pieniędzy


Osobno zwracamy uwagę na niezwykle kosztowną, ale produktywną linię procesorów opartych o Gniazdo Intel Xeon LGA1567.
Najwyższym procesorem z tej serii jest E7-8870 z dziesięcioma rdzeniami 2,4 GHz. Jego cena to 4616 dolarów. Dla takich procesorów, HP i Supermicro wydaniu! ośmioprocesorowy! obudowa serwera. Osiem 10-rdzeniowych Procesory Xeon E7-8870 2,4 GHz z obsługą HyperThreading obsługuje 8*10*2=160 wątków, co jest wyświetlane w menedżerze zadań Windows jako sto sześćdziesiąt wykresów obciążenia procesora, z macierzą 10x16.

Aby osiem procesorów zmieściło się w obudowie, nie umieszcza się ich od razu płyta główna, ale na osobnych płytach przyklejonych do płyty głównej. Zdjęcie przedstawia cztery płyty z procesorami zainstalowanymi w płycie głównej (po dwa na każdej). To jest rozwiązanie Supermicro. W rozwiązaniu HP każdy procesor ma własną płytę. Koszt rozwiązania HP wynosi od dwóch do trzech milionów, w zależności od wypełnienia procesorów, pamięci i innych rzeczy. Podwozie od Supermicro kosztuje 10 000 USD, co jest bardziej atrakcyjne. Poza tym Supermicro może w portach PCI-Express x16 umieścić cztery karty rozszerzeń koprocesorów (swoją drogą, będzie jeszcze miejsce na przejściówkę Infiniband, aby zmontować ich klaster), a HP ma tylko dwie. Dlatego ośmioprocesorowa platforma Supermicro jest bardziej atrakcyjna do tworzenia superkomputera. Poniższe zdjęcie z wystawy przedstawia montaż superkomputera z czterema płytami GPU.


Jest to jednak bardzo drogie.
Co jest tańsze
Ale jest perspektywa montażu superkomputera na bardziej przystępnych cenach Procesory AMD Opteron G34, Intel Xeon LGA2011 i LGA 1366.

Wybierać konkretny model skompilowałem tabelę, w której obliczyłem wskaźnik ceny/(liczba rdzeni*częstotliwość) dla każdego procesora. Wykluczyłem z obliczeń procesory poniżej 2 GHz, a dla Intela - z magistralą poniżej 6,4 GT/s.

Model
Liczba rdzeni
Częstotliwość
Cena, $
Cena/rdzeń, $
Cena/rdzeń/GHz
AMD





6386SE
16
2,8
1392
87
31
6380
16
2,5
1088
68
27
6378
16
2,4
867
54
23
6376
16
2,3
703
44
19
6348
12
2,8
575
48
17
6344
12
2,6
415
35
13
6328
8
3,2
575
72
22
6320
8
2,8
293
37
13
INTEL





E5-2690
8
2,9
2057
257
89
E5-2680
8
2,7
1723
215
80
E5-2670
8
2,6
1552
194
75
E5-2665
8
2,4
1440
180
75
E5-2660
8
2,2
1329
166
76
E5-2650
8
2
1107
138
69
E5-2687W
8
3,1
1885
236
76
E5-4650L
8
2,6
3616
452
174
E5-4650
8
2,7
3616
452
167
E5-4640
8
2,4
2725
341
142
E5-4617
6
2,9
1611
269
93
E5-4610
6
2,4
1219
203
85
E5-2640
6
2,5
885
148
59
E5-2630
6
2,3
612
102
44
E5-2667
6
2,9
1552
259
89
X5690
6
3,46
1663
277
80
X5680
6
3,33
1663
277
83
X5675
6
3,06
1440
240
78
X5670
6
2,93
1440
240
82
X5660
6
2,8
1219
203
73
X5650
6
2,66
996
166
62
E5-4607
6
2,2
885
148
67
X5687
4
3,6
1663
416
115
X5677
4
3,46
1663
416
120
X5672
4
3,2
1440
360
113
X5667
4
3,06
1440
360
118
E5-2643
4
3,3
885
221
67

Model z minimalnym współczynnikiem zaznaczono pogrubioną kursywą, podkreślono najmocniejszego AMD i moim zdaniem najbliższego Xeonowi.

Zatem mój wybór procesorów do superkomputera to Opteron 6386 SE, Opteron 6344, Xeon E5-2687W i Xeon E5-2630.

płyty główne

PICMG
Na konwencjonalnych płytach głównych nie można umieścić więcej niż czterech dwuslotowych kart rozszerzeń. Jest jeszcze inna architektura - wykorzystanie cross-boardów, takich jak BPG8032 PCI Express Backplane.


Taka płyta zawiera karty rozszerzeń PCI Express i jedną płytę procesorową, nieco podobną do tych zainstalowanych w omawianych powyżej ośmioprocesorowych serwerach Supermicro. Ale tylko te płyty procesorów są zgodne ze standardami branżowymi PICMG. Standardy ewoluują powoli, a te płyty często nie obsługują najnowszych procesorów. Co najwyżej takie płyty procesorowe są obecnie produkowane dla dwóch Xeonów E5-2448L - Trenton BXT7059 SBC.

Taki system bez GPU kosztowałby co najmniej 5000 dolarów.

Platformy gotowe na TIAN
Za mniej więcej tyle samo można kupić gotową platformę do montażu superkomputerów TYAN FT72B7015. W tym można zainstalować do ośmiu procesorów graficznych i dwa Xeon LGA1366.
„Zwykłe” serwerowe płyty główne
Dla LGA2011
Supermicro X9QR7-TF - na tej płycie głównej można zainstalować 4 karty rozszerzeń i 4 procesory.

Supermicro X9DRG-QF - ta płyta jest specjalnie zaprojektowana do budowania wysokowydajnych systemów.

Dla Opterona
Supermicro H8QGL-6F - ta płyta umożliwia zainstalowanie czterech procesorów i trzech kart rozszerzeń

Wzmocnienie platformy płytami dylatacyjnymi

Ten rynek jest prawie całkowicie opanowany przez NVidię, która oprócz kart wideo do gier produkuje również karty komputerowe. AMD ma mniejszy udział w rynku, a Intel wszedł na ten rynek stosunkowo niedawno.

Cechą takich koprocesorów jest obecność dużej ilości pamięci RAM na pokładzie, szybkie obliczenia z podwójną precyzją i energooszczędnością.

FP32, Tflopy FP64, Tflopy Cena £ Pamięć, GB
Nvidia Tesla K20X 3.95 1.31 5.5 6
AMD FirePro S10000 5.91 1.48 3.6 6
Intel Xeon Phi 5110P 1 2.7 8
Nvidia GTX Titan 4.5 1.3 1.1 6
Nvidia GTX 680 3 0.13 0.5 2
AMD HD 7970 GHz Edition 4 1 0.5 3
AMD HD 7990 Diabeł 13 2x3,7 2x0,92 1.6 2x3

Topowe rozwiązanie Nvidii nosi nazwę Tesla K20X oparte na architekturze Kepler. To właśnie te karty znajdują się w najpotężniejszym na świecie superkomputerze Tytanie. Jednak niedawno Nvidia wypuściła kartę graficzną Geforce Titan. Starsze modele miały wydajność FP64 zmniejszoną do 1/24 FP32 (GTX680). Ale w Titanium producent obiecuje dość wysoką wydajność w obliczeniach o podwójnej precyzji. Rozwiązania AMD też są dobre, ale są zbudowane na innej architekturze, co może utrudnić prowadzenie obliczeń zoptymalizowanych pod kątem CUDA (technologia Nvidia).

Rozwiązanie od Intela - Xeon Phi 5110P jest ciekawe, ponieważ wszystkie rdzenie w koprocesorze wykonane są na architekturze x86 i do rozpoczęcia obliczeń nie jest wymagana żadna specjalna optymalizacja kodu. Ale moim ulubionym koprocesorem jest stosunkowo niedrogi AMD HD 7970 GHz Edition. Teoretycznie ta karta wideo pokaże maksymalną wydajność za cenę.

Może być grupowany

Aby poprawić wydajność systemu, kilka komputerów można połączyć w klaster, co spowoduje rozłożenie obciążenia obliczeniowego na komputery wchodzące w skład klastra.

Używanie zwykłego Gigabit Ethernet jako interfejsu sieciowego do łączenia komputerów jest zbyt wolne. Do tych celów najczęściej używany jest Infiniband. Adapter hosta Infiniband jest niedrogi w porównaniu z serwerem. Na przykład na międzynarodowej aukcji Ebay takie adaptery są sprzedawane w cenie 40 USD. Na przykład dostawa do Rosji adaptera X4 DDR (20 Gb/s) kosztuje około 100 USD.

Jednocześnie przełączanie sprzętu na Infiniband jest dość drogie. Tak, i jak wspomniano powyżej, gwiazda klasyczna jako topologia śieć komputerowa- nie najlepszy wybór.

Jednak hosty InfiniBand można łączyć bezpośrednio ze sobą bez przełącznika. Wtedy na przykład ta opcja staje się dość interesująca: klaster dwóch komputerów połączonych przez infiniband. Taki superkomputer można zmontować w domu.

Ile kart graficznych potrzebujesz

W najpotężniejszym superkomputerze naszych czasów, Cray Titan, stosunek procesorów do „kart wideo” wynosi 1:1, czyli ma 18688 16-rdzeniowych procesorów i 18688 Tesla K20X.

W Tianhe-1A, chińskim superkomputerze opartym na xeonach, stosunek jest następujący. Dwa procesor sześciordzeniowy na jedną kartę graficzną Nvidia M2050 (słabsza niż K20X).

Takie podejście do naszych montaży przyjmiemy jako optymalne (bo taniej). To znaczy 12-16 rdzeni procesora na GPU. W poniższej tabeli pogrubienie oznacza praktycznie możliwe opcje, podkreślając - najbardziej udany z mojego punktu widzenia.

GPU Rdzenie 6-rdzeniowy procesor 8-rdzeniowy procesor 12-rdzeniowy procesor 16-rdzeniowy procesor
2 24 32 4
5
3
4
2
3
2
2
3 36 48 6
8
5
6
3
4
2
3
4 48 64 8
11
6
8
4
5
3
4

Jeśli system z już ustaloną proporcją procesorów / kart graficznych może przyjąć na pokład dodatkowe urządzenia komputerowe, dodamy je, aby zwiększyć moc zespołu.

Więc ile to kosztuje

Poniższe opcje to obudowa superkomputera bez pamięci RAM, dysków twardych i oprogramowania. Wszystkie modele korzystają z karty wideo AMD HD 7970 GHz Edition. Można go zastąpić innym, na żądanie zadania (na przykład xeon phi). Tam, gdzie pozwala na to system, jedna z edycji AMD HD 7970 GHz została zastąpiona trzygniazdowym AMD HD 7990 Devil 13.
Opcja 1 na płycie głównej Supermicro H8QGL-6F


Płyta główna Supermikro H8QGL-6F 1 1200 1200
procesor AMD Opteron 6344 4 500 2000
Chłodnica procesora Thermaltake CLS0017 4 40 160
Obudowa 1400W SC748TQ-R1400B 1 1000 1000
akcelerator graficzny AMD HD 7970 GHz Edition 3 500 1500
5860

Teoretycznie występ wyniesie około 12 Tflops.
Opcja 2 na płycie głównej TYAN S8232, klaster


Ta płyta nie obsługuje Opterona 63xx, więc używana jest 62xx. W tej opcji dwa komputery są połączone w klaster za pośrednictwem Infiniband x4 DDR z dwoma kablami. Teoretycznie prędkość połączenia w tym przypadku zależy od prędkości PCIe x8, czyli 32 Gb/s. Używane są dwa zasilacze. Jak je ze sobą skoordynować, można znaleźć w Internecie.
Ilość Cena £ Suma
Płyta główna TYAN S8232 1 790 790
procesor AMD Opteron 6282SE 2 1000 2000
Chłodnica procesora Noctua NH-U12DO A3 2 60 120
Ramka Antec Twelve Hundred Black 1 200 200
Zasilacz FSP AURUM PRO 1200W 2 200 400
akcelerator graficzny AMD HD 7970 GHz Edition 2 500 1000
akcelerator graficzny AX7990 6GBD5-A2DHJ 1 1000 1000
Adapter Infiniband X4 DDR Infiniband 1 140 140
Kabel Infiniband X4 DDR Infiniband 1 30 30
5680 (za jeden blok)

W przypadku klastra takich konfiguracji potrzebne są dwie, a ich koszt będzie $11360 . Jego pobór mocy przy pełnym obciążeniu wyniesie około 3000W. Teoretycznie wydajność wyniesie do 31Tflops.

Klaster o wysokiej wydajności (grupa komputerowa)

Klaster komputerowy to grupa komputerów połączonych szybkimi liniami komunikacyjnymi, które wspólnie przetwarzają te same żądania i są prezentowane przez użytkownika jako jeden system obliczeniowy.

Główne właściwości klastrów

Klastry składają się z wielu systemów komputerowych;

Działają jako jeden system obliczeniowy (nie wszystkie);

Klaster jest zarządzany i prezentowany użytkownikowi jako jeden system obliczeniowy;

Dlaczego klastry są potrzebne

Klastry mogą być używane do różnych celów. Klastry mogą tworzyć systemy odporne na awarie, mogą służyć do poprawy wydajności węzła komputerowego lub mogą być wykorzystywane do czasochłonnych obliczeń.

Jakie są klastry

Klastry pracy awaryjnej

Takie klastry są tworzone w celu zapewnienia: wysoki poziom dostępność usługi reprezentowanej przez klaster. W jaki sposób więcej ilości komputerów wchodzących w skład klastra, tym mniejsze prawdopodobieństwo awarii prezentowanej usługi. Komputery będące częścią rozproszonego geograficznie klastra zapewniają również ochronę przed klęskami żywiołowymi, atakami terrorystycznymi i innymi zagrożeniami.

Dane klastra można budować według trzech głównych zasad

  • klastry w trybie zimnego czuwania- wtedy węzeł aktywny przetwarza żądania, a pasywny jest bezczynny i tylko czeka na awarię aktywnego. Węzeł pasywny zaczyna działać dopiero po awarii węzła aktywnego. Klaster zbudowany na ta zasada, może zapewnić wysoką odporność na awarie, ale w momencie wyłączenia aktywnego węzła, przetwarzane przez niego w tym momencie żądania mogą zostać utracone.
  • klaster gorącej gotowości- wtedy wszystkie węzły systemu wspólnie przetwarzają żądania, a w przypadku awarii jednego lub kilku węzłów obciążenie rozkłada się na pozostałe. Ten typ Klaster można również nazwać klastrem równoważenia obciążenia, o którym powiemy później, ale z obsługą dystrybucji żądań, gdy jeden lub więcej węzłów ulegnie awarii. Podczas korzystania z tego klastra istnieje również możliwość utraty danych przetwarzanych przez węzeł, który uległ awarii.
  • modułowy klaster redundancyjny- wtedy wszystkie komputery w klastrze przetwarzają równolegle te same żądania, a po przetworzeniu pobierana jest dowolna wartość. Taki schemat gwarantuje wykonanie żądania, ponieważ każdy wynik przetwarzania żądania może zostać pobrany.

Klaster równoważenia obciążenia

Klastry te są tworzone głównie ze względu na wydajność, ale można ich również używać do poprawy odporności na awarie, tak jak w przypadku klastra pracy awaryjnej typu hot spare. W danych klastra żądania są dystrybuowane przez węzły wejściowe do wszystkich pozostałych węzłów klastra.

Klastry obliczeniowe

Ten rodzaj klastrów jest zwykle wykorzystywany do celów naukowych. W tych systemach zadanie podzielone jest na części, realizowane równolegle na wszystkich węzłach klastra. Pozwala to znacznie skrócić czas przetwarzania w porównaniu z pojedynczymi komputerami.

Nie zapomnij wyjść

(Swoją drogą, mówiąc jednocześnie, można złożyć niedrogi i wydajny klaster z xboksa 360 lub PS3, procesory tam są mniej więcej takie same jak Power i można kupić więcej niż jeden dekoder za milion.)

Wychodząc z tego, odnotowujemy opcje budowy systemu o wysokiej wydajności, które są interesujące pod względem ceny. Oczywiście musi być wieloprocesorowy. Do takich zadań Intel wykorzystuje procesory Xeon, podczas gdy AMD wykorzystuje procesory Opteron.

Jeśli dużo pieniędzy


Osobno zwracamy uwagę na niezwykle kosztowną, ale produktywną linię procesorów opartych na gnieździe Intel Xeon LGA1567.
Najwyższym procesorem z tej serii jest E7-8870 z dziesięcioma rdzeniami 2,4 GHz. Jego cena to 4616 dolarów. Dla takich procesorów, HP i Supermicro wydaniu! ośmioprocesorowy! obudowa serwera. Osiem 10-rdzeniowych procesorów Xeon E7-8870 2,4 GHz z obsługą HyperThreading obsługuje 8*10*2=160 wątków, co jest wyświetlane w menedżerze zadań Windows jako sto sześćdziesiąt wykresów obciążenia procesora z macierzą 10x16.

Aby osiem procesorów zmieściło się w obudowie, nie są one umieszczane bezpośrednio na płycie głównej, ale na osobnych płytach, które są wpinane do płyty głównej. Zdjęcie przedstawia cztery płyty z procesorami zainstalowanymi w płycie głównej (po dwa na każdej). To jest rozwiązanie Supermicro. W rozwiązaniu HP każdy procesor ma własną płytę. Koszt rozwiązania HP wynosi od dwóch do trzech milionów, w zależności od wypełnienia procesorów, pamięci i innych rzeczy. Podwozie od Supermicro kosztuje 10 000 USD, co jest bardziej atrakcyjne. Dodatkowo Supermicro może w portach PCI-Express x16 umieścić cztery karty rozszerzeń koprocesorów (swoją drogą, będzie jeszcze miejsce na przejściówkę Infiniband, aby zmontować ich klaster), a HP ma tylko dwie. Dlatego ośmioprocesorowa platforma Supermicro jest bardziej atrakcyjna do tworzenia superkomputera. Poniższe zdjęcie z wystawy przedstawia montaż superkomputera z czterema płytami GPU.


Jest to jednak bardzo drogie.
Co jest tańsze
Istnieje jednak perspektywa zbudowania superkomputera na tańszych procesorach AMD Opteron G34, Intel Xeon LGA2011 i LGA 1366.

Aby wybrać konkretny model, skompilowałem tabelę, w której wyliczyłem wskaźnik ceny/(liczba rdzeni*częstotliwość) dla każdego procesora. Wykluczyłem z obliczeń procesory poniżej 2 GHz, a dla Intela - z magistralą poniżej 6,4 GT/s.

Model
Liczba rdzeni
Częstotliwość
Cena, $
Cena/rdzeń, $
Cena/rdzeń/GHz
AMD





6386SE
16
2,8
1392
87
31
6380
16
2,5
1088
68
27
6378
16
2,4
867
54
23
6376
16
2,3
703
44
19
6348
12
2,8
575
48
17
6344
12
2,6
415
35
13
6328
8
3,2
575
72
22
6320
8
2,8
293
37
13
INTEL





E5-2690
8
2,9
2057
257
89
E5-2680
8
2,7
1723
215
80
E5-2670
8
2,6
1552
194
75
E5-2665
8
2,4
1440
180
75
E5-2660
8
2,2
1329
166
76
E5-2650
8
2
1107
138
69
E5-2687W
8
3,1
1885
236
76
E5-4650L
8
2,6
3616
452
174
E5-4650
8
2,7
3616
452
167
E5-4640
8
2,4
2725
341
142
E5-4617
6
2,9
1611
269
93
E5-4610
6
2,4
1219
203
85
E5-2640
6
2,5
885
148
59
E5-2630
6
2,3
612
102
44
E5-2667
6
2,9
1552
259
89
X5690
6
3,46
1663
277
80
X5680
6
3,33
1663
277
83
X5675
6
3,06
1440
240
78
X5670
6
2,93
1440
240
82
X5660
6
2,8
1219
203
73
X5650
6
2,66
996
166
62
E5-4607
6
2,2
885
148
67
X5687
4
3,6
1663
416
115
X5677
4
3,46
1663
416
120
X5672
4
3,2
1440
360
113
X5667
4
3,06
1440
360
118
E5-2643
4
3,3
885
221
67

Model z minimalnym współczynnikiem zaznaczono pogrubioną kursywą, podkreślono najmocniejszego AMD i moim zdaniem najbliższego Xeonowi.

Zatem mój wybór procesorów do superkomputera to Opteron 6386 SE, Opteron 6344, Xeon E5-2687W i Xeon E5-2630.

płyty główne

PICMG
Na konwencjonalnych płytach głównych nie można umieścić więcej niż czterech dwuslotowych kart rozszerzeń. Jest jeszcze inna architektura - wykorzystanie cross-boardów, takich jak BPG8032 PCI Express Backplane.


Taka płyta zawiera karty rozszerzeń PCI Express i jedną płytę procesorową, nieco podobną do tych zainstalowanych w omawianych powyżej ośmioprocesorowych serwerach Supermicro. Ale tylko te płyty procesorów są zgodne ze standardami branżowymi PICMG. Standardy ewoluują powoli, a te płyty często nie obsługują najnowszych procesorów. Co najwyżej takie płyty procesorowe są obecnie produkowane dla dwóch Xeonów E5-2448L - Trenton BXT7059 SBC.

Taki system bez GPU kosztowałby co najmniej 5000 dolarów.

Platformy gotowe na TIAN
Za mniej więcej tyle samo można kupić gotową platformę do montażu superkomputerów TYAN FT72B7015. W tym można zainstalować do ośmiu procesorów graficznych i dwa Xeon LGA1366.
„Zwykłe” serwerowe płyty główne
Dla LGA2011
Supermicro X9QR7-TF - na tej płycie głównej można zainstalować 4 karty rozszerzeń i 4 procesory.

Supermicro X9DRG-QF - ta płyta jest specjalnie zaprojektowana do budowania wysokowydajnych systemów.

Dla Opterona
Supermicro H8QGL-6F - ta płyta umożliwia zainstalowanie czterech procesorów i trzech kart rozszerzeń

Wzmocnienie platformy płytami dylatacyjnymi

Ten rynek jest prawie całkowicie opanowany przez NVidię, która oprócz kart wideo do gier produkuje również karty komputerowe. AMD ma mniejszy udział w rynku, a Intel wszedł na ten rynek stosunkowo niedawno.

Cechą takich koprocesorów jest obecność dużej ilości pamięci RAM na pokładzie, szybkie obliczenia z podwójną precyzją i energooszczędnością.

FP32, Tflopy FP64, Tflopy Cena £ Pamięć, GB
Nvidia Tesla K20X 3.95 1.31 5.5 6
AMD FirePro S10000 5.91 1.48 3.6 6
Intel Xeon Phi 5110P 1 2.7 8
Nvidia GTX Titan 4.5 1.3 1.1 6
Nvidia GTX 680 3 0.13 0.5 2
AMD HD 7970 GHz Edition 4 1 0.5 3
AMD HD 7990 Diabeł 13 2x3,7 2x0,92 1.6 2x3

Topowe rozwiązanie Nvidii nosi nazwę Tesla K20X oparte na architekturze Kepler. To właśnie te karty znajdują się w najpotężniejszym na świecie superkomputerze Tytanie. Jednak niedawno Nvidia wypuściła kartę graficzną Geforce Titan. Starsze modele miały wydajność FP64 zmniejszoną do 1/24 FP32 (GTX680). Ale w Titanium producent obiecuje dość wysoką wydajność w obliczeniach o podwójnej precyzji. Rozwiązania AMD też są dobre, ale są zbudowane na innej architekturze, co może utrudnić prowadzenie obliczeń zoptymalizowanych pod kątem CUDA (technologia Nvidia).

Rozwiązanie od Intela - Xeon Phi 5110P jest ciekawe, ponieważ wszystkie rdzenie w koprocesorze wykonane są na architekturze x86 i do rozpoczęcia obliczeń nie jest wymagana żadna specjalna optymalizacja kodu. Ale moim ulubionym koprocesorem jest stosunkowo niedrogi AMD HD 7970 GHz Edition. Teoretycznie ta karta wideo pokaże maksymalną wydajność za cenę.

Może być grupowany

Aby poprawić wydajność systemu, kilka komputerów można połączyć w klaster, co spowoduje rozłożenie obciążenia obliczeniowego na komputery wchodzące w skład klastra.

Używanie zwykłego Gigabit Ethernet jako interfejsu sieciowego do łączenia komputerów jest zbyt wolne. Do tych celów najczęściej używany jest Infiniband. Adapter hosta Infiniband jest niedrogi w porównaniu z serwerem. Na przykład na międzynarodowej aukcji Ebay takie adaptery są sprzedawane w cenie 40 USD. Na przykład dostawa do Rosji adaptera X4 DDR (20 Gb/s) kosztuje około 100 USD.

Jednocześnie przełączanie sprzętu na Infiniband jest dość drogie. Jak wspomniano powyżej, klasyczna gwiazda jako topologia sieci komputerowej nie jest najlepszym wyborem.

Jednak hosty InfiniBand można łączyć bezpośrednio ze sobą bez przełącznika. Wtedy na przykład ta opcja staje się dość interesująca: klaster dwóch komputerów połączonych przez infiniband. Taki superkomputer można zmontować w domu.

Ile kart graficznych potrzebujesz

W najpotężniejszym superkomputerze naszych czasów, Cray Titan, stosunek procesorów do „kart wideo” wynosi 1:1, czyli ma 18688 16-rdzeniowych procesorów i 18688 Tesla K20X.

W Tianhe-1A, chińskim superkomputerze opartym na xeonach, stosunek jest następujący. Dwa sześciordzeniowe procesory dla jednej karty graficznej Nvidia M2050 (słabszej niż K20X).

Takie podejście do naszych montaży przyjmiemy jako optymalne (bo taniej). To znaczy 12-16 rdzeni procesora na GPU. W poniższej tabeli pogrubioną czcionką zaznaczono praktycznie możliwe opcje, te najbardziej udane z mojego punktu widzenia podkreślono.

GPU Rdzenie 6-rdzeniowy procesor 8-rdzeniowy procesor 12-rdzeniowy procesor 16-rdzeniowy procesor
2 24 32 4
5
3
4
2
3
2
2
3 36 48 6
8
5
6
3
4
2
3
4 48 64 8
11
6
8
4
5
3
4

Jeśli system z już ustalonym stosunkiem procesorów / kart graficznych może „na pokład” więcej urządzeń obliczeniowych, to dodamy je, aby zwiększyć moc kompilacji.

Więc ile to kosztuje

Poniższe opcje to obudowa superkomputera bez pamięci RAM, dysków twardych i oprogramowania. Wszystkie modele korzystają z karty wideo AMD HD 7970 GHz Edition. Można go zastąpić innym, na żądanie zadania (na przykład xeon phi). Tam, gdzie pozwala na to system, jedna z edycji AMD HD 7970 GHz została zastąpiona trzygniazdowym AMD HD 7990 Devil 13.
Opcja 1 na płycie głównej Supermicro H8QGL-6F


Płyta główna Supermikro H8QGL-6F 1 1200 1200
procesor AMD Opteron 6344 4 500 2000
Chłodnica procesora Thermaltake CLS0017 4 40 160
Obudowa 1400W SC748TQ-R1400B 1 1000 1000
akcelerator graficzny AMD HD 7970 GHz Edition 3 500 1500
5860

Teoretycznie występ wyniesie około 12 Tflops.
Opcja 2 na płycie głównej TYAN S8232, klaster


Ta płyta nie obsługuje Opterona 63xx, więc używana jest 62xx. W tej opcji dwa komputery są połączone w klaster za pośrednictwem Infiniband x4 DDR z dwoma kablami. Teoretycznie prędkość połączenia w tym przypadku zależy od prędkości PCIe x8, czyli 32 Gb/s. Używane są dwa zasilacze. Jak je ze sobą skoordynować, można znaleźć w Internecie.
Ilość Cena £ Suma
Płyta główna TYAN S8232 1 790 790
procesor AMD Opteron 6282SE 2 1000 2000
Chłodnica procesora Noctua NH-U12DO A3 2 60 120
Ramka Antec Twelve Hundred Black 1 200 200
Zasilacz FSP AURUM PRO 1200W 2 200 400
akcelerator graficzny AMD HD 7970 GHz Edition 2 500 1000
akcelerator graficzny AX7990 6GBD5-A2DHJ 1 1000 1000
Adapter Infiniband X4 DDR Infiniband 1 140 140
Kabel Infiniband X4 DDR Infiniband 1 30 30
5680 (za jeden blok)

W przypadku klastra takich konfiguracji potrzebne są dwie, a ich koszt będzie $11360 . Jego pobór mocy przy pełnym obciążeniu wyniesie około 3000W. Teoretycznie wydajność wyniesie do 31Tflops.
Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
tak
Nie
Dziekuję za odpowiedź!
Coś poszło nie tak i Twój głos nie został policzony.
Dziękuję Ci. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!