Her løfter Google sløret for mastodontisk Linux-infrastruktur

Open Source Days: Google gav på Open Source Days 2010 et indblik i virksomhedens kritiske infrastruktur, der dagligt jonglerer enorme mængder data hen over tusindvis af computere i distribuerede beregninger.

Google løftede lørdag under Open Source Days 2010 en smule af sløret for den infrastruktur, virksomheden bruger til at håndtere sine enorme mængder af søgedata.

Udfordringen for Google har været at skabe én af verdens største computing-infrastrukturer og samtidig gøre det nemmere for sine udviklere at skrive parallel kode, end ikke at gøre det.

Det forklarede site reliability engineer hos Google, Pim van Pelt, under et oplæg på Open Source Days 2010.

Pim van Pelt står i spidsen for et hold hos Google, der vedligeholder Googles produktionsinfrastruktur. Den omfatter systemer, der i høj grad skal være tilgængelige og distribuerede, både internt i Google og for systemer, der har berøring med slutbrugeren.

»Jeg ved ikke, om Google har verdens største computing-infrastruktur, men min vurdering vil være, at vi ligger i top-5, og nok også i den gode ende,« sagde Pim van Pelt.

Han indledte foredraget med at slå fast, at han ikke ville svare på konkrete spørgsmål fra publikum om, for eksempel hvor mange servere virksomheden har kørende, eller hvor mange queries ? forespørgsler i søgemaskinen ? Google modtager. Han var heller ikke autoriseret til at udtale sig overfor Version2 efter foredraget.

Men han nåede alligevel at give et indblik i, hvordan Google har strikket sin egen infrastruktur sammen mellem den hardware og de operativsystemer, den kører på, og de services, Google tilbyder.

Klemt inde mellem billige pc'er og Google-tjenester

Imellem på den ene side Googles computing-platform, der består af horder af billige pc'er med Linux, og virksomhedens tjenester og applikationer som for eksempel Gmail, ligger Googles distribuerede system-infrastruktur.

De vigtigste dele af infrastrukturen er følgende:

Googles distribuerede filsystem GFS, den distribuerede lockserver Chubby, grid computingsystemet Workqueue, frameworket Mapreduce, der bruges til parallelle beregninger, og det domænespecifikke sprog Sawzall, som Google bruger til at håndtere de enorme mængder data.

GFS er Googles eget, proprietære filsystem til internt brug. Det er designet til at kunne skalere og yde stabilt og pålideligt hen over filsystemer i petabyte-størrelsen, fordelt udover tusindvis af maskiner.

Filsystemet inddeler data i klumper af 64 megabyte, og hver klump lægges i en 'master', som replikeres typisk tre gange. Hvis data er kritiske, kan det vælges at replikere dem ti gange, fortalte Pim van Pelt.

»Google tror ikke rigtigt på RAID (redundante diske, red.),« konstaterede Pim van Pelt.

Google har koblet storagesystemet Bigtable oven på GFS for at sikre sig mod spildplads, hvis man ønsker kun at gemme for eksempel 20 megabyte ud af de 64, der er afsat i hver dataklump.

Med frameworket Mapreduce kan Google dele inputdata op i mindre bidder og sætte programmer til at arbejde distribueret på data fordelt ud over mange maskiner.

Pim van Pelt fortalte, hvordan Mapreduce kunne bruges til at søge distribueret med Unix-kommandoen grep efter en bestemt IP-adresse i en kopi af indholdet på www og lægge resultatet over i en tekstfil.

grep '130.225.226.91' the_web > matches.txt

Mapreduce fungerer basalt set i to trin: Et map-trin, hvor input deles op i mindre dele og fordeles ud på et antal maskiner, som beregner svaret på delproblemet og sender det tilbage. Alle svar kombineres til ét samlet i reduce-trinnet, hvilket resulterer i det endelige output fra beregningen.

Det fortolkede sprog Sawzall ligger ovenpå Mapreduce og bruges til at håndtere de store mængder data, Google skal behandle i sine tjenester.

Pim van Pelt fortalte blandt andet under foredraget, hvordan han med tre linjer Sawzall-kode kunne tælle antallet af besøgende gennem mere end halvanden milliard loglinjer - i løbet tre sekunder, hævdede han, uden dog at demonstrere det i praksis.

Mere information om de enkelte værktøjer og teknologier i Googles infrastruktur kan findes under fanebladet Eksterne links.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (1)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere