artykuły

Od Pentium D do Threadrippera − test 38 procesorów w zastosowaniach naukowych

BOINC, czyli superkomputer w każdym domu

99
2 marca 2019, 14:04 Wojciech Koczyk

I coś pośrodku, czyli BOINC

Powyższa nazwa nie jest w Polsce, niestety, zbyt dobrze znana, więcej osób kojarzy SETI będące jednym z projektów działających w ramach BOINC. Samej idei oraz jej znaczeniu poświęciliśmy czwarty odcinek Labotomii. Zdecydowanie warto go posłuchać, by lepiej rozumieć także ten artykuł. Najważniejsze kwestie oczywiście musimy wyjaśnić. BOINC (Berkeley Open Infrastructure for Network Computing) to oprogramowanie służące do tworzenia i koordynacji projektów działających w oparciu o obliczenia rozproszone. Jak to działa?

Przede wszystkim musimy mieć zagadnienie naukowe, które jesteśmy w stanie sprowadzić do drugiego ważnego elementu − aplikacji, która pomoże w jego rozwiązaniu. Następnie potrzebujemy komputerów, by przeprowadzić obliczenia. I tu jako alternatywa (a często jako uzupełnienie) dla superkomputerów pojawia się BOINC. Pozwala on użytkownikom rejestrować się, by ich podłączone do sieci komputery w wolnym od obciążenia czasie przeprowadzały wymagane operacje. Mechanizm jest podobny jak w przypadku wygaszacza ekranu − menedżer BOINC wykrywa brak aktywności użytkownika i obciążenia CPU, po czym włącza obliczenia.

W praktyce po rejestracji i instalacji menedżera BOINC użytkownik loguje się w projekcie, a reszta dzieje się już automatycznie. BOINC pobiera odpowiednią aplikację, a potem kolejne próbki danych (ang. WU − work unit). Te po przetworzeniu odsyłane są do serwera projektu, który weryfikuje ich poprawność i oczywiście w międzyczasie zapewnia kolejne WU do przeliczenia. Proces jest właściwie bezobsługowy z punktu widzenia wolontariusza i stosunkowo prosty z punktu widzenia naukowca. Oczywiście pod warunkiem, że jest on w stanie zapewnić aplikację obliczeniową i podzielić swój projekt na niewielkie porcje danych. Niejako z definicji takie rozwiązanie skaluje się niezależnie od liczby rdzeni czy wątków − aplikacja uruchamiana jest tyle razy, ile ma dostępnych wątków, a każda instancja pracuje nad własnym WU. Nielicznymi wyjątkami od tej zasady nie będziemy się tu zajmować, z tej właściwości skorzystamy w testach.

BOINC Manager, czyli aplikacja zarządzająca pracą − jak widać, komputer liczy trzy próbki WCG, jedną GPUGRID i jedną WUProp. Ta ostatnia jedynie zbiera statystyki pracy.

Takie podejście ma wiele różnego rodzaju zalet. Po pierwsze, pozwala zaoszczędzić ogromne pieniądze. Gdy słyszymy o budowie nowego superkomputera, czasem dociera do nas kwota, za którą powstał. Zawsze jest ona ogromna, ale tym, o czym zazwyczaj nie myślimy, jest fakt, że jest ona tylko małą częścią wszystkich kosztów. Przecież same maszyny nie wystarczą, trzeba jeszcze zapewnić im prąd (także w sytuacjach awaryjnych!), klimatyzację, obsługę techniczną, odpowiedni budynek z ochroną i tak dalej. Wszystko to składa się na TCO (Total Cost of Ownership) − wielokrotnie wyższy od samego kosztu zakupu maszyn. Po drugie, superkomputery budowane są w konkretnym celu, dość szybko przestają oferować optymalną wydajność w stosunku do pobieranej mocy i trzeba je wymieniać. To generuje koszty finansowe i środowiskowe. Po trzecie, oprogramowanie działające na takich maszynach znacznie różni się od domowego. Napisanie aplikacji działającej w ramach BOINC jest wielokrotnie prostsze i tańsze, co ma oczywiście ogromne znaczenie zwłaszcza dla mniejszych zespołów badawczych. Po czwarte zaś, mocy obliczeniowej jest zawsze za mało, a danych do przetworzenia coraz więcej.

Podgląd na aktualne obliczenia jednej z aplikacji WCG.

To tylko kilka z wielu powodów, dla których obliczenia rozproszone są ważną w nauce ideą. Komputer (a nawet smartfon) ma właściwie każdy z nas, prąd, internet i miejsce, w którym się znajdują − również. Największe koszty ponosimy więc niezależnie od tego, czy wspieramy BOINC, czy też nie. I choć wydawać by się mogło, że pojedynczy komputer pracujący przez kilka godzin dziennie nie ma większego znaczenia, to wrażenie to jest mylne. W dniu, w którym piszę te słowa, aktywnych w ramach BOINC jest 696 781 komputerów, a ich wkład w rozwój nauki jest ogromny.

Dyskusji na ten temat poświęcony jest wątek na naszym forum. Czas przejść do zapewne najważniejszej dla naszych czytelników rzeczy, czyli testu procesorów.

2