Kult jednostki
- Jakub Chabik,
- 02.12.2002
Po raz kolejny na stronie http://www.top500.org opublikowano listę najszybszych superkomputerów świata. W tym roku całkowicie wypadła z niej Polska, dając się wyprzedzić Egiptowi i Tajlandii, co jest bardzo symptomatyczne, szczególnie w połączeniu z faktem, że decydenci hojną ręką przeznaczają kolejne miliony na kolejne nie działające systemy dla służb państwowych.
Po raz kolejny na stroniehttp://www.top500.org opublikowano listę najszybszych superkomputerów świata. W tym roku całkowicie wypadła z niej Polska, dając się wyprzedzić Egiptowi i Tajlandii, co jest bardzo symptomatyczne, szczególnie w połączeniu z faktem, że decydenci hojną ręką przeznaczają kolejne miliony na kolejne nie działające systemy dla służb państwowych.
Ale nie o tym chciałem dziś pisać. Piąte miejsce listy TOP500 jest bowiem zajmowane przez Linux NetworkX, czyli klaster komputerów klasy PC działających pod kontrolą systemu operacyjnego Linux. W pierwszej dziesiątce znajduje się jeszcze jeden klaster PC. Z maksymalną wydajnością na poziomie 5,6 Tflops klaster maszyn opartych na procesorach Intela znalazł się niewiele za słynnym ASCI White (7,2 Tflops, 4. miejsce), a przed niedawno budzącym jeszcze emocje ASCI Blue-Pacific (2,1 Tflops, dalekie 19. miejsce). W ogóle klastry to prawie sto z pięciuset najszybszych komputerów, a pięćdziesiąt spośród nich jest opartych na procesorach Intela.
Podam też inny przykład: w przeglądarce Internet Explorer można zainstalować tzw. Google Bar. Jeden z dodatków do niego, tzw. Google Compute Client, pozwala wykonywać obliczenia na komputerze osobistym, podczas gdy ten nie pracuje. Pomysł wykorzystania rozproszonej mocy nie jest wynalazkiem Google, wystarczy przypomnieć projekt SETI@Home, w którym stworzono największy wirtualny superkomputer świata o mocy ponad 39 Tflops, który jednak nie figuruje na liście TOP500.
Mam wrażenie, że te fakty każą nam jeszcze raz postawić pytanie: co to jest superkomputer?
Jak nazwiemy architekturę, w której skład wchodzą tysiące mikroprocesorów połączonych magistralą o dużej przepustowości - ultraszybką siecią komputerową, klastrem czy superkomputerem? Jeżeli procesory są w tej samej szafie, to stanowią jedną architekturę, a jeżeli w różnych, to stanowią system rozproszony?
Czy znaczenie ma to, czy komunikują się sprzętowo, na poziomie magistrali wewnętrznej czy za pomocą protokołów sieciowych? A jeżeli nad tym samym zadaniem pracują procesory znajdujące się w dwóch lub więcej miejscach, to czy można nazwać je jednym superkomputerem? Czy dwa tysiące jednakowych procesorów to jest jeszcze architektura symetrycznego przetwarzania, a dwa tysiące różnych komputerów rozsianych po Internecie już nie? Dlaczego nie, czyżby w dziedzinie wysokich mocy obliczeniowych obowiązywał jakiś przedziwny kult jednostki? Kult, który każe nazywać superkomputerem jedynie maszynę homogeniczną, wykorzystywaną przez jedną organizację i w całości dedykowaną do jednego typu zadań.
Przypomnę, że Sun niedawno zaprezentował architekturę N1. Jak rozumiem, jednym z jej celów jest wirtualizacja mocy obliczeniowej. Ktoś, kto będzie chciał zlecić uruchomienie aplikacji, nie będzie się martwił, czy fizycznie działać ona będzie tu czy tam i jak poszczególne elementy będą się komunikowały. Po prostu ma to działać i już.
Pobawmy się w prognozowanie.
Za dziesięć lat może nie będziemy już mówić o superkomputerach, a o superproblemach.
Na liście TOP500 nie będzie już najszybszych maszyn, a najtrudniejsze zadania obliczeniowe. Zamiast mówić o typach procesorów, ranking będzie mówił o tym, ile zużyto na symulowanie klimatu, rozwikływanie genów czy badania kosmosu (zadania najczęściej pojawiające się w pierwszej dziesiątce listy). I - mogę się założyć - poczesne miejsce zajmować tu będą miliony mikrokomputerów w firmach i domach liczących coś w czasie, kiedy nie korzystają z nich ich zwykli użytkownicy.