Czy potrzebujesz maszyny, która może wykonać setki bilionów obliczeń zmiennoprzecinkowych na sekundę? A może potrzebujesz historii w barze o tym, jak superkomputer w twojej piwnicy uruchomił wyłącznik? Zbudowanie własnego klastra obliczeniowego o wysokiej wydajności, czyli superkomputera, jest wyzwaniem dla każdego eksperta, który ma wolny weekend i może spalić trochę gotówki. Technicznie rzecz biorąc, nowoczesny, wieloprocesorowy superkomputer to sieć komputerów współpracujących równolegle w celu rozwiązania problemu. W tym artykule pokrótce opisano każdy etap procesu, koncentrując się na sprzęcie i oprogramowaniu.
Kroki
Krok 1. Najpierw określ potrzebne komponenty sprzętowe i zasoby
Potrzebny będzie jeden węzeł główny, co najmniej tuzin identycznych węzłów obliczeniowych, przełącznik Ethernet, jednostka dystrybucji zasilania i szafa rack. Określ zapotrzebowanie na energię elektryczną, chłodzenie i wymaganą przestrzeń. Zdecyduj również, jaki adres IP chcesz dla swoich sieci prywatnych, jak nazwać węzły, jakie pakiety oprogramowania chcesz zainstalować i jaką technologię chcesz zapewnić możliwości przetwarzania równoległego (więcej na ten temat później).
- Chociaż sprzęt jest drogi, całe oprogramowanie wymienione w tym poradniku jest bezpłatne, a większość z nich to oprogramowanie typu open source.
- Jeśli chcesz zobaczyć, jak szybki byłby teoretycznie Twój superkomputer, skorzystaj z tego narzędzia:
Krok 2. Zbuduj węzły obliczeniowe
Będziesz musiał złożyć węzły obliczeniowe lub nabyć gotowe serwery.
- Wybierz obudowę serwera komputerowego, która maksymalizuje przestrzeń, chłodzenie i efektywność energetyczną.
- Możesz też skorzystać z kilkunastu używanych, przestarzałych serwerów - których całość przeważy sumę ich części, a zaoszczędzisz sporą sumę gotówki. Wszystkie procesory, karty sieciowe i płyty główne powinny być identyczne, aby cały system dobrze ze sobą współpracował. Oczywiście nie zapomnij o pamięci RAM i pamięci dla każdego węzła oraz o co najmniej jednym napędzie optycznym dla węzła głównego.
Krok 3. Zainstaluj serwery w stelażu
Zacznij od dołu, aby stelaż nie był ciężki. Potrzebujesz znajomego, który Ci w tym pomoże - gęste serwery mogą być bardzo ciężkie, a wprowadzenie ich do szyn, które utrzymują je w szafie, jest trudne.
Krok 4. Zainstaluj przełącznik Ethernet nad obudową serwera
Poświęć chwilę na skonfigurowanie przełącznika: zezwól na duże ramki o rozmiarze 9000 bajtów, ustaw adres IP na adres statyczny wybrany w kroku 1 i wyłącz niepotrzebne protokoły routingu, takie jak SMTP Snooping.
Krok 5. Zainstaluj PDU (jednostka dystrybucji zasilania)
W zależności od tego, ile prądu mogą potrzebować twoje węzły przy maksymalnym obciążeniu, możesz potrzebować 220 woltów do obliczeń o wysokiej wydajności.
Krok 6. Po zainstalowaniu wszystkiego możesz rozpocząć proces konfiguracji
Linux jest de facto systemem operacyjnym dla klastrów HPC - jest nie tylko idealnym środowiskiem do obliczeń naukowych, ale także nic nie kosztuje, aby zainstalować go na setkach, a nawet tysiącach węzłów. Wyobraź sobie, ile kosztowałoby zainstalowanie systemu Windows na wszystkich tych węzłach!
- Rozpocznij od zainstalowania najnowszej wersji systemu BIOS i oprogramowania układowego płyty głównej, które powinny być takie same na wszystkich węzłach.
- Zainstaluj preferowaną dystrybucję Linuksa na każdym węźle z graficznym interfejsem użytkownika dla węzła głównego. Popularne opcje to CentOS, OpenSuse, Scientific Linux, RedHat i SLES.
- Ten autor zdecydowanie zaleca korzystanie z rozkładu klastrów skał. Oprócz zainstalowania wszystkich narzędzi niezbędnych do działania klastra obliczeniowego, Rocks używa doskonałej metody „dystrybucji” wielu instancji siebie do węzłów bardzo szybko za pomocą rozruchu PXE i procedury „Kick Start” Red Hata.
Krok 7. Zainstaluj interfejs przekazywania komunikatów, menedżera zasobów i inne niezbędne biblioteki
Jeśli nie zainstalowałeś Rocks w poprzednim kroku, będziesz musiał ręcznie skonfigurować niezbędne oprogramowanie, aby włączyć mechanizmy obliczeń równoległych.
- Najpierw będziesz potrzebować przenośnego systemu zarządzania bashem, takiego jak Torque Resource Manager, który umożliwia rozbijanie i rozdzielanie zadań na wiele maszyn.
- Sparuj Torque z harmonogramem klastra Maui, aby zakończyć konfigurację.
- Następnie musisz zainstalować interfejs przekazywania komunikatów, niezbędny do tego, aby poszczególne procesy w osobnych węzłach obliczeniowych współdzieliły te same dane. OpenMP nie wymaga myślenia.
- Nie zapomnij o wielowątkowych bibliotekach matematycznych i kompilatorach do tworzenia programów do obliczeń równoległych. Czy wspomniałem, że powinieneś po prostu zainstalować Rocks?
Krok 8. Połącz w sieć węzły obliczeniowe
Węzeł główny wysyła zadania obliczeniowe do węzłów obliczeniowych, które z kolei muszą odesłać wynik, a także wysyłać do siebie komunikaty. Im szybciej tym lepiej.
- Użyj prywatnej sieci Ethernet, aby połączyć wszystkie węzły w klastrze.
- Węzeł główny może również działać jako serwer NFS, PXE, DHCP, TFTP i NTP w sieci Ethernet.
- Musisz oddzielić tę sieć od sieci publicznych, co zapewnia, że pakiety rozgłoszeniowe nie będą kolidować z innymi sieciami w Twojej sieci LAN.
Krok 9. Przetestuj klaster
Ostatnią rzeczą, jaką możesz chcieć zrobić przed udostępnieniem całej mocy obliczeniowej użytkownikom, jest przetestowanie jej wydajności. Test porównawczy HPL (High Performance Lynpack) jest popularnym wyborem do pomiaru szybkości obliczeniowej klastra. Będziesz musiał skompilować go ze źródeł ze wszystkimi możliwymi optymalizacjami, jakie oferuje kompilator dla wybranej architektury.
- Musisz oczywiście skompilować ze źródeł ze wszystkimi możliwymi opcjami optymalizacji dla swojej platformy. Na przykład, jeśli używasz procesorów AMD, skompiluj z Open64 z poziomem optymalizacji -0fast.
- Porównaj swoje wyniki na TOP500.org, aby porównać swój klaster z 500 najszybszymi superkomputerami na świecie!
Wideo - Korzystając z tej usługi, niektóre informacje mogą być udostępniane YouTube
Porady
- Aby uzyskać naprawdę wysokie prędkości sieci, spójrz na interfejsy sieciowe InfiniBand. Przygotuj się jednak na płacenie wyższych cen.
- IPMI może sprawić, że administracja dużym klastrem stanie się dziecinnie prosta dzięki KVM-over-IP, zdalnemu przełączaniu zasilania i nie tylko.
- Użyj Ganglia do monitorowania obciążeń obliczeniowych węzłów.