Dynamika płynów

Opublikowane:

28.02.2021

Niedawny start rakiety sprawił, że maddog zaczął myśleć o wysoko wydajnościowym przetwarzaniu i dokładnych prognozach pogody.

Niedawny start rakiety sprawił, że maddog zaczął myśleć o wysoko wydajnościowym przetwarzaniu i dokładnych prognozach pogody.

SpaceX, we współpracy z NASA, wysłał ostatnio kapsułę z czterema astronautami na Międzynarodową Stację Kosmiczną. Start i lot odbyły się bez błędów.

Obserwuję loty kosmiczne od 1961 roku. Ciągle pamiętam, jak wszyscy uczniowie mojej szkoły podstawowej zebrali się w auli, a obsługa szkoły wtoczyła duży czarno-biały telewizor na wózku (jeden z niewielu „przenośnych telewizorów” w tamtych czasach), abyśmy mogli oglądać start rakiety.

Wszystko to przy założeniu, że rakieta wystartuje, ponieważ w tamtych dniach było bardzo prawdopodobne, że przesunie się burza i opóźni odliczanie, a nawet je całkowicie wstrzyma. Dużo wcześniej należało zaplanować i wykonać tankowanie rakiety oraz przewieźć do niej astronautę (najpierw jednego, potem było ich więcej), a przylądek Canaveral bardzo często miewał złą pogodę.

Przez długi czas wiedzieliśmy, jak przewidywać pogodę na 24 godziny do przodu, ze 100-procentową dokładnością. Problemem było to, że zebranie i przetworzenie danych zajmowało 48 godzin, więc mogliśmy dokładnie powiedzieć, jaka by była pogoda przez ostatnie 24 godziny.

Problem prognozowania pogody oraz wiele innych rzeczy, jakie musimy obliczać, zalicza się do „dynamiki płynów”. Przepływ ciepła, wydajność turbin, rozprzestrzenianie się wirusa, projekty samolotów i samochodów, we wszystkich tych przypadkach mamy do czynienia z „dynamiką płynów”. Nawet w przypadku obiektów „stałych” stosuje się w obliczeniach dynamikę płynów.

Przed 1994 rokiem tego typu problemami zajmowały się „superkomputery”, czyli maszyny i systemy operacyjne projektowane przez firmy takie jak Cray, ECL, CDC, IBM i inne. Firmy te wydawały wiele, wiele milionów dolarów na rozwój superkomputerów przy wykorzystaniu najnowszych technologii, a następnie produkowały ograniczoną liczbę takich maszyn, które przez kilka lat, zanim nie pojawiło się kolejne urządzenie, mogły aspirować do miana „najszybszych na świecie”. Często koszty budowy nie były pokrywane przez zyski ze sprzedaży i wykonywanych usług. Niektóre z tych firm (lub przynajmniej ich departamenty zajmujące się superkomputerami) wypadły z rynku.

Wtedy, dwóch ludzi z NASA, Dr Thomas Sterling i Donald Becker, opracowało pomysł, który zakładał wykorzystanie standardowych elementów komputera do rozwiązywania takich skomplikowanych problemów poprzez podzielenie ich na równoległe zadania. System ten nazwali „Beowulf”. Ogólnie mówiąc, otrzymywaliśmy tę samą moc obliczeniową jak w „superkomputerze” za cenę 40 razy niższą. Dodatkowo, ponieważ system oparty na standardowych komponentach korzystał z otwartego systemu operacyjnego (zwykle opartego na GNU/Linuksie), programiści, którzy pracowali nad problemem dynamiki płynów, wiedzieli, jak zaprogramować system z dodatkiem kilku bibliotek – PVM (Parallel Virtual Machines), MPI (Message Passing Interface) i OpenMP (Shared Memory Interface) – a także jak opracować standardowe metody dzielenia dużych programów (dekompozycja, programowanie wielowątkowe i równoległość).

Beowulf – teraz nazywany jest HPC (High Performance Computing) i korzysta z 500 najszybszych na świecie komputerów – pozwala też na eksperymentowanie z lepszymi kompilatorami i systemami na relatywnie niedrogim sprzęcie. Systemy zakupione do rozwiązania dużego problemu mogą być rozłożone i przystosowane do innych zadań, kiedy już zakończą swoją pracę.

Wczesne systemy pracowały na superkomputerze od Oakridge National Lab o nazwie „Kamień” (nazwanym od historii o zupie z kamienia) utworzonym z systemów pulpitowych połączonych przez zwykły Ethernet. Implementacje wykonali William Hargrove i Forrest Hoffman po tym, jak nie otrzymali funduszy na tradycyjny superkomputer. Kamień pomógł rozwiązać kilka poważnych, światowych problemów i pracował jako system do rozwoju nowych aplikacji HPC.

Z czasem różne narodowe laboratoria zaczęły wydawać dystrybucje (Rocks i OSCAR to dwie z nich) specjalizujące się w przetwarzaniu tego typu, ułatwiające uruchomienie własnego wysoce wydajnego klastra, wliczając w to wykorzystanie Raspberry Pi.

Przez lata czas potrzebny na zebranie i przetworzenie danych do prognozy pogody z wyprzedzeniem 24-godzinnym i ze 100-procentową dokładnością spadł z 48 godzin do 24 godzin (obliczenia kończymy, kiedy już dana aura pogodowa jest obecna) i do 12 godzin. Na tym etapie NASA już nie wstrzymuje startów ze względu na pogodę. W szerszej skali obliczenia te pomogły też przewidywać pogodę na potrzeby wydarzeń sportowych, ślubów, rolnictwa i innych.

Dzisiaj ta sama technologia jest wykorzystywana do obliczania zniszczeń powodowanych przez huragany i określania, co by było, gdyby średnia temperatura środowiska spadła o jeden czy dwa stopnie, co jest istotne w czasie aktualnych zmian klimatycznych. Prognozy pogody pokazują, że zmiana temperatury o kilka stopni może oznaczać różnicę w opadach deszczu na poziomie między 10 a 15%. W przypadku opadów sięgających 30 centymetrów w czasie huraganu może to oznaczać dodatkowe 5 centymetrów wody, co może przełożyć się na większą liczbę zalanych domów i firm. 

maddog-2

Jon „maddog” Hall jest autorem, wykładowcą, informatykiem i jednym z pionierów Wolnego Oprogramowania. Od 1994 roku, kiedy po raz pierwszy spotkał Linusa Torvaldsa i ułatwił przeniesienie jądra na systemy 64-bitowe, pozostaje orędownikiem Linuksa. Obecnie jest prezesem Linux International®.

Autor: Jon „maddog” Hall

Aktualnie przeglądasz

Marzec 2021 - Nr 205
LM205_Mar-2021

Top 5 czytanych

Znajdź nas na Facebook'u

Opinie naszych czytelników

Nagrody i wyróżnienia