StorageReview.com

Matematyka wydajności: testowanie sprzętu pod kątem obciążeń w celu uzyskania wyników zmieniających matematykę

Enterprise

Poniższy tekst pochodzi od Jorge Zunigi, niezależnego inżyniera budownictwa, którego pasją jest odkrywanie matematycznych receptur. Jorge współpracował z Jordanem nad wykorzystaniem serwerów i pamięci masowej w naszym laboratorium, aby dokonać fundamentalnych postępów w matematyce. Z przyjemnością uczestniczyliśmy w tych badaniach z Jorge, a nasz krótki film promocyjny, który opublikowaliśmy w mediach społecznościowych kilka tygodni temu, spotkał się z ogromnym wsparciem. 

 

Zobacz ten post na Instagramie

 

Post udostępniony przez StorageReview (@storagereview)

Od czasu tego filmu kontynuowaliśmy współpracę z Jorge, testując modele na stacjach roboczych, a następnie uruchamiając je w pełni na serwerze Supermicro E1.S , wyposażonym w dyski SSD KIOXIA XD7P E1.S. Gęstość platformy i możliwość umieszczenia tak wielu dysków blisko procesora sprawiają, że jest to doskonała platforma do tego rodzaju badań matematycznych.

Z dumą prezentujemy tutaj odkrycia Jorge’a. – Brian Beeler

Kontrola jakości poprzez testy obciążeniowe stanowi zdrową strategię określania rzeczywistej wydajności danego sprzętu. Wdrażanie tych strategii jest powszechną praktyką, polegającą na analizie danych liczbowych. W szczególności, podczas oceny rzeczywistej wydajności systemu z zachowaniem profesjonalnej jakości, dostępnych jest wiele narzędzi, które pozwalają uzyskać dokładne wyniki.

Jednym z nich, opracowanym w Austrii i jednym z moich ulubionych, jest BenchMate autorstwa Matthiasa Zronka , który zawiera kilka wymagających testów obciążeniowych dla dysków SSD, pamięci, procesorów graficznych i procesorów CPU. Inne pakiety do obliczeń o wysokiej wydajności, takie jak GPUPI Zronka, obliczają stałą π za pomocą procesora graficznego. Obliczanie miejsc dziesiętnych liczby π to standardowy i powszechny test, który często pojawiał się w specjalistycznej prasie naukowej i niektórych sieciach społecznościowych specjalizujących się w matematyce, gdy pobity został rekord znanych miejsc dziesiętnych. Obecnie znanych jest 100 bilionów miejsc dziesiętnych (10^14) liczby π.

W BenchMate dostępny jest również y-cruncher Alexa Yee , platforma umożliwiająca obliczenia wielordzeniowe wielu stałych matematycznych, w tym π, z niezwykle wysoką precyzją, zapewniając ogromną liczbę miejsc dziesiętnych, ograniczoną jedynie pojemnością systemu. W tym przypadku można zastosować kilka strategii, takich jak wybór stałej i obciążenie systemu w celu obliczenia wystarczająco dużej liczby miejsc dziesiętnych poprzez rejestrowanie czasu, jaki upłynął od jej wykonania. To doskonały sposób na ocenę i porównanie wydajności różnych, izolowanych konfiguracji.

Ponadto, jeśli zainstalowana moc obliczeniowa jest wystarczająca, można uruchomić konfigurację systemu, aby złamać znaną liczbę miejsc dziesiętnych danej stałej, wyzwanie podjęte w StorageReview z dużym sukcesem. Jak doniesiono w notatce z grudnia 2023 r., współpracowałem z zespołem StorageReview w celu poprawy znanej liczby miejsc dziesiętnych dla kilku stałych matematycznych. Nie tylko udało nam się pobić te rekordy, ale zrobiliśmy to w najkrótszym możliwym czasie. Historycznie rzecz biorąc, normalne było, aby to zrobić tygodnie lub miesiące. Współpracując z StorageReview, osiągnęliśmy to dla wszystkich stałych w ciągu zaledwie kilku godzin, a w niektórych przypadkach podwajając liczbę znanych miejsc dziesiętnych. Technologia dostępna w StorageReview umożliwiła skrócenie czasu o rzędy wielkości. Podsumowanie tych wyników i ich szczegóły można znaleźć tutaj.

Rekordowe wyniki ustanowione przez y-cruncher. Pełną listę rekordów ustanowionych przez y-cruncher można znaleźć na stronie numberworld.

Ta uwaga odnosi się właśnie do tych wyników. Aby uzyskać zapis z miejscami dziesiętnymi, należy działać w trzech warstwach.

Zaczynając od dołu, trzecia, ostatnia warstwa to konfiguracja sprzętowa. Oznacza to solidną instalację dysków SSD, wydajną pamięć RAM i najnowocześniejszy procesor wielordzeniowy. Wiele z tych szczegółów i zastosowaną konfigurację można zobaczyć online tutaj.

Druga, pośrednia warstwa, obejmuje oprogramowanie, czyli y-cruncher, stanowiące łącznik między warstwą początkową a końcową. Aby zwiększyć wydajność, y-cruncher utrzymuje różne pliki wykonywalne atomów, w zależności od typu procesora wielordzeniowego w systemie. Właściwy atom wykonujący jest automatycznie wybierany w momencie uruchomienia. Tester stanowiskowy umożliwia użytkownikowi wybór stałej i zastosowanie odpowiedniego algorytmu. Algorytm ten może być zintegrowany bezpośrednio z systemem lub, jeśli nie, wykorzystuje niestandardowe pliki konfiguracyjne do implementacji. Szczegóły dotyczące implementacji i użytkowania y-crunchera można znaleźć na stronie numberworld . Oprogramowanie y-cruncher jest stale rozwijane, podążając za falą nowych technologii sprzętowych.

Pierwsza, czyli początkowa warstwa, to algorytm, a raczej wzór matematyczny zaimplementowany do obliczenia stałej, która służy jako dane wejściowe dla programu y-cruncher. Każdą stałą można przedstawić za pomocą nieskończonej liczby wzorów, z których prawie wszystkie charakteryzują się niską wydajnością, w tym sensie, że wiele operacji matematycznych jest w stanie dostarczyć tylko kilka poprawnych cyfr.

Z drugiej strony mamy kategorię wzorów efektywnych. Wśród nich wyróżnia się szereg hipergeometryczny. W obrębie tego szeregu znajduje się kilka wzorów, które nadają się do bicia rekordów, umożliwiając obliczenie wielu ułamków dziesiętnych w stosunkowo krótkim czasie. W rzeczywistości, podstawowy wzór do obliczania liczby π, znany jako algorytm Chudnowskiego, jest jednym z wzorów hipergeometrycznych.

Współpracując ściśle z zespołem StorageReview, podjęliśmy również wyzwanie poszukiwania tych formuł, czyli działania na pierwszej warstwie w celu uzyskania bardzo wydajnego szeregu hipergeometrycznego, który umożliwi znalezienie najszybszej znanej formuły. Jak to osiągnąć? Potrzebna jest konfiguracja wielordzeniowa, najlepiej z jak największą liczbą rdzeni fizycznych, aby zastosować obliczenia rozproszone, ponieważ proces ten jest bardzo wymagający pod względem mocy obliczeniowej, ale można go łatwo zrównoleglić, co znacznie skróci czas obliczeń. Nowy wzór, jeśli się powiedzie, zostanie wykorzystany do pobicia rekordu znanych miejsc dziesiętnych dla tej stałej.

Użyliśmy 64-rdzeniowego procesora AMD Theadripper PRO 5995WX i przygotowaliśmy skrypty kodu na platformie PARI-GP, platformie Uniwersytetu w Bordeaux (Francja) dla teorii liczb, a także zaimplementowaliśmy algorytm wyszukiwania. Celem jest zidentyfikowanie zbioru 64-bitowych liczb całkowitych, które po wstawieniu do parametrów określonego szeregu hipergeometrycznego o znanej, ustalonej strukturze, dają poszukiwaną stałą. W tym celu wykorzystano algorytm LLL — wewnętrzny element PARI GP — który poszukuje liniowych zależności między liczbami całkowitymi o wielu precyzjach. Więcej szczegółów matematycznych można znaleźć na stronie mathoverflow.net.

Zaczęliśmy od stałej ζ(5) = 1.036927755143… ponieważ nie ma ona bardzo efektywnego, znanego wzoru, ale okazała się ona bardzo trudna do znalezienia. Nie udało nam się znaleźć znanego wzoru poza jednoznacznym szeregiem hipergeometrycznym, który, nawiasem mówiąc, nie jest wystarczająco szybki. Po kilku nieudanych tygodniach przeszliśmy na szereg hipergeometryczny dla logarytmów.

W tym przypadku odnieśliśmy sukces, udało nam się znaleźć najszybsze znane algorytmy dla stałych podstawowych log(2), log(3) i log(5), jak opisano w tym blogu.

Przeszukiwanie formuły Log(2). Wszystkie 64 rdzenie fizyczne są zajęte.


Zrzut ekranu. Znaleziono najszybszą serię dzienników (2).


Log(2) StorageReview G2 Formuła znaleziona

Po odkryciu formuł przygotowaliśmy skrypty dla y-crunchera. Jordan Ranous z Storagereview zaprojektował instalację, która miała przebić liczbę znanych miejsc po przecinku. W tym przypadku konfiguracja oparta była na dwóch procesorach Intel Xeon Platinum 8460H i 512 GB pamięci RAM SK Hynix.

Ta konfiguracja podwoiła rekord miejsc dziesiętnych dla log(2) do 3 bilionów cyfr w zaledwie 42.7 godziny. Drugi nowy algorytm — wzór G2 poniżej, również dostępny w StorageReview Lab — został zastosowany do weryfikacji miejsc dziesiętnych, co zajęło 58.3 godziny. Należy zauważyć, że poprzedni rekord z 2021 roku wymagał odpowiednio 98.9 i 61.7 dnia na obliczenie i weryfikację 1.5 biliona cyfr dziesiętnych. Oznacza to około 50-krotny wzrost wydajności w ciągu 3 lat.

Udało nam się wykonać wszystkie wymagane kroki, aby uzyskać użyteczne wyniki. Nowy wzór na stałą matematyczną, log(2), został odkryty za pomocą specjalnie zaprojektowanej instalacji. Wzór ten został następnie zastosowany w niestandardowej konfiguracji, aby pobić rekord liczby miejsc dziesiętnych znanych dla tej konkretnej stałej.

Obiekty StorageReview umożliwiły przeprowadzenie pełnego procesu przygotowywania testów laboratoryjnych w oparciu o obliczenia numeryczne, które poddają system dużym obciążeniom. Eksperymenty te z powodzeniem przetestowały dyski SSD, pamięć RAM i procesory w ekstremalnych warunkach.

– Jorge Zuniga

Skontaktuj się z StorageReview

Biuletyn | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Kanał RSS

Autor-gość