Łukasz Świerczewski
Fig. 1. Wycinek wizualizacji grafowej (punkty sieciowe połączone krawędziami reprezentującymi możliwy przepływ danych punkt – punkt
W ciągu ostatnich miesięcy we wszystkich praktycznie serwisach informacyjnych i społecznościowych dominującym tematem jest pandemia COVID-19. Świat nie przewidywał pojawienia się tak niespodziewanego, cichego i przebiegłego wroga. Nie byliśmy przygotowani na widoczny obraz rzeczywistości, jaki przedstawia nam się mediach. COVID-19 w znaczącym stopniu odbił się na wielu obszarach naszej działalności. Nowe zagrożenie wymusiło na szkołach, uczelniach, a także firmach przejście w bardzo dużym stopniu do działań prowadzonych zza biurek w naszych domach.
Nie jestem biologiem ani osobą z wykształceniem medycznym. Wirusy w mojej dotychczasowej pracy inżynierskiej zawsze atakowały komputery, a nie bezpośrednio ludzi. Jednak dynamiczna zmiana globalnej sytuacji i konieczność adaptacji całych społeczeństw do nowych warunków wpływa także na obszary technologiczne. Spędzając całe dnie w domach, surfując po stronach internetowych, robiąc zakupy online i oglądając filmy, częściej niż zwykle dajemy się pochłaniać rzeczywistości wirtualnej. Komunikujemy się, dane przepływają dzięki falom radiowym, impulsom elektrycznym w ośrodku jakiegoś medium transmisyjnego lub coraz częściej dzięki fotonom w rdzeniu światłowodu. Nawet najlepszą sieć komputerową może przygnieść zbyt duża fala ruchu, co momentami możemy zaobserwować.
W „Forum Akademickim” (7-8/2014) został opublikowany mój artykuł pt. BOINC – nie tylko obliczenia. Pod skrótem BOINC (pełne rozwinięcie z angielskiego: Berkeley Open Infrastructure for Network Computing) kryje się znana platforma do obliczeń rozproszonych z wykorzystaniem zasobów komputerowych połączonych siecią internetową. Internauci mogą udostępnić zasoby obliczeniowe naukowcom, którzy realizują swoje prace w ramach różnych projektów BOINC. Projekty te pod względem tematycznym są bardzo różnorodne – od czystej matematyki (http://www.primegrid.com), przez modelowanie problemów cząstek elementarnych (https://lhcathome.web.cern.ch) i poznawanie praw rządzących czarnymi dziurami (https://universeathome.pl), do zagadnień typowo biologicznych, medycznych lub bezpośrednio związanych z farmacją (http://boinc.bakerlab.org/rosetta). Wraz z zaognianiem się sytuacji związanej z COVID-19 zespoły naukowe z całego świata zaczęły wykorzystywać także projekty BOINC do wsparcia obliczeń wykonywanych w celu opracowania szczepionki (https://boinc.bakerlab.org/rosetta/forum_thread.php?id=13702). Jest to niezwykle ciekawy wątek – każdy internauta może dołożyć drobną cegiełkę oraz wspomóc walkę ze wspólnym wrogiem.
Jako pasjonat od bardzo wielu lat związany z BOINC i innymi metodami przetwarzania danych we wrześniu 2019 roku uruchomiłem własny projekt rozproszony. Projekt ten w momencie pisania artykułu nie realizuje jeszcze zadań typowo obliczeniowych – tak jak większość systemów BOINC. Głównym zadaniem zaprojektowanym na platformie w początkowej fazie było mapowanie oraz monitorowanie struktur sieciowych we współczesnym internecie.
Wychodząc od źródła, dane przesyłane w internecie pokonują punkt po punkcie kolejne urządzenia sieciowe, aż trafią do zdefiniowanego celu. Jeżeli wchodzimy z naszego komputera na stronę internetową pod adresem forumakademickie.pl (nasz cel), to dane w zależności od aktualnej sytuacji mogą przepływać przez router domowy, następnie wpadają na pierwsze urządzenie – już po stronie naszego operatora telekomunikacyjnego – skąd skaczą dalej, aż osiągną swój cel. Droga powrotna z odpowiedzią wcale nie musi przebiegać przez te same punkty. Struktura sieci i przepływu danych we współczesnym internecie może być bardzo skomplikowana, a my – jako obserwatorzy – często nie wszystkiego jesteśmy świadomi. Część urządzeń w sieci będzie dla nas widoczna, część natomiast może być dla nas „przeźroczysta”. Z założenia jednak na każdym punkcie transmisji (teoretycznie zresztą także na każdym odcinku – nawet np. światłowodu) występuje pewne opóźnienie, które odczuwamy podczas korzystania z sieci.
Koncepcja sieci komputerowych była początkowo tworzona z myślą o zastosowaniach militarnych. Pierwsza sieć rozległa – ARPANET (ang. Advanced Research Projects Agency Network), która jest bezpośrednim poprzednikiem internetu, powstała jako inicjatywa Departamentu Obrony USA. Koncepcja technologiczna zakładała możliwość decentralizacji dowodzenia w przypadku wojny nuklearnej. Przesyłane informacje powinny docierać za pośrednictwem sieci komputerowej, bez względu nawet na stosunkowo duże straty i uszkodzenia w infrastrukturze kraju. Jeżeli jedna możliwa ścieżka trasy pakietów jest nieosiągalna lub przeciążona, algorytmy sieciowe automatycznie przeniosą ruch na inną – teoretycznie lepszą w nowych warunkach – ścieżkę.
Współcześnie rozwiązania, które zostały pierwotnie zaprojektowane w okresie zimnej wojny, bronią już nie tylko wysokiego szczebla bezpieczeństwa narodowego, lecz umożliwiają nam także redukcję zagrożenia w czasie pandemii.
Projekt iThena (https://root.ithena.net/usr/), który uruchomiłem we wrześniu 2019 roku, w miarę swoich możliwości mapuje internet za pomocą wielu rozproszonych stacji klienckich. W dniu pisania artykułu (tj. 13 kwietnia 2020 r.) w systemie iThena zarejestrowanych było ponad 5600 komputerów. Do projektu może dołączyć każdy, a uzyskane dane z założenia mają być otwarte. Fig. 1. przedstawia drobny wycinek wizualizacji grafowej struktury sieci internetowej wygenerowanej przez iThena.
Budując system iThena kompletnie nie spodziewałem się wystąpienia takich zmian na arenie międzynarodowej. Nadzwyczajne warunki i duży dynamizm sprawiają, że system – z rozproszonych po całym świecie stacji – może otrzymywać znacznie ciekawsze informacje niż w przypadku ogólnej stagnacji. Z analitycznego punktu widzenia dane te mogą być wykorzystane do poszukiwania odpowiedzi na wiele pytań. Najprostszymi z nich mogą być: Co zrobić, aby sieć była bardziej odporna na problemy związane z aktualnymi wyzwaniami i gdzie są najsłabsze ogniwa? oraz: Czy wystąpiły w tym okresie jakieś szczególne anomalie?
Oczywiście nie jest to pierwszy tego typu projekt. Jedną z większych takich inicjatyw w ciągu ostatnich lat było rozwiązanie DIMES projektowane przez naukowców z Uniwersytetu w Tel Awiwie. W podstawowym zakresie iThena ma takie same możliwości i cele jak DIMES. Projekt może wygenerować „migawkę” grafu połączeń sieciowych (na poziomie szczegółowości od routerów, przez bardziej uogólnione punkty PoP, aż do AS – patrz ramka) z uwzględnieniem występowania w czasie tej „migawki” opóźnień i ewentualnych błędów na poszczególnych relacjach połączeń. Dysponując „migawką” struktury z danego odcinka czasowego możemy skonfrontować aktualne trasowanie w odniesieniu do trasy teoretycznie najlepszej, uzyskanej za pomocą metod matematycznych (np. poszukiwanie najkrótszej ścieżki w grafie z wagami) lub trasy mogącej wydawać się za dobrą, którą otrzymaliśmy w wyniku obliczeń ewolucyjnych (np. algorytmy probabilistyczne, a w tym także algorytmy mrówkowe). Taka analiza na tym swego rodzaju „organizmie żywym”, jakim jest internet, nie jest prosta. Często nie mamy pełnej i pewnej wiedzy o obecnej strukturze sieciowej. W dynamicznej sytuacji problematyczne może być nawet wyznaczenie geolokalizacji punktów tranzytu danych z dostatecznie dużą precyzją.
Innym ciekawym obszarem są nieprawidłowości w routingu. W rzeczywistym świecie błędy w trasowaniu mogą być błędami ludzkimi, które popełnili przypadkowo technicy lub przeciwnie – działaniem celowym. Jeżeli np. jesteśmy w Polsce i wchodzimy na stronę forumakademickie.pl (serwer www także zlokalizowany w Polsce), a trasa przepływu naszych danych nie biegnie w sposób dość racjonalny, lecz przebiega przez różne azjatyckie punkty (tylko przykład), to często można uważać to za pewną anomalię. Mając spójny obraz naszej cyberprzestrzeni – dzięki danym z projektu – możemy takie anomalie próbować wykryć. Poszukiwania mogą często przypominać szukanie igły w stogu siana. Mając opracowaną dobrą koncepcję działania i dane o odpowiedniej rozdzielczości, można jednak znaleźć najmniejszą igłę w największym stogu, co jest jednym z zasadniczych założeń projektu iThena.
Czas pandemii COVID-19 jest dla nas wszystkich bardzo trudny, jednak – mimo wszelkich problemów – z punktu widzenia naukowego i technicznego jest to okres, w którym możemy bardzo dużo się nauczyć i wiele sprawdzić eksperymentalnie w zmienionym środowisku.
Z całą pewnością stoi przed nami wiele wyzwań. Nie wiadomo do końca, na ile obecnie kształtująca się sytuacja wpłynie na przyszłość – na nas wszystkich i naszą cywilizację, w której internet odgrywa istotną rolę. W takich momentach jednak szczególnie powinniśmy współpracować i udzielać sobie wsparcia. Mimo że artykuł ten został napisany przez inżyniera, a co za tym idzie ma mocne tło technologiczne, to słowa te można odnieść także do innych obszarów życia społeczno-gospodarczego.
Ze swojej strony, jako architekt i administrator rozwiązań systemowych działających w domenie rozproszonej BOINC, chciałbym podziękować wszystkim użytkownikom za poświęcony czas i nieocenioną pomoc.
PoP (ang. Point of Presence) jest brzegowym punktem udostępniania usług we współczesnej sieci telekomunikacyjnej. Składa się z wielu urządzeń, takich jak serwery, routery, przełączniki sieciowe, multipleksery oraz inne urządzenia sieciowe i to w nim znajduje się inteligencja / logika do prowadzenia usług. Tego typu punkty bardzo często zlokalizowane są w punktach wymiany danych i centrach kolokacji.AS – system autonomiczny (ang. Autonomous System) zbiór adresów sieci IP występujących pod wspólną kontrolą administracyjną, w którym w spójny sposób jest utrzymywany schemat trasowania (wyznaczania trasy i przesyłania nią pakietów). Przykładowo pod oznaczeniem AS12324 znajduje się system autonomiczny LUBMAN-EDU-AS Poland, Lublin. AS może zawierać w sobie wiele punktów PoP.
Mgr inż. Łukasz Świerczewski jest absolwentem studiów magisterskich (kierunek informatyka) na Wydziale Matematyki, Fizyki i Informatyki UMCS w Lublinie. Doktorant w Instytucie Badań Systemowych Polskiej Akademii Nauk. Główne zainteresowania mieszczą się w obszarze obliczeń rozproszonych oraz ich akceleracji, a także automatyzacji procesów w zaawansowanych środowiskach komputerowych i metod masowego zbierania danych i późniejszego ich przetwarzania.Adres e-mail: lswierczewski@cybercomplex.net