Facebookova grožnja HP-ju, Supermicru in drugim velikanom
Primož Resman
8. jul 2013 ob 00:10:33
Da velika podjetja s tisoči strežnikov v podatkovnih centrih, ki so raztreseni po celem svetu, ustvarjajo svoje zasnove strežnikov, niti ni presenečenje. Eden od prvih je bil seveda Google. Svoj prvi strežniški sistem (skupaj z omaro) so zasnovali že leta 1998, že takrat pa so se osredotočili na enostavnost, cenovno ugodnost ter nekatere druge zahteve, npr. višjo odpornost omare proti potresom. S hitrim skokom na Google lahko najdemo nekoliko starejšo zasnovo, ki uporablja popolnoma standardno opremo, tj. trde diske, napajalnik in matično ploščo, katere dimenzije močno spominjajo na standard ATX. Zraven je še majhna baterija, ki zagotavlja delovanje v primeru izpada električne energije.
Trenutno stanje je seveda lahko bistveno drugačno, saj je zadnja pokazana zasnova osnovana na Intelovih procesorjih z arhitekturo NetBurst. Na drugi strani je v primeru Facebooke veliko manj nejasnosti. Pri ArsTechnici so pripravili nadvse zanimiv in poglobljen članek o snovanju Facebookovih strežnikov. Ti so na srečo vseh nas odprtokodni, saj je Facebook glavni ustanovitelj odprtokodnega projekta Open Compute Project. Še en izredno pomemben partner je podjetje RackSpace, katerega glavna storitev je prodaja oblačnih sistemov drugim podjetjem. Jasno je, da tako Facebook kot RackSpace potrebujeta veliko število zmogljivih strežnikov z veliko diskovnega prostora.
V svetu, v katerem bo vedno več podjetij svoje zahteve lahko pokrilo z večjim številom mikrostrežnikov v eni omari (primera sta SeaMicro in HP-jev projekt Moonshot), imajo velika podjetja popolnoma drugačne zahteve. Posledično je projekt Open Compute (OCP) zastavljen povsem drugače. Za začetek ni običajnih napajalnikov, ki v običajnih podatkovnih centrih napajajo posamezne sisteme, posamezna enota projekta OCP prejema že regulirano 12-voltno napetost s strežniške omare. Vsaka omara ima sicer 48-voltno baterijo, ki zagotavlja delovanje ob izpadu električne energije. Ko težav z dobavo ni, enosmerni tok z 12-voltno napetostjo transformirajo neposredno iz trofazne 480-voltne izmenične napetosti za celotno omaro. Čim manj pretvorb električnega toka pomeni za sistem večjo učinkovitost in zato OCP omare to počnejo zgolj enkrat (s 480 na 12 V), medtem ko običajni sistemi elektriko pretvarjajo z izmeničnega trifaznega na izmenični enofazni vir napajanja, ta je nadalje povezan na UPS oz. baterijo (odvisno od izvedbe, pride lahko do para pretvorb), na katerega je nato priključen napajalnik strežnika, ki izmenični tok (~220 V) pretvarja v enosmerni tok z napetostjo 12 V.
Napajanje je pravzaprav še najmanj presenetljiva razlika OCP-ja v primerjavi z običajnimi podatkovnimi centri. Projekt namreč ne pozna običajnih strežnikov. Celoten podatkovni center ne sloni na običajni mreži, temveč na tkanini, ki omogoča neposredno povezovanje vseh različnih enot med seboj (količina prenesenih podatkov znotraj podatkovnega centra je tudi tisočkrat višja, kot količina podatkov, ki gre nato v svet k odjemalcem podatkov, torej k uporabnikom). Za tkanino pri Facebooku uporabljajo 10-gigabitno mrežo z bakrenimi žicami, ki uporablja dobro poznan standard Ethernet. Zavedajo se, da bodo slej ko prej morali uporabiti optične povezave s hitrostmi do 100 Gb/s, a menijo, da imajo še nekaj let rezerve. Za upravljanje z mrežo zaenkrat sicer uporabljajo še komercialne mrežne preklopnike (ki jih je seveda mogoče podrobno upravljati), saj je odprta zasnova kot del OCP trenutno v pripravi ter je obenem eden izmed zadnjih manjkajočih koščkov za odprtokodni podatkovni center.
Običajni strežniški sistemi, ki v eni škatli vključujejo procesor, pomnilnik, dodatne kartice (npr. grafična jedra), trde diske oz. SSD pogone, napajalnike in podobno, takšne tkanine seveda ne potrebujejo. Potrebujejo jo različne enote, ki so bile razvite v sklopu OCP. Za začetek so pripravili računski modul, ki se v velikem številu uporablja za vsa procesorsko zahtevna opravila. Matična plošča je bila razvita za potrebe projekta, kar poemni, da je prav tako odprtega standarda. Najnovejša različica za Intelove procesorje uporablja dve ležišči za procesorje skupaj s 16 režami za pomnilnik (po 8 za vsako procesorsko ležišče), dodana pa je še reža PCIe z večjim številom povezav. V režo se z uporabo riserja vtakne par mrežnih kartic, ki omogočata povezavo z 10 Gbps omrežjem. PCIe kartice uporabljajo predvsem zaradi neodvisnosti od dobaviteljev ter krmilnih čipov na njih ter nekoliko verjetno še lažje izmenljivosti, če pride do težav. Obenem določeni računski moduli dobijo še na PCIe reži osnovan pogon SSD, če je potreba po upravljanju z veliko količino podatkov.
16 pomnilniških rež v računskem modulu pomeni relativno malo pomnilnika, ki je obenem težko dostopen drugim računskim modulom, torej je jasno, da je pomnilnik računskega modula namenjen zgolj pomnenju podatkov za opravila, ki jih tisti trenutek izvaja. V sklopu OCP obstaja še poseben modul, namenjen zgolj pomnenju velike količine delovnih podatkov. Poleg velike količine pomnilniških rež je sestavni del modula še en varčnejši procesor, ki upravlja z veliko količino podatkov ter skrbi, da so ti na voljo drugim enotam na omrežju. Za najbolj trd oreh se je izkazal podatkovni strežnik, ki je v primeru Facebooka nujno potreben (pomislite samo na število slik, ki jih imate na svojem profilu). Do nedavnega so se na te področju zanašali na komercialne rešitve, a nič več.
Osnova je en dvoprocesorski računski modul, ki skrbi za upravljanje z zapisanimi podatki. Tokrat mu je dodan par napajalnikov za dodatno varnost pred izgubo podatkov. Za samo hrambo podatkov skrbi t.i. Open Vault, zgolj 2U visoka škatla z dvema predaloma, kjer je v vsakem 15 standardnih 3,5-palčnih mehanskih trdih diskov na vodilu SAS. Potrebe po pogonih SSD ni, saj prej omenjene slike večinoma gledamo zelo redko. Zaenkrat se z računskim modulom Sef s trdimi diski še vedno povezuje prek namenske PCIe kartice ter prek protokola iSCSI, a so jasne želje, da bi tudi ta komunikacija potekala kar prek tkanine, torej po protokolu Ethernet namesto prek namenskih mrežno-podatkovnih protokolov. Tako bi se izognili neposrednim povezavam posameznih enot, saj bi se prav vse enote med seboj pogovarjale prek tkanine. To bi olajšalo delo tehnikom, ki bi tako posamezno enoto zgolj priključili na usmernik (za napajanje je poskrbljeno prek priključka na omaro), medtem ko bi za pravilno povezovanje poskrbela programska oprema.
Jasno je, da na nobenem izmed teh strežnikov ni lepih plastičnih vratc, mrežic, logotipov in podobnega kiča, ki zgolj zmanjšuje pretok zraka in zvišuje ceno. Izgled niti ni pretirano pomemben, saj strežnikov tako ali tako ne vidi praktično nihče (razen tehnikov). Na račun boljše zasnove skupaj z boljšim pretokom zraka so tako dobili še dodatne prihranke pri porabi električne energije, saj lahko uporabijo šibkejše in počasneje vrteče-se ventilatorje.
Podrobneje o projektu in Facebookovih strežnikih tako pišejo na ArsTechnici, zaradi odprte narave pa je jasno ogromno gradiva na voljo tudi na strani Open Compute Project. Omeniti velja, da sta velika podpornika projekta tudi Intel in IBM, iz naveze pa je bil tako npr. projektu že dodan priključek za optične povezave na omrežju.