Czym jest wysokowydajne przetwarzanie (ang. high-performance computing, HPC)?

Termin wysokowydajne przetwarzanie (ang. high-performance computing, HPC) odnosi się do praktyki agregowania mocy obliczeniowej w sposób, który zapewnia znacznie lepsze osiągi niż tradycyjne komputery i serwery. HPC, lub inaczej superkomputer, jest jak zwykły komputer, lecz o wyższej wydajności. Jest to sposób na przetwarzanie ogromnych ilości danych z bardzo dużą szybkością przy użyciu wielu komputerów i urządzeń pamięci masowej jako spójnej struktury. HPC umożliwia badanie i rozwiązywanie największych na świecie problemów z dziedziny nauki, inżynierii i biznesu.

Obecnie HPC wykorzystuje się do rozwiązywania złożonych problemów wymagających dużej wydajności, a organizacje coraz częściej przenoszą obciążenia HPC do chmury. HPC w chmurze sprawia, że proces rozwoju produktów i badań nad nimi staje się bardziej opłacalny, ponieważ wymaga mniejszej liczby prototypów, przyspiesza testowanie i skraca czas wprowadzenia na rynek.

Jak działa HPC?

Niektóre obciążenia, takie jak sekwencjonowanie DNA, są po prostu zbyt wymagające, by mógł je przetworzyć jeden komputer. Środowiska HPC lub superkomputerowe obsługują te duże i złożone zadania z wykorzystaniem pojedynczych węzłów (komputerów) pracujących razem w klastrze (połączonej grupie) w celu wykonania ogromnych ilości obliczeń w krótkim czasie. Proces tworzenia i usuwania tych klastrów jest często zautomatyzowany w chmurze, co pozwala zredukować koszty.

HPC można używać w przypadku wielu rodzajów obciążeń, ale dwa najczęściej spotykane to żenująco równoległe obciążenia (ang. embarrassingly parallel workloads) i ściśle zintegrowane obciążenia (ang. tightly coupled workloads).

Żenująco równoległe obciążenia

To problemy obliczeniowe podzielone na małe, proste i niezależne zadania, które mogą być wykonywane w tym samym czasie, często przy niewielkiej lub braku komunikacji między nimi. Na przykład firma może przesłać 100 milionów rekordów kart kredytowych do poszczególnych rdzeni procesora w klastrze węzłów. Przetwarzanie jednego rekordu karty kredytowej to małe zadanie, a gdy na klastrze znajduje się 100 milionów rekordów, te małe zadania mogą być wykonywane w tym samym czasie (równolegle) z zadziwiającą szybkością. Typowe przypadki użycia to symulacje ryzyka, modelowanie molekularne, wyszukiwanie kontekstowe i symulacje logistyczne.

Ściśle zintegrowane obciążenia

Zazwyczaj duże, współdzielone obciążenie jest dzielone na mniejsze zadania, które komunikują się ze sobą w sposób ciągły. Innymi słowy, poszczególne węzły w klastrze komunikują się ze sobą podczas wykonywania swoich zadań. Typowe przypadki użycia obejmują obliczeniową dynamikę płynów, modelowanie prognoz pogody, symulacje materiałów, symulacje kolizji samochodowych, symulacje geoprzestrzenne i zarządzanie ruchem drogowym.

Dlaczego HPC jest ważne?

HPC od dziesięcioleci stanowi kluczową część badań naukowych i innowacji branżowych. HPC pomaga inżynierom, badaczom danych, projektantom i innym naukowcom rozwiązywać duże, złożone problemy w znacznie krótszym czasie i przy niższych kosztach niż w przypadku tradycyjnego przetwarzania danych.

Główne korzyści płynące z HPC obejmują:

  • Mniejsza liczba testów fizycznych: HPC można wykorzystywać do tworzenia symulacji, co eliminuje potrzebę przeprowadzania testów fizycznych. Na przykład w przypadku testów wypadków samochodowych o wiele łatwiej i taniej jest wygenerować symulację niż przeprowadzić test zderzeniowy.
  • Szybkość: dzięki połączeniu najnowszych procesorów CPU, procesorów graficznych (GPU) i mechanizmów sieciowych o małych opóźnieniach, takich jak zdalny bezpośredni dostęp do pamięci (RDMA), z pamięcią lokalną i blokową typu all-flash, HPC umożliwia wykonywanie ogromnych ilości obliczeń w ciągu minut, a nie tygodni czy miesięcy.
  • Niższe koszty: szybsze odpowiedzi to mniej zmarnowanego czasu i wydanych pieniędzy. Ponadto dzięki HPC w chmurze nawet małe firmy i startupy mogą sobie pozwolić na obsługę obciążeń HPC, ponieważ płacą tylko za faktycznie wykorzystane zasoby i mogą je skalować w górę i w dół — zależnie od potrzeb.
  • Innowacje: HPC jest fundamentem innowacji w niemal każdej branży — to siła napędowa stojąca za przełomowymi odkryciami naukowymi, które poprawiają jakość życia ludzi na całym świecie.

Przypadek użycia HPC — jakie branże wykorzystują wysokowydajne przetwarzanie?

Firmy z listy Fortune 1000 w niemal każdej branży wykorzystują HPC, a popularność tego rozwiązania stale rośnie. Według firmy Hyperion Research do 2022 roku globalny rynek HPC ma osiągnąć wartość 44 miliardów USD.

Poniżej przedstawiamy niektóre branże korzystające z HPC oraz rodzaje obciążeń, w wykonywaniu których pomaga im HPC:

  • Lotnictwo: tworzenie złożonych symulacji, takich jak przepływ powietrza nad skrzydłami samolotów.
  • Produkcja: przeprowadzanie symulacji, np. jazdy autonomicznej, w celu wsparcia procesów projektowania, produkcji i testowania nowych produktów, czego efektem są bezpieczniejsze samochody, lżejsze części, wydajniejsze procesy oraz innowacje.
  • Technologia finansowa (fintech): przeprowadzanie złożonych analiz ryzyka i transakcji o wysokiej częstotliwości oraz modelowanie finansowe i wykrywanie oszustw.
  • Genomika: sekwencjonowanie DNA, analizowanie interakcji leków i przeprowadzanie analiz białek w celu wspomagania badań dotyczących pochodzenia.
  • Opieka zdrowotna: badania nad lekami, tworzenie szczepionek i opracowywanie innowacyjnych metod leczenia rzadkich i powszechnych chorób.
  • Media i rozrywka: tworzenie animacji, renderowanie efektów specjalnych do filmów, transkodowanie ogromnych plików multimedialnych i tworzenie ciekawych materiałów rozrywkowych.
  • Przemysł gazowy i naftowy: przeprowadzanie analiz przestrzennych i testowanie modeli zbiorników, aby przewidzieć, gdzie znajdują się zasoby ropy i gazu, oraz wykonywanie symulacji, np. przepływu płynów i przetwarzania danych sejsmicznych.
  • Handel detaliczny: analizowanie ogromnych ilości danych o klientach w celu zapewnienia bardziej ukierunkowanych rekomendacji produktów i lepszej obsługi klienta.
Jakie branże wykorzystują wysokowydajne przetwarzanie — miniatura wideo

Gdzie jest wykonywane HPC?

HPC można wykonywać lokalnie, w chmurze lub w modelu hybrydowym.

W przypadku lokalnego wdrożenia HPC firma lub instytucja badawcza buduje klaster HPC składający się z serwerów, rozwiązań pamięci masowej i innych elementów infrastruktury, którymi zarządza i które z czasem rozbudowuje. W przypadku wdrożenia HPC w chmurze dostawca usług chmurowych administruje i zarządza infrastrukturą, a organizacje korzystają z niej na zasadach modelu „pay-as-you-go”.

Niektóre organizacje korzystają z wdrożeń hybrydowych — zwłaszcza te, które zainwestowały w infrastrukturę lokalną, ale chcą też korzystać z szybkości, elastyczności i oszczędności, jakie zapewnia chmura. Mogą wykorzystywać chmurę do bieżącego obsługiwania niektórych obciążeń HPC i używać usług chmurowych doraźnie, gdy czas oczekiwania w rozwiązaniach lokalnych jest zbyt długi.

Gdzie jest wykonywane HPC — miniatura wideo

Jakie są wyzwania związane z lokalnymi wdrożeniami HPC?

Organizacje korzystające z lokalnych środowisk HPC zyskują dużą kontrolę nad swoimi operacjami, ale muszą stawić czoła kilku wyzwaniom, takim jak:

  • inwestowanie znacznego kapitału w sprzęt komputerowy, który musi być stale unowocześniany;
  • płacenie za bieżące zarządzanie i pokrywanie innych kosztów operacyjnych;
  • sięgający od kilku dni do kilku miesięcy czas oczekiwania na to, by użytkownicy mogli uruchomić swoje obciążenia HPC, zwłaszcza w przypadku gwałtownego wzrostu zapotrzebowania;
  • odkładanie na później modernizacji sprzętu komputerowego na bardziej wydajny i mocniejszy ze względu na długie cykle zakupowe, co spowalnia tempo badań i rozwoju biznesu.

Wdrożenia HPC w chmurze stają się coraz bardziej popularne, częściowo ze względu na koszty i inne wyzwania związane ze środowiskami lokalnymi, a Market Research Future przewiduje 21-procentowy wzrost światowego rynku w latach 2017–2023. Gdy firmy obsługują swoje obciążenia HPC w chmurze, płacą tylko za faktycznie wykorzystane zasoby i mogą szybko zwiększać lub zmniejszać ich ilość w zależności od zmieniających się potrzeb.

Aby zdobyć i utrzymać klientów, najlepsi dostawcy usług chmurowych zapewniają najnowocześniejsze technologie, które są zaprojektowane specjalnie z myślą o obciążeniach HPC, dzięki czemu nie ma ryzyka spadku wydajności w miarę starzenia się sprzętu lokalnego. Dostawcy chmury oferują najnowsze i najszybsze procesory oraz układy graficzne, a także pamięć masową flash o niskich opóźnieniach, błyskawiczne sieci RDMA i zabezpieczenia klasy korporacyjnej. Usługi są dostępne w trybie 24/7, a czas oczekiwania jest niewielki lub nie ma go wcale.

HPC Cloud — jakie są kluczowe kwestie przy wyborze środowiska chmurowego?

Dostawcy chmury nie są sobie równi. Niektóre chmury nie zostały zaprojektowane z myślą o HPC i nie są w stanie zapewnić optymalnej wydajności w okresach największego obciążenia. Cztery cechy, które należy wziąć pod uwagę przy wyborze dostawcy chmury, to

  • Najwyższa wydajność: Twój dostawca chmury powinien posiadać i utrzymywać procesory, pamięć masową i technologie sieciowe najnowszej generacji. Upewnij się, że oferują one dużą pojemność i najwyższą wydajność, która dorównuje wydajności typowych wdrożeń lokalnych lub ją przewyższa.
  • Doświadczenie w pracy z HPC: dostawca chmury, którego wybierzesz, powinien mieć duże doświadczenie w obsłudze obciążeń HPC dla różnych klientów. Ponadto jego usługa chmurowa powinna być zaprojektowana w taki sposób, aby zapewniać optymalną wydajność nawet w okresach największego obciążenia, np. podczas uruchamiania wielu symulacji lub modeli. W wielu przypadkach instancje komputerów typu bare metal zapewniają bardziej spójną i wyższą wydajność w porównaniu z maszynami wirtualnymi.
  • Elastyczność: Twoje obciążenia HPC muszą działać w chmurze dokładnie tak samo, jak w przypadku rozwiązań lokalnych. Gdy przeniesiesz obciążenia do chmury w niezmienionym stanie w ramach operacji lift-and-shift, symulacja, którą przeprowadzisz w przyszłym tygodniu, musi dać wynik spójny z tą, którą przeprowadzono dekadę temu. Jest to niezwykle ważne w branżach, w których porównania pomiędzy poszczególnymi latami muszą być dokonywane przy użyciu tych samych danych i obliczeń. Na przykład obliczenia z dziedziny aerodynamiki, motoryzacji i chemii nie zmieniły się, więc i wyniki nie mogą się zmienić.
  • Brak ukrytych kosztów: usługi chmurowe są zwykle oferowane w modelu pay-as-you-go, więc upewnij się, że dokładnie wiesz, za co będziesz płacić za każdym razem, gdy skorzystasz z usługi. Wielu użytkowników jest często zaskoczonych kosztami przepływu danych wychodzących, czyli tzw. egress — być może wiesz, że musisz płacić za każdą transakcję i za żądania dostępu do danych, ale koszty egress można łatwo przeoczyć.

Uzyskiwanie wyników, których oczekujesz

Ogólnie rzecz biorąc, najlepiej jest szukać usług chmurowych typu bare metal, które oferują większą kontrolę i wydajność. W połączeniu z klastrową siecią RDMA przetwarzanie HPC typu bare metal zapewnia wyniki identyczne z tymi, jakie można uzyskać przy użyciu podobnego sprzętu lokalnego.

Jaka jest przyszłość HPC?

Przedsiębiorstwa i instytucje z różnych branż zwracają się ku HPC, co przyczynia się do wzrostu, który będzie trwał jeszcze przez wiele lat. Oczekuje się, że globalny rynek HPC wzrośnie z 31 miliardów USD w 2017 roku do 50 miliardów USD w 2023 roku. Ponieważ wydajność chmury stale rośnie i staje się ona jeszcze bardziej niezawodna, można się spodziewać, że duża część tego wzrostu będzie związana z wdrożeniami HPC w chmurze, które pozwolą firmom uwolnić się od konieczności inwestowania milionów w infrastrukturę centrum danych i związanych z tym kosztów.

W najbliższej przyszłości prawdopodobnie dojdzie do połączenia big data i HPC — te same duże klastry komputerów będą wykorzystywane do analizy big data, przeprowadzania symulacji i obsługi innych obciążeń HPC. Gdy te dwa trendy się zbiegną, rezultatem będzie większa moc obliczeniowa i pojemność, co doprowadzi do jeszcze bardziej przełomowych badań i innowacji.