15 lat szukam kosmitów i nic
Właśnie dziś mija równe piętnaście lat jak rozpocząłem swoją przygodę z programem SETI@Home, przygodę która zawsze, choć czasem z przerwami krążyła wokół mojego komputerowego życia i miewałą całkiem humorystyczne i ciekawe epizody.
W zasadzie odkąd pojawiły się komputery 16‑bitowe ludzie postanowili je zaangażować do mniej lub bardziej poważnych wyzwań obliczeniowych. Być może takie projekty pojawiały się już wcześniej, w 8‑bitowych czasach, jednak to właśnie internet zmobilizował użytkowników komputerów do podejmowania różnych wyzwań.
RC5 Challenge - od tego się zaczęło
Mój pierwszy krok w środowisko obliczeń rozproszonych postawiłem w 1997 roku wraz z pojawieniem się projektu RC5 Challenge. Historia ta narodziła się wraz z oświadczeniem firmy RSA Security Inc. która stwierdziła, że szyfr RC5 jest na tyle zaawansowany, iż jego złamanie nie jest możliwe przy użyciu ówczesnego, pojedynczego komputera. RSA Security Inc. zapragnęła jednak udowodnić, że połączone siły wielu komputerów są w stanie złamać nawet tak zaawansowany szyfr i nie można polegać tylko na szyfrowaniu danych. Będąc pewnym swojej śmiałej teorii RSA Security Inc. ogłosiło, że użytkownik który zdoła rozszyfrować wiadomość zaszyfrowaną algorytmem RC5 otrzyma nagrodę w wysokości 10 tys. USD. Firma RSA Security Inc. udostępniła kilkanaście tak zaszyfrowanych wiadomości i rozpoczął się szaleńczy wyścig.
To czego nie może zrobić w rozsądnym czasie komputer wyposażony w procesor Intel 486, Pentium czy Pentium II może zrobić setka, tysiące, a nawet miliony takich komputerów. Tylko kto na ziemi posiadał setki PC z Pentium w domu ?
W tym miejscu na scenę weszła grupa distrubution.net, która opracowała specjalny program pobierający fragment zaszyfrowanej wiadomości i zajmujący się próbą jej rozszyfrowania. Wyniki były wysyłane na specjalny serwer i sprawdzane. Po rozszyfrowaniu wiadomości, nagroda miała być podzielona pomiędzy użytkowników którzy mieli szczęście i udało im się rozszyfrować fragmenty wiadomości.
Także i ja przystąpiłem wówczas do tego projektu, a na moim komputerze (Macintosh LC630) wyposażonym w procesor Motorola 680LC40 (bez koprocesora matematycznego, który znacznie przyspieszał obliczenia) taktowany 33 MHz pojawiła się charakterystyczna ikonka krowy. Nie pamiętam dokładnie ile trwało rozszyfrowanie pobranej próbki, z pewnością było to kilka dni wytężonej pracy mojego LC630. Wraz ze zmianą komputera zrezygnowałem z udziału w tym projekcie. Oczywiście wiadomość została rozszyfrowana, a szczęśliwi zwycięzcy obdarowanie zielonymi banknotami dolarowymi.
Distribution.net do dziś aktywnie bierze udział w łamaniu kolejnych, coraz lepszych metod szyfrowania wiadomości, a z tego co widzę, oprogramowanie umożliwiające podjęcie wyzwania nadal jest dostępne nawet na tak egzotyczne już platformy jak AmigaOS, Windows 3.1, OS/2, BeOS czy nawet Next na komputery z procesorami PowerPC.
Zostawmy jednak RC5 Challenge, gdyż moją uwagę przyciągnął zupełnie nowy projekt.
SETI@Home
W 1999 roku Uniwersytet w Berkeley rozpoczął bardzo śmiały projekt związany z poszukiwaniem obcych cywilizacji jaki jest prowadzony od 1963 roku. Właśnie 1 listopada 1963 roku został uruchomiony największy na świecie radioteleskop w Arecibo, który od tego czasu niemal nieprzerwanie nasłuchuje rozmaitych transmisji z kosmosu.
Oczywiście nie chodziło tu pierwotnie o poszukiwania cywilizacji pozaziemskich ale czysto naukowe badanie kosmosu na podstawie dźwięków, a raczej szumów jakie z niego dochodzą. To właśnie dzięki takiemu nasłuchowi ustalono, że okres rotacji Merkurego nie trwa 88 dni lecz zaledwie 59. Radioteleskop przyczynił się także do odkrycia podwójnych pulsarów i gwiazd neutronowych. Wśród mniej kosmicznych zadań radioteleskopu znalazły się też zadania związane z ustalaniem lokalizacji sowieckich stacji radarowych, których sygnały odbijały się od księżyca. Jednak jednym z ciekawszych zadań radioteleskopu w Arecibo było poszukiwanie powtarzających się sygnałów radiowych mogących pochodzić od obcej cywilizacji.
Nasłuchiwać niezwykle łatwo, ale ktoś musiał analizować zebrane dane. Oczywiście do tego zadania zaprzęgnięto komputery, szybko jednak się okazało, że komputery Uniwersytetu w Berkeley nie podołają zadaniu analizy kosmicznych szumów. Nie podołałyby temu połączone komputery wszystkich, amerykańskich uczelni. W 1995 roku David Gedye zaproponował, aby do analizy kosmicznych szumów wykorzystać komputery zwykłych użytkowników, których na świecie są przecież miliony. W ciągu 4 kolejnych lat przygotowano skomplikowaną infrastrukturę i oprogramowanie i projekt ruszył w 1999 roku.
3 maja 2000 roku odwiedziłem mojego kolegę, informatyka w jednej z krakowskich redakcji. Na ekranie jego komputera (PowerMac 8600) wyświetlały się zagadkowe dla mnie wówczas wykresy.
Uświadomił mnie on, na czym polega projekt SETI@Home, a ów magiczny wykres był wygaszaczem ekranu jaki się pojawiał gdy program rozpoczynał analizę szumów z kosmosu. Tym co mnie jednak przyciągnęło, zresztą nie tylko mnie bo wiele osób porzuciło RC5 Challenge na rzecz SETI@Home, była rywalizacja. Komputery użytkowników "liczyły" próbki danych dostarczanych przez Berkeley i odsyłały gotowe wyniki. Statystyki uwzględniały ilość przeliczonych bloków oraz czas jaki komputer poświęcił na ich przeliczenie. Tego samego dnia i ja przystąpiłem do projektu SETI@Home, a mój PowerMac 8100 z procesorem PPC 601 taktowanym 110 MHz przestał zasypiać.
Rywalizacja z kolegą nie miała wielkiego sensu, ja miałem tylko jeden, nie najszybszy komputer, a on władał redakcją wyposażoną w dziesiątki najnowocześniejszych Macintoshy. Podczas gdy mój poczciwy PowerMac potrzebował na przeanalizowanie próbki danych przynajmniej 50 godzin, przeciętny PowerMac G3 robił to w niecałe 20 godzin, a takich komputerów w redakcji było już kilka.
Wojna na komputery
W całej redakcji rozpoczęła się swoista rywalizacja na komputery. Kolega jako informatyk instalował wygaszacze SETI gdzie się tylko dało wmawiając opornym, że to program niezbędny wręcz do pracy komputerów. Szybko się okazało, że koledzy z fotoskładu też chcieli liczyć i rozpoczęło się swoiste podbieranie maszyn konkurencji. Jako człowiek zaprzyjaźniony z redakcją także brałem udział w tej "wojnie" korzystając z nieuwagi fotoskładu podmieniałem im dane użytkownika, aby szło na moje konto. Zabawa była przednia do czasu, gdy nie zwietrzył jej przełożony zespołów informatyków i nie wrzasnął:
Czy wyście powariowali ?!?!?!?!
Na szczęście i on szybko złapał kosmicznego bakcyla i wojna przybrała jeszcze gorsze oblicze. Łukasz (tak miał na imię szef zespołu) przyniósł z magazynu wszystko co chodzi i może liczyć i uruchomił na tym klienty SETI.
Tworzymy sojusze i stajemy się piratami
W sumie nie pamiętam od kiedy, ale udostępniono możliwość tworzenia drużyn. Zabawa polegała na tym, że użytkownicy konkurowali nie tylko ze sobą, ale mogli tworzyć zespoły które konkurowały wzajemnie. Walka zaczęła się z sąsiednią, zaprzyjaźnioną redakcją gazety sportowej. Redakcja ta miała co prawda słabsze komputery, lecz pracowało się w niej popołudniami, a u moich kolegów ciągle ktoś się szwendał przez 24 godziny i tym samym komputery realnie miały mniej czasu na liczenie (przypominam, że klient SETI był wygaszaczem ekranu).
Kolejnym szalonym pomysłem było instalowanie SETI gdzie się tylko da. Pomijam fakt, że udało mi się cichcem zainstalować SETI na komputerach domowych moich rodziców i na komputerach w firmie mojego ojca, mistrzostwem jednak było zainstalowanie ich w jednej z osiedlowych kafejek internetowych oraz w poczekalni serwisu BMW (trzy komputery). W BMW klient SETI pracował przez 2 lata nim ktoś się zorientował i go usunął !!
Czas biegł nieubłaganie, komputery stawały się oraz bardziej wydajne i serwery SETI czasami łapały zadyszki. Dlatego też opracowaliśmy specjalną metodę pobierania bloków na zapas. Zgrywało się je na dysk i podmieniało jeśli serwery SETI akurat się zawiesiły lub wykonywano na nich prace porządkowe. Zarządzający projektem widząc rosnącą moc obliczeniową owego światowego "superkomutera" z każdą aktualizacją zwiększali porcję analizowanych danych i poszerzali obszar badań danej próbki. Paradoksalnie, pomimo wzrostu mocy obliczeniowej czas przetwarzania bloków nie skracał się, a na starszych komputerach zaczynał się wręcz wydłużać.
Jak podaje wikipedia, w okresie od 1999 roku do 2005 łączna suma pracy wszystkich kopii programu wyniosła ponad 2,4 miliona lat !!
Projekt BOINC
W 2005 roku w związku z naprawdę ogromnymi możliwościami sprawdzonego już systemu wykonywania obliczeń rozproszonych, Unversytet Berkeley opracował program - BOINC, który nie tylko usprawniał sam proces obliczania i wymiany danych pomiędzy serwerem a użytkownikami, ale znacznie rozszerzył spektrum badania "kosmicznych szumów". Dodatkowym atutem była możliwość "wpięcia" do platformy BOINC innych projektów, zupełnie nie związanych z projektem SETI ani nawet z badaniem kosmosu. Projekty te mogą być dołączane przez rozmaite instytucje naukowe i nie zawsze muszą mieć charakter komercyjny. Tak więc w ramach platformy BOINC ruszyły między innymi badania związane z dekodowaniem DNA, analizą białek, analizą zmian klimatycznych na przestrzeni przyszłych lat, czy też badanami związanymi z rozmaitymi zagadnieniami z dziedziny fizyki.
Z jednej strony to dobre rozwiązanie, bo ludzie mogę wybrać projekt lub kilka projektów które chcą wspierać. Nie będę tu wymieniał i opisywał wszystkich, bo informacje takie bez trudu można znaleźć na witrynie BOINC. Faktem jest, że zmieniono system naliczania punktacji, a sami użytkownicy migrują po różnych projektach i duch dawnej konkurencji chyba już bezpowrotnie uleciał. Owszem, nadal istnieją drużyny które toczą walkę ale wydaje mi się, że mniej już w niej niegdysiejszego, pionierskiego entuzjazmu.
Sam projekt SETI nadal nieźle funkcjonuje lecz nie skupia się już tylko i wyłącznie na poszukiwaniu sygnału radiowego cywilizacji pozaziemskich. Przy okazji badania danych, dokonywane są także inne badania związane z gwiazdami, pulsarami i rozmaitymi innymi zagadnieniami związanymi z kosmosem, atrofizyką i sygnałami zeń dobiegającymi. Ponownie i w większym spektrum analizowane są także dane z ubiegłych lat, obejmujących jeszcze SETI klasyczne. Poprzedni, tak zwany klasyczny system SETI@Home korzystał tylko z radioteleskopu w Arecibo, który mógł nasłuchiwać zaledwie niewielką część kosmosu.
Obecnie projekt korzysta już z trzech radioteleskopów z których największym jest ciągle Arecibo zlokalizowany w leju krasowym w Portoryko. Drugi teleskop współpracujący z SETI znajduje się w Green Bank w USA. Wokół niego głoszono strefę radiowej ciszy, by nie dochodziło do pomyłek jakich było trochę ubiegłych latach, gdy jako potencjalne sygnały obcych interpretowano czasem zakłócenia generowane np. przez kuchenki mikrofalowe. Trzeci to wieloantenowy radioteleskop rozproszony LOFAR w Holandii. Europejski radioteleskop jest konstrukcją o tyle ciekawą, że jego elementy rozmieszczono w kilku europejskich krajach - Szwecji, Niemczech, Francji, Wielkiej Brytani i Holandii.
W 2009 roku moc obliczeniowa komputerów zaangażowanych w projekt SETI@Home wyniósł 759 TeraFLOPS podczas gdy najmocniejszy wówczas komputer Cray Jaguar osiągał 2331 TeraFLOPS. Klient BOINC nie korzysta już tylko i wyłącznie z samego procesora komputera, ale potrafi zaangażować także procesory kart graficznych.
Ciekawe doświadczenie spotkało mnie ostatnio, gdy uruchomiłem klienta SETI na iMac'u z dwurdzeniowym procesorem i3 taktowanym 3.07 GHz oraz kartą Radeon HD 4670, która także bierze udział w obliczeniach. Uruchomiłem go w dnu 5 kwietnia 2015 roku. Komputer jest mało używany, więc ma czas na wykonywanie obliczeń (a włączony musi być). Po dwóch tygodniach dostawiłem w podobnych warunkach MacPro z 12‑to rdzeniowym procesorem Intel Xeon 3.5 GHz oraz dwoma kartami AMD Radeon FirePro D500. Po dwóch dniach MacPro miał już więcej punktów niż iMac.
Zacząłem od zagadnień związanych z szyfrem, tak więc i skończę w tym duchu. Jeden z dostępnych projetów BOINC - Enigma@Home zajmuje się dekryptażem nierozszyfrowanych, trzech niemieckich depesz z okresu II wojny światowej, a zaszyfrowanych przy użyciu legendarnej maszyny Enigma. Jak wiele trudu i pracy w jej rozszyfrowanie poświęcono, chyba większość z was dobrze wie. Niemały jak nie kluczowy wkład w jej rozszyfrowanie mieli polscy matematycy - Marian Rejewski, Jerzy Różycki i Henryk Zygalski. Jak szybko dziś udaje się rozszyfrować niemieckie depesze ? Wbrew pozorom i olbrzymiej mocy komputerów, wcale nie jest to takie proste. Dotychczas udało się rozszyfrować dwie z nich, a prace nad trzecią są ciągle w toku choć projekt działa już od kilku miesięcy. Nie są to długie depesze i zawierają zapewne jedno bądź dwa zdania.
Wiadomość pierwsza:
Tekst oryginalny: MPSANXAASRPBMXMNJMJYYPUGPFZOYAEQIEVWIOXHRVJECKAFVASOIELMFYBYGABXMYWOIVIMKGBA Tekst rozszyfrowany: "AN LEITUNG VON U BOOT STUETZPUNKT WILHELMSHAVEN: FUNKTELEGRAMM EINS ZWO ZWO VIER HIER MIT RHV GELOEST" Tłumaczenie: [To] Control from Submarine Base Wilhelmshaven: Radio message 1224 solved with RHV
Wiadomość 2, nieco mniej lakoniczna:
tekst oryginalny: WRMKX IWRZK XKSNY PZZDQ XGLYB UBSUX TPBJV SWRNU HAOUC DUAWE NTBLQ OKNHS FLIRD NRTAL SAFQZ NPRQA ILXTM TNBIH MALKO DKRAD TQJTC WVWIJ IJFTA MNGQY GJREU GNXIB XHWUW WLJYK L Tekst rozszyfrowany: DIE VON KOLONNE ABTEILUNG FUENF NEUN DREI KOMMANDIERTEN ZWO LASTKRAFTWAGEN FUENF TONNEN SIND SOFORT ZUM PANZ GRUPPEN NACHSCHUBFUEHRER VIER NACH X PLYUSSA X PLYUSSA X IN MARSCH ZUSETZEN Tłumaczenie: THE TWO 5‑TON TRUCKS COMMANDED BY COLUMN DETACHMENT 593 ARE TO BE IMMEDIATELY DISPATCHED ON THE MARCH TOWARDS PLYUSSA TO THE SUPPLY-OFFICER OF PANZER GROUP 4.
Wiadomość ta dotyczy najprawdopodobniej zaopatrzenia dla wojsk oblegających Leningard w okolicy rzeki Plyussa.
Mimo iż sukcesy w dekodowaniu wiadomości Enigmy są bardziej realne niż wyłapanie sygnału od kosmitów, ciągle mam nadzieję, że w końcu kiedyś się uda. A może już się udało, tylko światowe rządy nie chcą się do tego przyznać ? Tak czy inaczej jakoś nie mogę sobie wyobrazić, by przynajmniej jeden z moich komputerów nie zajmował się szukaniem E.T. przy okazji generując uspokajający mnie wykres na ekranie.