Zespół Kopalnie Krypto - wtorek 7 lutego 2023
Szybkie i wydajne plotowanie - tworzenie działek za pomocą GPU
Od pewnego czasu społeczność Chia Network eksperymentuje z plotowaniem przy pomocy kart graficznych. Okazuje się, że tworzenie działek w ten sposób jest nie tylko szybkie, ale również (wbrew pozorom) energooszczędne. Topowe karty graficzne oparte o magistralę PCIe 4.0 x16 potrafią wygenerować pojedynczy plot w ciągu 80 – 90 sekund. Jest to raptem połowa najszybszego zarejestrowanego czasu tworzenia działki za pomocą procesora. Są to ekscytujące wieści, ponieważ karty graficzne są bardziej dostępne i znacznie tańsze niż osprzęt serwerowy z najwyższej półki.
Osiągnięcie to obniża próg wejścia dla farmerów Chia, ponieważ plotowanie jest jedną z najtrudniejszych czynności w całym procesie. Tworzenie działek za pomocą kart graficznych umożliwia zredukowanie poboru prądu nawet trzykrotnie. Wymóg pamięci tymczasowej dla działki k=32 nie ulega zmianie. W przypadku pierwszej fazy generowania nieskompresowanych plotów potrzebne będzie około 256 GB.
Większość ploterów opartych o karty graficzne działa podobnie jak te bazujące na procesorach. Tabela jest dzielona na mniejsze części, po czym trafiają one do oddzielnych wiaderek. Każde z nich przekazywane jest następnie do GPU, które wykonuje adekwatne do danej fazy operacje sortowania, dopasowywania i kompresji. Obecna implementacja tego procesu jest niezwykle wydajna w przypadku nowoczesnych kart graficznych. Ograniczeniami mogą być jedynie osiągi GPU oraz przepustowość linii PCIe lub pamięci. Jeżeli koparka wyposażona jest w niewielką ilość pamięci RAM, konieczne jest stworzenie dodatkowych plików tymczasowych. Proces ten generuje większą ilość operacji dyskowych, tym samym spowalniając plotowanie nawet trzykrotnie. Nawet biorąc pod uwagę to ograniczenie generowanie działek za pomocą GPU będzie znacznie szybsze niż w przypadku CPU.
Wydajność GPU
Karty graficzne zyskują na wydajności z każdą kolejną generacją. Wpływ na to ma wzrastająca ilość jednostek obliczeniowych GPU oraz wydajność energetyczna krzemu. Najnowsze karty graficzne Nvidia (RTX 4090) posiadają niemal dwukrotnie wyższą moc obliczeniową od swoich poprzedników (RTX 3090). Skumulowany roczny wskaźnik wzrostu wydajności kart tej firmy mierzony w latach 2016 – 2022 wynosi 25%. Poniższy wykres przedstawia wzrost wydajności rdzeni CUDA w ciągu kolejnych lat.
Źródło: https://bit.ly/3jAm3QI
PCI Express (PCIe) jest dominującym na rynku złączem ogólnego przeznaczenia. Interfejs ten umożliwia podłączenie do płyty głównej komputera szybkich komponentów, takich jak jednostki obliczeniowe, magazyny danych lub karty sieciowe. W przeszłości na magistralę PCIe przeszły dyski SSD. Obecnie to samo można zaobserwować w przypadku standardu CXL. Umożliwia on podłączanie rozszerzeń pamięci, akceleratorów, kontrolerów sztucznej inteligencji oraz kart sieciowych 400 Gbit/s. Społeczność odpowiedzialna za specyfikację PCI szacuje, że jej przepustowość będzie się podwajać co trzy lata. Na rynku pojawiają się obecnie urządzenia w standardzie PCIe 5.0. Cechuje się on transmisją obustronną rzędu 64 GB/s w przypadku złącza x16. Poniższy wykres przedstawia przepustowość kolejnych wersji standardu PCI Express.
Źródło: https://bit.ly/3jAm3QI
Załóżmy, że mamy nieskończoną moc obliczeniową i oprogramowanie o perfekcyjnej wydajności. Ogranicza nas wyłącznie przepustowość magistrali PCIe. Aby ukończyć pierwszą fazę tworzenia pojedynczego plotu, karta graficzna musi pobrać około 500 GB danych, a następnie przekazać blisko 360 GB do procesora. Złącze PCIe 4.0 x16 umożliwi wykonanie tej operacji w około 20 sekund. W wersji 5.0 czas ten może zostać zredukowany nawet do 10 sekund. Od momentu wydania specyfikacji nowej odsłony standardu do jej masowej adopcji mijają około 3 lata. Bazowa specyfikacja PCIe 5.0 została opublikowana w 2019 roku. Aktualnie AMD oraz Intel zaczynają oferować serwerowe, oraz konsumenckie platformy obsługujące tę wersję. Pierwsze urządzenia PCIe 5.0, takie jak dyski SSD, pojawią się na rynku w tym roku. Poniższy wykres przedstawia czas potrzebny na transfer danych w przypadku pierwszej fazy plotowania w odniesieniu do poszczególnych wersji PCI Express.
Źródło: https://bit.ly/3jAm3QI
Tańsze i wydajniejsze plotowanie
Dzięki kartom graficznym plotowanie jest niemal trzykrotnie wydajniejsze niż w przypadku procesorów. Oznacza to, że farmerzy mogą zaplotować swoje dyski szybciej, redukując jednocześnie ilość zużytej energii. Wydajność generowania działek mierzona jest w kilowatach na zaplotowany terabajt. Poniższy wykres przedstawia moc pobieraną przez kartę graficzną podczas plotowania.
Źródło: https://bit.ly/3jAm3QI
Podsumowanie
Plotowanie za pomocą GPU jest znacznie szybsze i wydajniejsze niż tworzenie działek z wykorzystaniem CPU. Takie podejście ogranicza pobór prądu niemalże trzykrotnie. W znaczący sposób redukuje czas generowania plotów. To z kolei obniża próg wejścia do ekosystemu Chia i wpływa pozytywnie na poziom decentralizacji.
Nowa technologia plotowania stanowi także dobrą wiadomość dla górników, którzy zostali zmuszeni do zrezygnowania z kopania opartego o metodę Proof Of Work. Zalegające, problematyczne w odsprzedaży karty graficzne można wykorzystać ponownie na potrzeby blockchainu Chia!