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.
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).
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.
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.
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ą:
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:
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.
Organizacje korzystające z lokalnych środowisk HPC zyskują dużą kontrolę nad swoimi operacjami, ale muszą stawić czoła kilku wyzwaniom, takim jak:
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.
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
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.
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.
i Earl Joseph, Steve Conway, Bob Sorensen, Alex Norton. Hyperion Research Update: ISC19. https://hyperionresearch.com/wp-content/uploads/2019/06/Hyperion-Research-ISC19-Breakfast-Briefing-Presentation-June-2019.pdf