Superkomputer
Z Wikipedii, wolnej encyklopedii
Z Wikipedii, wolnej encyklopedii
Superkomputer – komputer znacznie przewyższający możliwościami powszechnie używane komputery, w szczególności dysponujący wielokrotnie większą mocą obliczeniową. Określenie pojawiło się w latach 60. XX w. w odniesieniu do komputerów produkowanych przez CDC i później przez przedsiębiorstwo Cray. Były one produkowane w dziesiątkach egzemplarzy i kosztowały po kilka milionów dolarów. Współcześnie większość superkomputerów to pojedyncze egzemplarze, zaprojektowane i wyprodukowane na zamówienie, zazwyczaj z seryjnie produkowanych procesorów i innych podzespołów. Koszty ich produkcji sięgają miliarda dolarów[1]. Od czerwca 2022 roku najszybszym superkomputerem na świecie jest Frontier, wybudowany w Oak Ridge National Laboratory w USA[2].
Postęp techniczny w dziedzinie informatyki powoduje, że każdy superkomputer staje się przestarzały w ciągu kilku lat i jego używanie przestaje być opłacalne. Maszyny zaliczane blisko trzydzieści lat temu do klasy superkomputerów miały wydajność porównywalną z dzisiejszymi urządzeniami przenośnymi. Przykładowo iPhone XS w teście LINPACK uzyskuje wynik 7,5 GFLOPS, co w 1993 roku stawiałoby go na 30. miejscu wśród najszybszych superkomputerów świata[3][4].
Superkomputery używane są głównie do przeprowadzania złożonych fizycznych symulacji, takich jak prognozowanie pogody, badanie zmian klimatu, modelowanie reakcji chemicznych, badanie aerodynamiki samolotów czy badania procesów starzenia broni termojądrowej.
Główną miarą wydajności obliczeniowej, stosowaną obecnie dla superkomputerów, jest liczba wykonywanych w ciągu sekundy operacji na liczbach zmiennoprzecinkowych w precyzji 64-bitowej (FLOPS). Podaje się ją często z odpowiednim przedrostkiem SI. Przykładowo teraflops („TFLOPS”) to 1012 FLOPS, a petaflops („PFLOPS”) to 1015 FLOPS. Mierzy się ją za pomocą odpowiednich testów wzorcowych. Najpopularniejszym takim testem jest LINPACK, mierzący szybkość rozwiązywania gęstych układów równań liniowych za pomocą metody Gaussa. Ponieważ wiele problemów stawianych superkomputerom daje się sprowadzić do rozwiązywania takich równań, test ten jest wygodną abstrakcją pomiaru efektywności w rozwiązywaniu takich problemów. Superkomputery uzyskujące najwyższe wyniki w tym teście są od 1993 roku publikowane na liście TOP500, aktualizowanej dwa razy w roku.
Inną miarą jest sprawność energetyczna superkomputera wyrażana w jednostkach FLOPS/wat, uwzględniająca zużycie prądu przez superkomputer. Najefektywniejsze według tej miary superkomputery z listy TOP500 są publikowane od 2007 roku na liście Green500.
Suma mocy obliczeniowej 500 najszybszych superkomputerów
Najszybszy superkomputer na świecie
Superkomputer na 500. miejscu
Poniższa tabela przedstawia światowe rekordy szybkości dla komputerów ogólnego przeznaczenia i lata, w których zostały ustanowione. Rekordy sprzed 1993 roku podane są na podstawie Computer History Museum[5], a od 1993 roku na podstawie listy TOP500[2].
W marcu 2020 roku podpisano umowę na budowę ponad dwueksaflopsowego komputera; klientem jest Departament Energii USA. Wykonawcą urządzenia El Capitan będą Cray wraz z Hewlett Packard Enterprise i Advanced Micro Devices przy współpracy z Lawrence Livermore National Laboratory[7][8]. El Capitan będzie służył do testowania broni termojądrowej i innych zbliżonych zadań.
Antycypowano, że przy obecnym postępie technicznym, pierwsze superkomputery o wydajności powyżej 1 eksaflopsa (1018, trylion FLOPS) powinny zostać zbudowane około 2019 roku[9][10]. Według Intel Corporation, obecny postęp techniczny w dziedzinie superkomputerów będzie zachowany przynajmniej do 2029 roku, kiedy powstaną komputery o szybkości zettaflopsów (1021, tryliard FLOPS)[11].
W 2012 roku rynek superkomputerów miał wartość 11,1 mld $. Największymi producentami byli IBM (32% rynku), Hewlett-Packard (30,8%) i Dell (13,5%). Poniższa tabela przedstawia wartość rynku superkomputerów w ostatnich latach[12]:
Segment rynku | 2011 | 2012 | Zmiana 2011/2012 |
---|---|---|---|
>500 000$ | 4,3 mld $ | 5,6 mld $ | +29,3% |
250 000$ – 499 000$ | 1,2 mld $ | 1,2 mld $ | -2,2% |
100 000$ – 249 000$ | 3,5 mld $ | 3,0 mld $ | -14,3% |
<100 000$ | 1,2 mld $ | 1,2 mld $ | +1,2% |
Suma | 10,3 mld $ | 11,1 mld $ | +7,7% |
Współczesne superkomputery uzyskują swoją wydajność dzięki połączeniu wielu tysięcy procesorów i zrównoleglaniu wykonywanych obliczeń. Z powodów ekonomicznych stosuje się procesory dostępne w produkcji masowej, ponieważ koszty zaprojektowania i wyprodukowania nowych typów procesorów są znacznie wyższe niż koszty produkcji superkomputerów[uwaga 2][13][14]. Aby umożliwić efektywne wykorzystanie mocy obliczeniowej tych procesorów, używa się specjalnie zaprojektowanej pamięci hierarchicznej i najwydajniejszych dostępnych połączeń do przesyłania danych pomiędzy nimi. Z powodu takiej architektury superkomputery mogą jednak osiągać wysoką wydajność jedynie dla obliczeń, które dają się w dużym stopniu zrównoleglić.
Superkomputery są używane w siłach zbrojnych, badaniach naukowych i w wielkich przedsiębiorstwach. Instytuty naukowe udostępniają czas swoich komputerów recenzowanym projektom naukowym, których lista jest często publicznie dostępna. Przykładowo na komputerach w ICM prowadzone są symulacje astrofizyczne, biochemiczne, hydrologiczne, epidemiologiczne i aerodynamiczne, jak również badania należące do teorii liczb i algebry liniowej[15].
Przykładowe zastosowania superkomputerów to:
Najszybsze superkomputery w Polsce, jednocześnie będące wśród 500 najszybszych superkomputerów na świecie, stan na listopad 2023 roku[24]:
Ponadto na Politechnice Gdańskiej uruchomiono superkomputer Kraken, który w grudniu 2023 roku miał osiągnąć moc obliczeniową 13,6 PFLOPS[25], co może uplasować go w pierwszej 100 kolejnego zestawienia[26].
W zależności od typu problemu obliczeniowego rozwiązanie go w sposób rozproszony może nakładać różne ograniczenia na architekturę i wydajność komunikacji pomiędzy poszczególnymi węzłami. W niektórych przypadkach superkomputery nie są najefektywniejszym rozwiązaniem i stosuje się rozwiązania alternatywne.
Istnieje szereg problemów obliczeniowych, które można podzielić na wiele niezależnych, mniejszych zadań do wykonania. Takie problemy można rozwiązywać przy użyciu dużej ilości zwykłych komputerów, podłączonych do Internetu. Powstało kilka projektów działających na tej zasadzie. Uczestnicy takich projektów ściągają na swoje komputery odpowiedni program, który uruchamia się w czasie, gdy komputer nie jest wykorzystywany i wykonuje zadania zlecone przez system zarządzający. W największych takich projektach biorą udział setki tysięcy ochotników, tworząc wirtualne superkomputery przewyższające wydajnością największe pojedyncze maszyny. Największe takie projekty to:
Farma serwerów to zbiór luźno powiązanych ze sobą serwerów, współpracujących w celu realizacji jednego zadania. Stosuje się je w różnorodnych zastosowaniach komercyjnych, takich jak wyświetlanie spersonalizowanych stron w wyszukiwarkach internetowych i serwisach społecznościowych, czy rendering filmów 3D. Moc obliczeniowa takich farm może znacznie przewyższać moce obliczeniowe największych superkomputerów. Google i Microsoft posiadają setki tysięcy serwerów[33], których łączna moc obliczeniowa jest szacowana na dziesiątki PFLOPS[34]. Również największe botnety mają większą moc obliczeniową niż liderzy TOP500 (np. Storm botnet składający się z 1,9 mln komputerów[35]).
Na liście TOP500 umieszczone są jedynie komputery ogólnego zastosowania, na których można efektywnie wykonywać testy LINPACK. Do konkretnych zastosowań buduje się jednak czasem urządzenia dedykowane, efektywne w rozwiązywaniu tylko jednego, wybranego problemu. Pozwala to uzyskać większą efektywność i zmniejszyć koszty, za cenę uniwersalności. Przykładem takich urządzeń są: