Globalny superkomputer
Coraz częściej do celów naukowych wykorzystuje się systemy rozproszone, które pozwalają na uzyskanie efektów podobnych do rezultatów pracy superkomputerów, tyle że znacznie mniejszym kosztem. Z technologii korzystają najbardziej zaawansowane instytucje badawcze, np. CERN, oraz mniejsze projekty, które działają dzięki wolontariuszom udostępniającym własne pecety w sieci.
Nauka w XXI wieku w coraz większym stopniu opiera się na symulacjach procesów fizycznych, chemicznych czy biologicznych. Niezbędne do takich obliczeń są superkomputery zbudowane z dziesiątków tysięcy wydajnych wielordzeniowych procesorów. Aby tyle maszyn mogło współpracować, spina się je ultraszybką siecią o przepustowości 10–100 Gbit/s oraz wyposaża w pamięć RAM o pojemności setek terabajtów. Niestety, takie urządzenia są drogie. Superkomputery z pierwszej dziesiątki listy Top 500 kosztują od 200 do 400 mln dolarów. Na takie systemy mogą sobie pozwolić nieliczne narodowe ośrodki obliczeniowe, które zajmują się prognozowaniem pogody, poszukiwaniem surowców naturalnych, badaniami nuklearnymi czy modelowaniem makroekonomicznym.
Obliczenia rozproszone
Obejściem problemu kosztów jest stworzenie maszyny rozproszonej, która pozwala na uzyskanie mocy obliczeniowej porównywalnej z największymi superkomputerami bez milionowych inwestycji w sprzęt. Jest to możliwe dzięki internetowi, który pozwala na połączenie w sieć wielu komputerów rozsianych po całym świecie i korzystanie z nich jak z jednej maszyny. Systemy rozproszone można zbudować na bazie zasobów przydzielonych w centrach superkomputerowych w różnych krajach, jak również z domowych pecetów należących do wolontariuszy, którzy „przekazują” moc obliczeniową swojego procesora na rzecz badań naukowych w czasie, gdy komputer jest w stanie bezczynności.
Zalew danych z CERN-u
Możliwości obliczeń rozproszonych (ang. distributed computing) są na tyle duże, że zastosowano je w jednym z najbardziej zaawansowanych projektów badawczych XXI wieku, jakim jest Wielki Zderzacz Hadronów (Large Hadron Collider, LHC) – akcelerator cząstek w laboratorium CERN pod Genewą. Także Polska współfinansuje badania i wysyła fizyków do pracy przy obsłudze eksperymentów. W owalnym tunelu o długości 27 km naukowcy rozpędzają m.in. wiązki protonów do prędkości zbliżonej do prędkości światła, a następnie zderzają je ze sobą. W efekcie powstają rozmaite cząstki elementarne, m.in. bozon Higgsa, ważny składnik materii, którego istnienie potwierdzono właśnie dzięki LHC.
Aby zarejestrować aktywność cząstek elementarnych, w kilku miejscach zainstalowane są potężne detektory: ALICE (A Large Ion Collider Experiment), ATLAS (A Toroidal LHC ApparatuS) czy CMS (Compact Muon Solenoid). Każdy z nich generuje potężny strumień surowych danych. Najwięcej, bo 4 GB/s, pochodzi z czujnika ALICE, który rejestruje dane ze zderzeń ciężkich jonów ołowiu. Z detektora ATLAS, który śledzi zderzenia protonów, informacje spływają z szybkością 1 GB/s, zaś podobny detektor CMS dostarcza kolejne 600 MB/s.
Największy system rozproszony
Dane z czujników zainstalowanych w LHC, podobnie jak informacje z matrycy aparatu cyfrowego, która również jest detektorem cząstek elementarnych (fotonów), bez komputerowej obróbki nie dostarczają czytelnego materiału do badań. Podobnie jak procesor w aparacie cyfrowym, komputery zaplecza informatycznego CERN muszą przekształcić sygnały z sensorów w obraz zdarzenia, który może zostać poddany naukowej interpretacji. Biorąc pod uwagę, że ze wszystkich detektorów w akceleratorze łącznie spływa aż 25 GB informacji na sekundę, CERN – mimo że ma do dyspozycji superkomputer – nie jest w stanie poradzić sobie z analizą danych. Naukowcy, którzy nie mają do dyspozycji wystarczającej mocy na miejscu, muszą więc polegać na obliczeniach rozproszonych. W tym celu powstał Worldwide LHC Computing Grid, najpotężniejszy rozproszony system obliczeniowy na świecie. Obecnie w jego skład wchodzą maszyny ze 170 lokalizacji w 41 krajach, także z Polski (m.in. w Świerku i Krakowie).
Rejestrowanie danych
Klaster obliczeniowy LHC składa się z węzłów uporządkowanych w czterech szeregach (Tier 0, 1, 2 i 3). Na najwyższym poziomie (Tier 0) znajduje się superkomputer w centrali CERN w Genewie, który dostarcza ok. 20 proc. mocy obliczeniowej. Jego zadaniem jest archiwizacja surowych danych oraz kontrola całego systemu rozproszonego. Właśnie tam w pierwszej kolejności trafiają informacje zarejestrowane w eksperymentach LHC. Zanim zostaną rozesłane do dalszego przetwarzania, centrum w CERN dokonuje wstępnej obróbki w celu wyselekcjonowania najbardziej obiecujących pod względem naukowym rozpadów cząstek elementarnych.
Algorytmy filtrują ok. 600 mln zarejestrowanych zdarzeń na sekundę w celu wybrania ok. 100 tys., które nadają się do przetworzenia cyfrowego. Kolejny program, który wykorzystuje aż 15 tys. rdzeni obliczeniowych, wybiera z tego zbioru 100–200 zdarzeń na sekundę, które mogą zawierać interesujący materiał do badań. Dane trafiają do archiwum CERN, w którym od początku działania akceleratora zebrano 200 petabajtów (milionów gigabajtów) informacji. Kopia zapasowa tego zasobu znajduje się w Budapeszcie, z którym CERN połączony jest światłowodem o przepustowości 100 Gbit/s.
Przetwarzanie informacji
Po wstępnej selekcji zdarzenia trafiają do trzynastu centrów obliczeniowych, które tworzą Tier 1 klastra Worldwide LHC Computing Grid. Tworzą go potężne narodowe ośrodki badań nuklearnych zlokalizowane w największych krajach europejskich (m.in. we Francji, Niemczech, Rosji, Włoszech), w Ameryce Północnej (w Kanadzie i USA) oraz Azji (w Korei Południowej i na Tajwanie). Dysponują one własnymi superkomputerami oraz systemami pamięci masowej (taśmami), które umożliwiają przetwarzanie informacji oraz przechowywanie części surowych danych z LHC. Z centralą CERN są połączone światłowodami o przepustowości 10 Gbit/s. W centrach szeregu Tier 1 są dokonywane główne obliczenia związane z interpretacją zdarzeń zarejestrowanych w akceleratorze. Gdy LHC nie pracuje (przez ok. sześć miesięcy w roku) i nie ma potrzeby filtrowania i archiwizacji zapisu zdarzeń w czasie rzeczywistym, do analizy wyników zaprzęgane jest także centrum superkomputerowe w CERN (Tier 0).
Pozyskiwanie danych naukowych
Maszyny znajdujące się na niższym poziomie (Tier 2), przeważnie zlokalizowane w uniwersytetach i instytutach naukowych, pełnią rolę pomocniczą w całym procesie. Udostępniają zasoby pamięci w celu przechowywania danych wygenerowanych w centrach wyższego rzędu, a także uruchamiają wyspecjalizowane aplikacje do ich interpretacji w celu uzyskania konkretnych rezultatów naukowych. Efekty są następnie udostępniane całej społeczności naukowej związanej z CERN, którą tworzy ok. 8000 fizyków na całym świecie.
Ostatnim, najniższym szeregiem (Tier 3) w Worldwide LHC Computing Grid są indywidualne stacje robocze, za pomocą których fizycy korzystają z danych CERN. Z ich punktu widzenia Worldwide LHC Computing Grid zachowuje się jak zunifikowany superkomputer. Po autoryzacji pozwala na zdefiniowanie zadania, które wymaga zasobów obliczeniowych, przestrzeni dyskowej, a także odpowiedniego oprogramowania. W zależności od aktualnej kondycji klastra system wyszukuje i alokuje fizyczne zasoby w podłączonych centrach obliczeniowych. Użytkownik sieci CERN nie musi się martwić tym, skąd pochodzą przydzielone zasoby, dzięki czemu może skupić się na aplikacjach naukowych.
Superkomputer z pecetów
Działanie Worldwide LHC Computing Grid to zasługa udostępnienia przez współpracujące z CERN państwa części swoich narodowych zasobów superkomputerowych. Wiele projektów badawczych nie może liczyć na takie wsparcie. Alternatywą jest tworzenie rozproszonych systemów obliczeniowych z komputerów ochotników, którzy udostępniają do celów naukowych swoje prywatne maszyny. Tę formę spopularyzował uruchomiony w 1999 roku projekt SETI@home. Nie była to pierwsza inicjatywa tego typu, ponieważ już w 1997 roku zaczął działać Distributed.net, który istnieje do dziś i specjalizuje się w testowaniu bezpieczeństwa algorytmów kryptograficznych. Jednak nośna idea poszukiwania życia pozaziemskiego sprawiła, że SETI@home zyskał masowe wsparcie – obecnie społeczność zgromadzona wokół projektu liczy 1,5 mln użytkowników. Dzięki temu, że podzielili się mocą obliczeniową swoich komputerów, można systematycznie analizować dane z największego na świecie radioteleskopu Arecibo. Są one przeszukiwane pod kątem śladów cywilizacji pozaziemskich. Obliczenia rozproszone pozwalają naukowcom korzystać z mocy ok. 700 teraflopsów, co odpowiada blisko połowie wydajności najpotężniejszego superkomputera w Polsce.
Jak działa SETI@home
Informacje z teleskopu Arecibo co kilka dni są przesyłane na dyskach do Uniwersytetu w Berkeley, który koordynuje projekt SETI@home. Tam dzieli się je na części obejmujące 107 sekund transmisji w wycinku pasma, by uzyskać pliki 0,35 MB. Paczki danych są następnie przesyłane do użytkowników, którzy pobrali pakiet SETI@home zastępujący im wygaszacz ekranu. Aplikacja uaktywnia się, gdy komputer jest bezczynny, i wykonuje obliczenia, których celem jest wykrycie transmisji pochodzących z nienaturalnych źródeł. W związku z tym, że system bazuje na amatorskim sprzęcie, algorytmy zakładają, że poszczególne węzły w sieci mogą zwracać błędne wyniki. Dlatego każdy pakiet danych przeliczany jest na kilku maszynach, a wyniki są weryfikowane przed zapisaniem w bazie.
Aplikacja do obliczeń BOINC
Za rozdzielanie zadań i weryfikację błędów w SETI@home odpowiada pakiet BOINC (Berkeley Open Infrastructure for Network Computing), opracowany specjalnie dla tego projektu w 2001 roku. Od tamtego czasu oprogramowanie stale się rozwija i ewoluowało w uniwersalną platformą dla obliczeń rozproszonych z użyciem komputerów osobistych. Dziś BOINC jest używany w dziesiątkach innych projektów z dziedziny nauk biologicznych (Folding@home), fizyki (Einstein@home) czy astronomii (MilkyWay@home). W chwili pisania artykułu wydajność platformy BOINC sięgała 22 petaflopsy, co na aktualnej liście superkomputerów, zapewniłoby by jej trzecią lokatę. Szybsze są tylko chińskie maszyny Sunway TaihuLight (93 petaflopsy), iTianhe-2 (33 petaflopsy), co najlepiej ilustruje możliwości obliczeń rozproszonych.
Przegląd interesujących projektów obliczeń rozproszonych
SETI@home
Projekt poszukiwania pozaziemskiej inteligencji poprzez analizę sygnałów z radioteleskopu. Celem jest zidentyfikowanie transmisji w wąskim paśmie, która wyraźnie odróżnia się od naturalnych sygnałów emitowanych przez ciała niebieskie oraz szumu elektronicznego generowanego przez źródła promieniowania elektromagnetycznego z Ziemi czy satelitów.
https://setiathome.berkeley.edu
Folding@home
Tworzenie białek jest jednym z najważniejszych procesów biochemicznym w naszych organizmach. Projekt Folding@home bada, w jaki sposób proces ten przebiega w przestrzeni 3D. Dzięki lepszemu zrozumieniu być może uda się lepiej poznać genezę chorób wywoływanych przez białka, takich jak choroby szalonych krów (BSD), Parkinsona czy Creutzfeldta-Jakoba.
http://folding.stanford.edu
Rosetta@home
W tym projekcie obliczenia rozproszone są wykorzystywane do przewidywania struktury białek. Celem jest wynalezienie nowych protein, które mogą pomóc w walce z najgroźniejszymi chorobami ludzkości – wirusem HIV, malarią, chorobą Alzheimera, wąglikiem czy różnymi odmianami nowotworów. Badane są także możliwości zwalczania wirusa opryszczki.
http://boinc.bakerlab.org/rosetta
Einstein@home
Projekt polega na analizie sygnałów z pulsarów zarejestrowanych przez Laserowe Obserwatorium Fal Grawitacyjnych LIGO. Niektóre pulsary o kształcie odbiegającym od sfery emitują fale grawitacyjne. Celem jest wykrycie śladów fal towarzyszącym tylko połączeniu czarnych dziur.
https://einsteinathome.org/pl/home
MilkyWay@Home
Przedmiotem badania są strumienie gwiazd wokół Drogi Mlecznej, pozostałości po karłowatych galaktykach rozerwanych przez oddziaływanie grawitacyjne wielkiego skupiska gwiazd. Celem projektu jest utworzenie mapy tych struktur, a także określenie ich dynamiki. Materiał do analizy pochodzi ze Sloan Digital Sky Survey, mapy nieba z danymi 500 mln ciał niebieskich.
https://milkyway.cs.rpi.edu/milkyway
PL Grid – polski system rozproszony
Platforma, która pozwala na zunifikowany dostęp do rozproszonego systemu bazującego na klastrach obliczeniowych działa i w naszym kraju. Za pomocą PL Grid naukowcy mogą wykonywać obliczenia przy użyciu specjalistycznego oprogramowania naukowego. System automatycznie przydziela zasoby, korzystając z dostępu do największych polskich superkomputerów takich jak Prometheus z ACK Cyfronet z Krakowa czy Eagle z Poznańskiego Centrum Superkomputerowo-Sieciowego. Łączna moc PL Grid to 3,642 petaflopsa (platforma ma 53 tys. rdzeni obliczeniowych), a pamięć dyskowa sięga 2,25 petabajta.
www.plgrid.pl
Rozproszone przetwarzanie równoległe
Na obliczeniach równoległych bazują zarówno systemy rozproszone, jak i współczesne superkomputery. W obydwu przypadkach dane dzieli się na fragmenty. Różnicą jest natomiast to, że w superkomputerze obliczenia są wykonywane w równolegle, a informacje mogą być wymieniane między węzłami niemal w czasie rzeczywistym. W systemie rozproszonym obliczenia wykonuje się na fragmentach zbioru danych, a wyniki agreguje w bazie danych. Z tego względu platformy, takie jak Worldwide LHC Computing Grid czy te bazujące na aplikacji BOINC nie mają wszystkich zalet superkomputera. Choć połączona moc obliczeniowa systemu rozproszonego jest porównywalna, a może nawet większa od typowych superkomputerów, to systemom rozproszonym brakuje jednej fundamentalnej cechy – mechanizmu szybkiej wymiany danych pomiędzy jednostkami obliczeniowymi. Ze względu na odległości opóźnienia sygnału są o kilka rzędów wielkości większe, co wyklucza działania na dużych zbiorach danych, które muszą być przetwarzane równolegle. Z tego względu na rozproszonych systemach nie liczy się na przykład numerycznej prognozy pogody czy symulacji procesów w reaktorach nuklearnych. Natomiast w zastosowaniach, które pozwalają na podzielenie zadania na fragmenty, rozproszony system poradzi sobie niemal tak dobrze, jak tradycyjny superkomputer.