Wiedza i Życie 03/2010
W numerze m.in.:
Dziedziczenie
Genetyczne śledztwo; Karolina Lech, Janusz Piechota
Telekomunikacja
Komórki pod ostrzałem; Wiesław B. Pietrzak
Farmakologia
Zioła i ziółka; Radosław J. Ekiert
Geologia
Na tropie Rodinii; Andrzej Hołdys
Lingwistyka
Klątwa wieży Babel; Michał Cetnarowski
Biochemia
Tlenowy paradoks; Renata Szymańska
Raz na jakiś czas, mniej więcej co 300-500 mln lat, zatem dość rzadko, wszystkie ziemskie lądy zlepiają się ze sobą, tworząc superkontynent. Ile takich olbrzymów istniało istniało w historii Ziemi? Tego nie wiadomo. Dobrze poznano...
Polska zajmuje drugie miejsce w Europie (po Niemczech) pod względem konsumpcji leków roślinnych. Rocznie kupujemy około 27 mln opakowań leków ziołowych, głęboko zwykle przekonani, że jako dzieło nieomylnej matki natury...
Włamać się do cudzego telefonu to dziś żadna sztuka. Dlatego w głównej siedzibie firmy F-Secure w Finlandii, tworzącej oprogramowanie antywirusowe, komora do badania wirusów jest odseparowana...
Możliwość wyizolowania mtDNA i określenia jego sekwencji ze starych próbek pozwala rozwikłać wiele niezwykle ciekawych zagadek historycznych i kryminalnych. Głównym miejscem przechowywania informacji genetycznej...
Aktualne numery
08/2017
07/2017
Kalendarium
Sierpień
23
W 1966 r. sonda Lunar Orbiter 1 wykonała pierwsze zdjęcie Ziemi z orbity Księżyca.
Warto przeczytać
Chwila bez biologii… nie istnieje. W nas i wokół nas kipi życie. Dlaczego by wobec tego nie poznać go bliżej, najlepiej we własnym laboratorium? By nie sięgać daleko, można zacząć od siebie.

WSPÓŁPRACUJEMY
Logowanie

Nazwa użytkownika

Hasło

Autor: Marcin Bójko | dodano: 2012-05-28
Krzemowa moc

Pod koniec czerwca na Międzynarodowej Konferencji Superkomputerowej w Heidelbergu ogłoszono 25. listę Top500 - 500 najszybszych maszyn obliczeniowych świata. Na pierwszym miejscu znalazł się IBM Blue Gene należący do Lawrence Livermore National Laboratory, który osiągnął oszałamiający rezultat 130 teraflopów, czyli 130 trylionów operacji zmiennoprzecinkowych na sekundę, które to operacje są miarą wydajności obliczeniowej.

Przykładem takiej operacji jest np. działanie 2,5×7,0. Inaczej mówiąc, supermaszyna w sekundę wykonuje pracę, z którą zwykły pecet zmagałby się 11 godzin. Kolejne miejsca zajęły również amerykańskie maszyny: BGW z IBM Thomas J. Watson Research Center z 90 teraflopami i Columbia z NASA/Ames Research Center licząca z prędkością 50 teraflopów. Dopiero czwarty jest japoński Earth Simulator z 35 teraflopami, zaś na piątym miejscu pierwszy europejski gigant - MareNostrum z Supercomputer Center w Barcelonie, który z trudem dociąga do 30 teraflopów.

Lista Top500 tworzona jest zaledwie od 12 lat. I choć w świecie komputerów osobistych to więcej niż dwie epoki, superkomputery nie starzeją się tak szybko. Maszyna TMC CM-5 z Los Alamos National Laboratory i jej bliźniak z National Security Agency, które w 1993 roku tę listę otwierały, zniknęły z wykazu dopiero cztery lata temu. Średni czas obecności komputera na liście to osiem lat, a dziś byłby kłopot ze znalezieniem biura, gdzie pecety mają więcej niż pięć lat.

Pożeracze prądu

Choć jednak superkomputery trzymają się lepiej od pecetów, trudno wskazać taki, który zupełnie oparłby się próbie czasu. Maszyny o mocy obliczeniowej stanowiącej jeszcze 20 lat temu obiekt westchnień naukowców, dziś można kupić w supermarkecie. Granicy między komputerem a superkomputerem nie może zatem wyznaczać prędkość przeprowadzanych obliczeń.

W taką pułapkę wpadł niegdyś COCOM (Coordinating Committee on Export Controls), organizacja pilnująca, by zaawansowane technologie nie wpadły w niepowołane (do 1990 roku do tej kategorii należała również Polska) ręce. Komitet zakazywał m.in. eksportu komputerów o dużej mocy obliczeniowej. Jego dyrektywę wykorzystała w 1993 roku firma Apple, z dumą ogłaszając w spotach telewizyjnych, że COCOM wydał zakaz eksportu Apple G4 - pierwszego superkomputera biurkowego.

Nieco żartobliwie można jednak zaryzykować inną definicję: superkomputer to maszyna obliczeniowa zużywająca więcej niż 100 kW prądu. Mimo upływu lat jedno się bowiem nie zmieniło - superkomputery wciąż są energożerne. ENIAC, jeden z pierwszych komputerów na świecie, zbudowany w 1945 roku, pochłaniał 175 kW prądu. Słynny Cray 1 w 1976 roku potrzebował 150 kW, a obecny rekordzista Blue Gene pożera aż 216 kW. Oczywiście są bardziej oszczędne jednostki, ale nigdy nie trafiły one na pierwsze miejsce listy Top500.

Do biegu, gotowi...

Prędkości komputerów nie da się zwiększać w nieskończoność, bo dane mogą wędrować najwyżej z prędkością światła. Co więcej, tranzystory nie bardzo mogą pracować z częstotliwościami większymi niż 5 GHz - to na razie największy problem producentów mikroprocesorów. Zakładając optymistyczny wariant, że mikroprocesor wykonuje jedną operację w jednym cyklu zegarowym, wydajność współczesnego procesora jest ograniczona przez pięć gigaflopów.

Ratunkiem może być równoległe wykonywanie obliczeń. Rozwiązań jest wiele. Po pierwsze, w jednym mikroprocesorze instaluje się kilka jednostek wykonujących tzw. obliczenia zmiennoprzecinkowe. To znakomicie poszerza możliwości obliczeniowe. Można także zainstalować kilka procesorów w jednym komputerze i (lub) połączyć wiele komputerów w sieć. To rozwiązanie ma jednak wadę: trzeba specjalnie preparować zadania obliczeniowe.

Na przykład podczas programowania animacji komputerowej (półtorej godziny filmu to jakieś 130 tys. klatek) w prosty sposób można rozdzielić pracę na wiele maszyn liczących równolegle. W takim przypadku poszczególne komputery nie muszą nawet działać w tym samym tempie. Po prostu wolniejsze dostają mniej klatek do opracowania, by skończyły wtedy gdy pozostałe.

Inaczej jest w przypadku przewidywania pogody. Zadanie komputerów sprowadza się wtedy do obliczania stanu atmosfery z określonym krokiem czasowym, np. co 15 min. Obszar, dla którego powstaje prognoza (może to być nawet cała ziemia), jest dzielony na mniejsze kawałki i dla każdego komputer wylicza, co wydarzy się za chwilę. Zadanie łatwo podzielić na symulacje równoległe, ale jest jeden warunek. Wyniki z poprzedniego kroku obliczeniowego muszą być dostępne w tym samym czasie, tak by pozostałe węzły nie czekały na najwolniejszy.

Ponadto do danych musi być bardzo szybki dostęp. Prędkość komunikacji między węzłami jest równie ważna jak prędkość wykonywania obliczeń przez poszczególne węzły. Mikroprocesory wykonujące obliczenia pobierają bowiem i produkują dużo danych - zwykła sieć komputerowa do takiej pracy nie wystarcza.

Uniwersalny test
Zmierzenie wydajności maszyn projektowanych do różnych zastosowań nie jest łatwe. Wie o tym doskonale Jack Dongarra, profesor Uniwersytetu Tennesse i pracownik Oak Ridge Laboratory. To on 13 lat temu zaprojektował test, którym można w miarę obiektywnie zmierzyć wydajność komputera. Zadanie polega na rozwiązywaniu coraz większych układów równań z losowo dobranymi współczynnikami, aż do momentu osiągnięcia maksymalnej wydajności maszyny.

Przyjmuje się, że na jeden procesor powinno przypadać kilkaset równań, tak więc rozwiązanie zadania z milionem niewiadomych nie jest niczym dziwnym. Sprawdzian Dongarry pozwala ocenić ogólną wydajność komputera, gdzie jednakowo ważna jest prędkość jednostek obliczeniowych i prędkość komunikacji między nimi. Na podstawie tego właśnie zadania układana jest lista Top500.

Przepis na superkomputer

Zbudowanie wydajnej maszyny obliczeniowej nie jest trudne. Komputery osobiste i podzespoły do nich mają już całkiem przyzwoitą moc, która waha się w granicach 1-4 gigaflopów/s. Osiągnięcie teraflopa/s to kwestia połączenia ze sobą tysiąca pecetów. Kilkanaście maszyn tego typu widnieje na liście Top500. Zaletą takiego rozwiązania jest stosunkowo niska cena - komputer o wydajności kilku teraflopów można złożyć za marne 2 mln dol.

Na przykład na Virginia Polytechnic Institute and State University działa bardzo wydajny superkomputer (numer 14. na liście) zbudowany z 1100 dostępnych w sklepie maców. Według podobnych zasad zbudowany jest lider klasyfikacji - Blue Gene. Pojedynczy element tego superkomputera - mikroprocesor z układem sieciowym oraz własną pamięcią - jest pełnowartościowym komputerem „domowym”.

Takie jednostki wkłada się do dużych szaf mieszczących po 1024 moduły. Każda z nich ma wydajność 5,4 teraflopa i kosztuje 2 mln dolarów. Klient, w zależności od potrzeb i zasobności portfela, może zamówić od jednej do 64 szaf. Cechą charakterystyczną Blue Gene są sieci, za pomocą których są połączone poszczególne węzły obliczeniowe.

Pierwsza łączy sąsiadujące ze sobą węzły, tak by jak najszybciej przekazywały informację od mikroprocesora do mikroprocesora. To ważne w przypadku klasycznych obliczeń równoległych (rozwiązywanie równań liniowych), gdzie trzeba sięgnąć po wyniki z sąsiedniego procesora.

Oprócz tego jest jeszcze druga sieć o strukturze drzewa, łącząca węzły hierarchicznie, czyli w zależności od ich "ważności", dzięki której Blue Gene może bardzo szybko porównać wyniki z wielu „podrzędnych” procesorów. Jest to przydatne np. w modnym ostatnio sekwencjonowaniu genomu. Stąd zresztą nazwa komputera zawierająca słowo "gen".

Wyścig trwa

Trudno dziś zliczyć wszystkie zastosowania superkomputerów. Maszyny te służą m.in. do projektowania samolotów. W ten sposób znacznie szybciej i taniej da się przetestować kilkanaście koncepcji budowy kadłuba i skrzydła, łącznie z symulacją testów aerodynamicznych. Przy projektowaniu samochodów nikt nie rozbija już prototypów w testach zderzeniowych.

Wirtualne pojazdy uczestniczą w nierzeczywistych kraksach, gdzie cyfrowe manekiny otulają zerojedynkowe poduszki powietrzne. Dopiero po rozpoczęciu produkcji przychodzi czas na prawdziwe zderzenia. Wyścig superkomputerów wciąż trwa. Pierwsze miejsce na liście Top500 wiąże się z ogromnym prestiżem i świadczy o dominacji kraju producenta maszyny w światowym wyścigu technologii. Na czele listy raz są Amerykanie, raz Japończycy. Od połowy 2002 roku pierwsze miejsce okupował japoński NEC Earth Simulator. Stracił je dopiero w listopadzie ubiegłego roku, a dziś jest na czwartym miejscu.

To cios dla Japończyków, bo na najnowszej liście trzy pierwsze pozycje zajmują amerykańskie maszyny. Dlatego w czerwcu naukowcy z Kraju Kwitnącej Wiśni zapowiedzieli, że rozpoczynają badania nad komputerami, które trzydziestokrotnie przewyższą wydajnością Blue Gene.

Przedstawiciele IBM odbijają piłeczkę, twierdząc, że następca Blue Gene zaoferuje wydajność 3 petaflopów. Jak widać, inżynierowie budujący superkomputery także mają sportową żyłkę.

Zastosowania superkomputerów.

Wojsko - brytyjski Colosus łamał szyfry Enigmy, amerykański Eniac służył do obliczania tabel artyleryjskich. Dziś superkomputery są wciąż używane do łamania szyfrów, wyszukiwania konkretnych treści w podsłuchiwanych sygnałach i symulowania wybuchów nuklearnych.

Aerodynamika - matematyczna symulacja kształtów skrzydła czy nadwozia i wirtualne testy obciążeniowe dawno zastąpiły już modele z drewna oraz gliny, których kształt sprawdzano w tunelach aerodynamicznych.
Biologia - sekwencjonowanie DNA.
Geologia - przewidywanie trzęsień ziemi. Japoński NEC Earth Simulator powstał właśnie po to, by lepiej zrozumieć budowę i ruchy skorupy ziemskiej.
Astrofizyka - symulacje tworzenia się gwiazd, planet oraz ruchu galaktyk.
Procesy te zajmują miliony, jeśli nie miliardy lat, więc trudno je obserwować bezpośrednio.

Kogo nie ma na liście

Test mierzący prędkość komputerów używany przy tworzeniu listy Top500 faworyzuje maszyny, których węzły szybko komunikują się ze sobą. W efekcie nie trafią na nią nigdy komputery zrzeszone w sieciach takich jak SETI@Home czy Foldings@Home, czyli skupiające miliony indywidualnych użytkowników na całym świecie dzielących się wolną mocą obliczeniową (i prądem) swoich komputerów.

Projekt SETI@Home analizuje sygnały radiowe z kosmosu w poszukiwaniu jakichś śladów cywilizacji, Foldings@Home symuluje zachowanie się białek służących do produkcji leków. Obydwa projekty znakomicie nadają się do podzielenia na mniejsze fragmenty, zupełnie niezależne od siebie. Ostrożne szacunki mówią, że projekt SETI ma do dyspozycji moc rzędu 51 teraflopów, czyli teoretycznie walczyłby o czwarte miejsce na liście. Tyle że komunikacja między węzłami sieci jest bardzo nieregularna. Komputery biorące udział w obliczeniach wykonują je w czasie wolnym.

To znaczy wtedy, gdy nie są w ogóle używane, ale są włączone. Tak że na wynik obliczeń można czekać zarówno kilka sekund, jak i kilka dni. W ogólnym rozliczeniu nie ma to najmniejszego znaczenia, bo w SETI@Home chodzi o przetworzenie maksymalnie dużej liczby zadań, bez względu na to, w jakiej kolejności zostaną obrobione. Ale niewiele jest poważnych zadań obliczeniowych, które można tak potraktować. SETI@Home jest więc przykładem superkomputera do jednego zadania.