Maszyneria Google'a

Czy zastanawiałeś się kiedyś, co kryje się za skromnym wyglądem wyszukiwarki Google? Już odpowiadamy - najszybszy system komputerów świata. Niewiele o nim wiadomo, bo koncern pilnie strzeże swoich sekretów. Uchylamy rąbka tajemnicy.


Czy zastanawiałeś się kiedyś, co kryje się za skromnym wyglądem wyszukiwarki Google? Już odpowiadamy - najszybszy system komputerów świata. Niewiele o nim wiadomo, bo koncern pilnie strzeże swoich sekretów. Uchylamy rąbka tajemnicy.

Dziesięć lat temu był to tylko szkolny projekt dwóch entuzjastów. Dzisiaj Google codziennie dostarcza setkom milionów użytkowników wyniki wyszukiwania. Bez żadnych opóźnień, co jest możliwe za sprawą olbrzymiej maszynerii - tysięcy serwerów i różnych urządzeń sieciowych. Infrastruktura Google może rozpalać wyobraźnię, niestety, firma nie spieszy się, żeby zaspokoić ciekawość internautów. Oficjalnie dostępne informacje są bardzo skąpe. Przekopaliśmy jednak Internet wzdłuż i wszerz, aby przybliżyć naszym czytelnikom ten fascynujący świat.

Prawie pół miliona serwerów

Jedna z dwóch serwerowni Google’a w pobliżu Dallas. Podobno może pomieścić kilkadziesiąt tysięcy serwerów.

Jedna z dwóch serwerowni Google’a w pobliżu Dallas. Podobno może pomieścić kilkadziesiąt tysięcy serwerów.

Liczby nie są oficjalnie znane, ale szacuje się, że Google zarządza ponad 450 tysiącami serwerów. Jeśli przyjmiemy, że każdy z nich ma dwa procesory, otrzymujemy ponad 900 tysięcy procesorów. Są to bardzo ogólne szacunki, nieuwzględniające liczby rdzeni w procesorach, jednak przydadzą się do porównania - Blue-Gene/L, pierwszy na liście 500 najszybszych superkomputerów na świecie (wyniki z listopada 2007 roku) ma ok. 213 tysięcy procesorów, czyli ponad cztery razy mniej. Tak ogromna moc obliczeniowa jest niezbędna, bo obsłużenie pojedynczego zapytania pochłania miliardy cykli procesora i wiąże się z odczytaniem setek megabajtów danych.

Szafy pełne komputerów

Ogromną liczbę serwerów gdzieś trzeba upchnąć i to dosłownie. Nie są to maszyny wolnostojące, bo takie zajmują zbyt dużo miejsca. Google korzysta z serwerów rackowych, które wyglądem przypominają szufladę. Są montowane w specjalnych szafach, również zwanych rackowymi. Rack oznacza standardowe szafy o szerokości 19 cali i wysokości podawanej w jednostkach U (1 U = 1,75 cala). Z kolei serwery rackowe mają wysokość 1 U lub 2 U, w serwerowniach Google'a są montowane po 40 lub 80 w jednej szafie. W każdej znajduje się urządzenie sieciowe zwane przełącznikiem (switch). Wszystkie serwery z danej szafy są do niego podłączone kablem Ethernet o przepustowości 100 Mb/s. Z kolei przełącznik w szafie jest połączony z głównymi przełącznikami za pomocą jednego lub dwóch kabli o przepustowości 1 Gb/s.

Serwerownia jak dwa boiska

Serwery tworzą klastry, które znajdują się w 25 miejscach na całym świecie, w tym w kilku głównych: Mountain View (Kalifornia), Virginii, Atlancie, Dallas, Dublinie i Saint-Ghislain w Belgii. W 2009 roku Google planuje uruchomić kolejną, wartą 600 milionów dolarów serwerownię, w której pracować będzie aż 200 osób; powstaje w wietrznym stanie Iowa i ma wykorzystać ekologiczne źródło zasilania - wiatraki. Utrzymanie w ciągłej pracy takiej masy serwerów wymaga ogromnego zasilania, co kosztuje i jest nieekologiczne. Może się to wydać zaskakujące, ale między wyszukiwarką a ekologią istnieje bardzo bliski związek. Jeśli przyjąć, że zasilanie jednego serwera kosztuje 500 dolarów rocznie, to okaże się, że w tym okresie Google wydaje na prąd 225 milionów dolarów. Warto dodać, że rozmieszczenie klastrów w różnych regionach świata chroni wyszukiwarkę przed katastrofami naturalnymi typu trzęsienia ziemie.

W 2006 roku pojawiły się informacje o centrum obliczeniowym (data center), które Google budował w okolicach Dallas. Nieoficjalnie prasa donosiła wtedy, że ma wielkość dwóch boisk piłkarskich i dwie wieże chłodzące o wysokości czterech pięter. Jednym z powodów wyboru lokalizacja było sąsiedztwo elektrowni wodnej, zapewniającej tanią i ekologiczną energię.

Pierwsza wersja szaf rackowych Google’a z serwerami niczym szuflady.

Pierwsza wersja szaf rackowych Google’a z serwerami niczym szuflady.

W Dallas znajdują się dwie bliźniacze serwerownie. Według ocen ekspertów, w każdej znajduje się ok. 8200 szaf rackowych. Jedna szafa mieści serwery z 80 czterordzeniowymi procesorami, a więc 320 rdzeni. Po przemnożeniu daje to ponad 650 tysięcy rdzeni w każdej serwerowni, razem 1,3 miliona. Prawdopodobnie serwery te są też wyposażone w 4 GB pamięci RAM oraz dwa twarde dyski po 160 GB (w pojedynczym serwerze).

Gwałtowny rozwój

W porównaniu z obecnym stanem, początki Google były bardzo skromne - w 1998 roku wyszukiwarkę obsługiwało raptem kilka serwerów (patrz ramka "Prehistoria"). Jednak już w 2000 roku Google miało (jak się szacuje, bo oficjalnych danych nie ma) 6000 serwerów w czterech serwerowniach. Każda z nich była w tamtym czasie połączona z Internetem łączem o przepustowości 2488 Mb/s. A były to czasy, kiedy polscy internauci mogli korzystać głównie z modemów telefonicznych o przepustowości 56 Kb/s. W marcu 2001 roku, gdy Google miał ruch na poziomie 70 milionów odsłon dziennie, jego obsługę zapewniało 8000 serwerów.

Taką informację ujawnił pragnący zachować anonimowość pracownik Microsoftu, który miał okazję zobaczyć jedną z serwerowni Google'a. Do 2003 roku przybyło kolejnych 15 tysięcy serwerów, choć inne źródła podają, że w tym czasie było ich już 100 tysięcy. W 2005 prawdopodobnie liczba serwerów wynosiła ok. 200 tysięcy, a w 2006 roku - ponad 450 tysięcy. Firma wydaje tak dużo na sprzęt (ok. 1,5 miliarda dolarów rocznie), że może wpływać na producentów, aby projektowali nowe urządzenia według jej potrzeb.

Dyskrecja Google'a jest przemyślaną strategią. Choć możemy tylko żałować, że nie chce chwalić się swoją infrastrukturą, konkurencja, taka jak Yahoo! czy Microsoft nie śpi, a stawka jest ogromna. Microsoft, marzący o dominującej pozycji w Internecie, dysponował w 2006 roku 200 tysiącami serwerów, z planami rozbudowany do 800 tysięcy serwerów w 2011 roku.

Prehistoria
Tak wyglądały pierwsze serwery obsługujące w 1998 roku wyszukiwarkę Google.

Tak wyglądały pierwsze serwery obsługujące w 1998 roku wyszukiwarkę Google.

Pierwsza serwerownia Google znajdowała się w Stanford University. W 1998 roku podstawową maszyną był serwer Sun Ultra II z dwoma procesorami 200 MHz i 256 MB RAM. Do niego podłączono dwie macierze dyskowe: jedną z trzema dyskami po 9 GB i drugą z sześcioma dyskami po 4 GB. Działał na nim tzw. pajączek (webcrawler), czyli oprogramowanie przeszukujące Internet i zbierające informacje o stronach WWW.

Zebrane dane były dla wyszukiwarki źródłem wiedzy o zasobach Sieci. Oprócz tego stały tam dwa serwery, podarowane przez Intela, każdy miał dwa procesory 300 MHz, 512 MB RAM oraz dziewięć twardych dysków o pojemności 9 GB. To one w większości przetwarzały zapytania internautów. Kolejną maszyną był serwer F50 IBM RS/6000, podarowany przez jego producenta.

Miał cztery procesory, 512 MB RAM i osiem twardych dysków o łącznej pojemności 72 GB. Oprócz tego była jeszcze macierz dyskowa IBM z ośmioma dyskami po 9 GB oraz domowej produkcji macierz z dziesięcioma dyskami SCSI o pojemności 9 GB każdy.