Tworzenie zoptymalizowanych architektur i aplikacji systemów obliczeniowych o wysokiej wydajności (HPC)

Nowe technologie i narzędzia programistyczne pozwalają użytkownikom, producentom systemów i oprogramowania w pełni wykorzystać potencjał architektur HPC i modeli obliczeniowych.

Elementy składowe systemu HPC

  • Projektowanie własnego systemu HPC może obejmować połączenie strategii obliczeń równoległych, klastrów obliczeniowych oraz przetwarzania sieciowego/rozproszonego.

  • Podejście oparte na chmurze hybrydowej, które polega na połączeniu lokalnej infrastruktury z zasobami w chmurze publicznej, pozwala na skalowanie pionowe dostosowane do indywidualnych potrzeb, zmniejszając ryzyko utraty sposobności.

  • Technologie Intel® HPC, czyli procesory, pamięć, wysokowydajne sieci Intel® oraz oprogramowanie, stanowią podstawę wysokowydajnych i wysoce skalowalnych systemów.

  • Otwarte programowanie oneAPI zgodne ze standardami w różnych architekturach umożliwia optymalne działanie aplikacji HPC w różnych heterogenicznych architekturach i modelach przetwarzania rozproszonego.

  • Biblioteki i narzędzia firmy Intel® pomagają klientom w pełni wykorzystać nasze systemy przez efektywne zastosowanie kodu i optymalizacji.

author-image

Według

Obecnie pomyślne wprowadzenie technologii HPC w dynamicznie rozwijającym się środowisku biznesowym zależy przede wszystkim od dobrze zdefiniowanej architektury HPC. Dostępne są różne projekty systemu HPC i zasoby wspomagające, by ułatwić wzrost wydajności oraz jej skalowalność, w zależności od obciążeń Twojej organizacji i celów w zakresie obliczeń.

Projektowanie systemów HPC

Architektura HPC może mieć różne oblicza w zależności od Twoich potrzeb. Organizacje mogą wybierać spośród różnych sposobów projektowania systemów HPC.

Obliczenia równoległe w różnych architekturach

Obliczenia równoległe w HPC umożliwiają klastrom HPC obsługę dużych obciążeń i dzielenie ich na oddzielne zadania obliczeniowe wykonywane w tym samym czasie.

Systemy te można zaprojektować z myślą o skalowaniu pionowym lub poziomym. Obliczenia w skalowaniu pionowym oznaczają przejmowanie zadań w pojedynczym systemie i dzielenie ich tak, by operacje mogły być wykonywane przez poszczególne rdzenie wykorzystujące możliwie jak najwięcej mocy serwera. Obliczenia w skalowalniu poziomym oznaczają z kolei przejmowanie tych samych zadań, dzielenie ich na wykonalne części i rozkładanie ich na wiele serwerów lub komputerów, które wykonują wszystkie operacje równolegle.

W związku z upowszechnieniem się intensywnych obliczeniowo obciążeń, takich jak symulacje, modelowanie czy zaawansowane analizy, zaczyna się tworzyć systemy HPC wyposażone nie tylko w CPU, ale i akceleratory. Dzięki akceleratorom programiści mogą tworzyć jeszcze więcej różnych konfiguracji.

Z pomocą programowania oneAPI w różnych architekturach programiści mogą utworzyć pojedynczą bazę kodów do wykorzystania w architekturach CPU, GPU i FPGA w celu zwiększenia produktywności i wydajności. OneAPI pozwala przyspieszyć wprowadzanie innowacyjnej technologii HPC przez wyeliminowanie takich ograniczeń, jak autorskie modele programowania, ułatwienie przyjęcia nowego sprzętu i zmniejszenie konieczności obsługi kodu. Zestawy narzędzi OneAPI oraz Intel® oneAPI obsługują istniejące otwarte standardy i języki używane przez programistów HPC, jak np. C++, SYCL, Fortran, OpenMP, MPI czy Python. Dowiedz się więcej o zestawach narzędzi oneAPI oraz Intel® oneAPI.

Klastry obliczeniowe

Klastry obliczeniowe dużej skali łączą wiele komputerów lub węzłów za pośrednictwem sieci lokalnej (LAN). Połączone ze sobą węzły funkcjonują jak pojedynczy komputer, który dysponuje najnowocześniejszą mocą obliczeniową. Klastry HPC są specjalnie zaprojektowane do rozwiązywania jednego problemu lub wykonywania jednego złożonego zadania obliczeniowego przez rozłożenie go na wielu węzłach w systemie. Klastry HPC mają określoną topologię sieci i umożliwiają organizacjom wykonywanie zaawansowanych obliczeń bez obniżania prędkości przetwarzania.

Przetwarzanie sieciowe i rozproszone

Przetwarzanie sieciowe w HPC oraz przetwarzanie rozproszone w HPC to tożsame architektury obliczeniowe. Obejmują one wiele komputerów połączonych ze sobą poprzez sieć i mających wspólny cel, na przykład rozwiązanie złożonego problemu lub wykonywanie obszernych zadań obliczeniowych. Podejście to jest idealne do przeprowadzania operacji, które można podzielić na odrębne części następnie rozpowszechniane w sieci. Każdy węzeł w systemie może wykonywać zadania niezależnie, bez konieczności komunikacji z innymi węzłami.

Kompatybilność powszechnych aplikacji HPC

Dzięki współpracy ze społecznością HPC firma Intel określiła najlepsze praktyki w zakresie wdrażania aplikacji HPC i systemów klastrowych zbudowanych w oparciu o architekturę Intel®. Specyfikacja platformy Intel® HPC obejmuje powszechne wymogi odnośnie do oprogramowania i sprzętu, których programiści mogą użyć do budowy podstaw rozwiązań klastrowych. System spełniający te wymogi posiada określony zestaw cech na poziomie aplikacji, w tym komponenty wykonywalne oprogramowania Intel®, które zapewniają najlepsze ścieżki wydajności. Specyfikacja platformy obejmuje informacje odnośnie konfiguracji i zgodności w zakresie szerokiej dziedziny powszechnych aplikacji społecznościowych.

Infrastruktura chmury HPC

Niegdyś wydajność systemów HPC była ograniczona przez wydajność i strukturę lokalnej infrastruktury. Dziś rozwiązania chmurowe pozwalają rozszerzyć lokalne możliwości o dodatkowe zasoby.

Najnowsze platformy do zarządzania chmurą umożliwiają zastosowanie podejścia opartego na chmurze hybrydowej, które łączy lokalną infrastrukturę z usługami chmury publicznej, sprawiając, że obciążenia mogą być obsługiwane bezproblemowo przez wszystkie dostępne zasoby. Zwiększa to również elastyczność w zakresie wdrażania systemów HPC, szybkość skalowania w górę oraz pozwala zoptymalizować całkowite koszty posiadania (TCO).

Zazwyczaj lokalny system HPC przekłada się na niższy TCO niż równorzędny system HPC zarezerwowany 24 godziny na dobę w chmurze. Rozwiązania lokalne zoptymalizowane pod kątem maksymalnej wydajności są jednak w pełni wykorzystywane jedynie w przypadku osiągnięcia maksymalnej wydajności. Przez większość czasu rozwiązania lokalne mogą być niewykorzystywane w pełni, co prowadzi do bezczynności zasobów. Obciążenie, które nie może zostać wykonane ze względu na brak dostępnej mocy, może skutkować utratą okazji.

Krótko mówiąc, rozszerzanie lokalnej infrastruktury HPC za pomocą chmury w celu obsługi pilnych zadań może ograniczyć ryzyko utraty istotnych okazji.

Firma Intel promuje korzystanie z innowacyjnych rozwiązań HPC w chmurze dzięki bliskiej współpracy z dostawcami usług w chmurze nad maksymalizacją wydajności, stosowaniem technologii rozszerzeń Intel® Software Guard Extensions (Intel® SGX) oraz Intel® Advanced Vector Extensions 512, a także uproszczeniem wdrażania. Dowiedz się więcej na temat naszych technologii HPC w chmurze i tego, jak mogą pomóc uzyskać lepsze wyniki.

Wybór procesorów HPC z myślą o skalowalności i wydajności

Dzięki rozległej wiedzy z zakresu technologii HPC firma Intel spełnia wymogi wydajności do obsługi przyszłych, najbardziej wymagających obciążeń. Skalowalne procesory Intel® Xeon® zapewniają bardzo wszechstronną platformę, którą można bezproblemowo skalować, by spełniała zróżnicowane wymogi wydajności kluczowych obciążeń HPC. Nasze przyszłe GPU dla centrów danych oparte na mikroarchitekturze Xe HPG będą doskonałym uzupełnieniem skalowanych procesorów Intel® Xeon® jeszcze bardziej zwiększającym wydajność.

Dzięki współpracy z ekosystemem firma Intel skoncentrowała się przede wszystkim na tworzeniu planów, które służą jako schemat do tworzenia zoptymalizowanych systemów HPC. Weryfikacja wymogów wydajności odbywa się za pomocą narzędzia Intel® Cluster Checker (część zestawu narzędzi Intel® oneAPI HPC), które dba o to, aby system klastrowy HPC był nienaruszony i skonfigurowany do obsługi równoległych aplikacji, jednocześnie zapewniając niezwykłą przenośność pomiędzy systemami HPC dostępnymi lokalnie i w chmurze.

Dzięki technologii Intel® CoFluent™ możesz przyspieszyć wdrażanie złożonych systemów oraz pomóc określić optymalne ustawienia poprzez modelowanie symulowanych interakcji sprzętu i oprogramowania.

Przełom w zakresie pamięci HPC

Pamięć to integralny komponent projektu systemu HPC. Pamięć może być czynnikiem ograniczającym wydajność Twojej pracy, ponieważ jest ona odpowiedzialna za krótkoterminowe przechowywanie danych w systemie. Technologia Intel® Optane™ pomaga w przezwyciężeniu wąskich gardeł w centrum danych poprzez wypełnianie luk w hierarchii przechowywania danych i pamięci, by móc kontynuować procesy obliczeniowe.

Pamięć o dużej przepustowości doskonale sprawdza się w zastosowaniu z GPU do programowania HPC i wkrótce będzie dostępna również dla procesorów x86. W wielu przypadkach technologie pamięci o dużej przepustowości przyspieszają pracę kodów zależnych od przepustowości pamięci bez zmian kodu. Ponadto może oba także zmniejszyć koszty pamięci DDR.

Skalowanie wydajności za pomocą struktur fabric HPC

Aby móc skutecznie skalować mniejsze systemy HPC, organizacje potrzebują wysokowydajnej sieci szkieletowej zaprojektowanej do obsługi klastrów HPC.

Wysokowydajne sieci Intel® (HPN) służą do osiągania zoptymalizowanej wydajności przy użyciu znanych i oszczędnych technologii Ethernet. Stanowią one kompleksowe rozwiązanie, które pozwala menedżerom klastrów zaspokoić potrzeby związane z systemami HPC i uczenia maszynowego. Istniejące popularne systemy HPC oraz oprogramowanie pośredniczące i architektury AI, w tym oneAPI, mogą być używane z Intel® HPN za pośrednictwem interfejsów OpenFabrics Interfaces (OFI, czy też libfabric) i pakietu Intel® Ethernet Fabric Suite.

Prostszy sposób na skuteczne korzystanie z HPC

Firma Intel służy dogłębną ekspertyzą z zakresu zastosowania systemów HPC, architektur oraz wymagań systemu HPC dostępnego lokalnie lub w chmurze, pomagając w ten sposób użytkownikom osiągnąć produktywność i maksimum wyników. Architektura HPC oparta na technologiach Intel® przygotuje Cię na wymagania systemów HPC, eksaskali i zetaskali przyszłości.

Co więcej, nasze zestawy narzędzi oneAPI pozwalają deweloperom uprościć programowanie HPC, co przekłada się na obsługę większej liczby rodzajów sprzętu i maksymalizację wyników biznesowych.

Często zadawane pytania

Często zadawane pytania

Architektura systemów obliczeniowych dużej skali odnosi się do różnych komponentów używanych do tworzenia systemów HPC oraz sposobu organizacji ich w pakiety. Często wśród komponentów znajdują się procesor, akcelerator FPGA lub GPU, pamięć, pamięć masowa i komponenty sieciowe. Węzły czy serwery różnych architektur współpracują ze sobą jako węzły równoległe lub klastrowe i tak przetwarzają złożone zadania obliczeniowe.

Każdy system HPC składa się z trzech kluczowych elementów — procesora, niezbędnego akceleratora (FPGA lub GPU) oraz właściwego połączenia sieciowego. Innym istotnym elementem jest pamięć o dużej przepustowości.