Bug Online

Serveri - Lab 2000 labm@ster 5086B-TRF

128 procesora!

Nije potrebno izjaviti veliku mudrost da je napredak tehnike nezaustavljiv ili takvu neku parolu, nego jednostavno za referencu možemo ukratko podsjetiti čitatelje da je prvi Intelov dvojezgreni procesor izašao 2005. godine, a danas se, 2011., gotovo kao COTS oprema može nabaviti server s ukupno 128 logičkih procesora. Ako bismo strogo gledali samo broj procesora, ovaj broj je davno postignut i prijeđen u nekim manje popularnim arhitekturama (na primjer u Sunovoj Niagari, pokoj joj digitalnoj duši), ali ovdje je važno upravo to da se radi o "normalnim" serverima s gomilom softvera koji se na njima može vrtjeti.
Server na testu došao je u konfiguraciji 8x8x2, odnosno osam socketa koji su popunjeni osmojezgrenim procesorima koji još implementiraju hyperthreading. Radi se o modelu procesora Xeon E7-8830 na 2,13 GHz. Relativno mala frekvencija rada je posljedica kompromisa: iako je ovo procesor iz obitelji Westmere (čiji mid-range modeli su Xeoni 56xx) koja ima članove do blizu 3,5 GHz, ipak je iznimno teško istovremeno postići velike frekvencije i velik broj jezgara.
Za najzahtjevnije potrebe, server je opremljen i sa 256 GB memorije, a ukupno se može proširiti do 2 TB - što je impresivno bez obzira s koje strane gledali. Adekvatan IO omogućava gomila PCI-Express utora koji dolaze u dvije varijante – ili četiri "velika" x16 porta s dva x8 ili čak deset x8 portova, sve pune veličine.

Masivan hardver
Izgradnja servera s osam socketa još uvijek nije jednostavna. Zbog fizičkih ograničenja potrebno je raditi trodimenzionalnu strukturu te tako procesori dolaze na vlastitim "ekstenderima", pločama s po dva procesora i memorijom koje se priključuju na osnovnu ploču. Također, dizajn ove osnove ploče se komplicira pa tako ovo rješenje koristi efektivno dvije instance čipseta (Intel 7500 / Boxboro) koje su potrebne da bi ovako poveća količina hardvera radila. Zbog ovoga su i dimenzije servera povećane: kućište namijenjeno za ormare je veličine 5U.
U skladu s fantastičnim mogućnostima procesora i veličinom kućišta, u serveru je ukupno 12 TB diskova. Radi se o SATA diskovima kapaciteta 750 GB i veličine 2,5" koji su spojeni na brzi SAS kontroler i u preporučenoj konfiguraciji dolaze konfigurirani u RAID-u 6 (dva diska za parity, 10 TB efektivno dostupnog kapaciteta). Unatoč popularnosti vanjskih rješenja za pohranu, izravno priključeni diskovi imaju svojih prednosti, među ostalim vrlo male latencije pristupa i nisku cijenu. Kako se radi o diskovima koji se okreću 7.500 RPM, niti brzina pristupa nije loša - jednostavna kalkulacija kaže da bi ova kombinacija trebala podržati oko 1.000 - 1.200 potpuno slučajnih IOPS-a. Korisnici se ne trebaju brinuti jer su brojke u praksi puno bolje zbog neslučajne naravi pohranjenih podataka (bilo bi doista strašno kada bi jedan disk od 7.500 RPM uvijek radio 75 IOPS-a).
Međutim, ovako velika kolekcija hardvera na jednom mjestu ipak dovodi do jednog čisto fizičkog problema: kako izvesti komunikaciju između komponenti hardvera, i jednog algoritamskog: kako ih zapravo iskoristiti. Zbog fizičkih ograničenja koristi se konfiguracija poznata pod imenom NUMA - non-uniform memory access, koja u praksi znači da su memorijski moduli povezani s procesorima (koji u ovom slučaju imaju memorijske kontrolere u sebi) pa svaki procesor može pristupati "lokalnoj" memoriji punom brzinom, a brzina pristupa opada što je memorija "udaljenija" u smislu veza između procesora. Isti odnosi postoje i kada procesori trebaju međusobno komunicirati iz bilo kojeg razloga: na primjer kada se trebaju sinkronizirati oko procesa.

Problemi u softveru
NUMA definitivno otežava život programera: umjesto jednostavnog SMP modela u kojem je pristup svim resursima jednake brzine, NUMA sustavi više sliče malim internim clusterima za koje se treba posebno programirati da bi procesi pristupali lokalnim resursima pa model više podsjeća na MPI nego na SMP. Jedan od "zanimljivih" problema demonstriraju Windowsi u kojima bez posebnih zahvata jedan proces može putem višenitnog programiranja koristiti samo 64 procesora (bez obzira koliko ih OS vidi) jer se koriste 64-bitni brojevi za praćenje stanja procesora (uključujući Enterprise verzije Windows Servera). Drugim riječima, "obični" programi koji ne pristupaju NUMA API-ju u Windowsima i ne koriste višeprocesno programiranje ne mogu iskoristiti sve logičke procesore u ovom serveru. Ali čak i bez ovog problema (koji, usput, ne postoje u većini modernih OS-ova), ostaje problem lokalnosti pristupa memoriji i procesorima. Srećom, veći dio problema skrivaju brze sabirnice i još uvijek mali broj "čvorova".
Svaki Xeon E7 procesor sadrži četiri brza QPI linka koji se mogu koristiti za povezivanje s drugim procesorima ili s IO hubom. U konfiguraciji s do četiri procesora stvar je jednostavna i svaki procesor je izravno povezan s po tri druga i s jednim IO hubom, ali s osam procesora se više ne može postići izravna povezanost svakog procesora sa svakim pa se pojavljuje potreba za "routanjem" veza kroz druge procesore. U slučaju memorije, postoje tri klase "bliskosti" pristupa: memorija lokalna procesoru, memorija na procesoru s kojim postoji izravni link i memorija na procesoru koji je udaljen za 1 procesor više.

Napomena: Članci iz časopisa se ne prenose uvijek kompletni, sa svim slikama, potpisima pod slike, okvirima, tablicama i sličnim. Ponekad se ne prenosi niti cijeli tekst članka. Svrha članaka na Webu jest da pruže uvid u način obrade teme i potaknu interes za proučavanjem tiskanog broja. Za cjelovit uvid u članke - savjetujemo da pogledate papirnato izdanje časopisa. Hvala.
Nije bilo tako davno kada je 16 logičkih procesora u serveru bio vrhunac i nešto toliko neuobičajeno da je vrijedilo posebno pričati o tome, a danas imamo nešto što taj poduhvat ostavlja u prašini – server sa 128 procesora!

izdvojeni tekstovi - listopad 2011.

Internalizacija eksternalizacije

Oleg Maštruko sub 17.9.2011

IFA 2011, Berlin

Sukob patenata sub 17.9.2011

IBM XIV u Gavriloviću

Masovna pohrana za više tvrtki sub 17.9.2011

Virtualizacija na FOI, Varaždin

30 u 4 sub 17.9.2011

Previranja u HP-u

Kud plovi ovaj brod? sub 17.9.2011

IT u regiji: Hrvatska, Slovenija, Srbija, BiH, Crna Gora, Makedonija; CEE, CEMA

I poslije pada pad! sub 17.9.2011

Intervju: Zoran Jovanović, Oracle ACE, Database Management & Performance

As iz Zagreba sub 17.9.2011

Eksternalizacija

Novi pogled na outsourcing sub 17.9.2011

Lab 2000 labm@ster 5086B-TRF

128 procesora! sub 17.9.2011

AMD FirePro V4800, V5800 i V7800 vs Nvidia Quadro 600 i 2000D

Naramak profesionalnih sub 17.9.2011

Google i Motorola

Zaštitni faktor sub 17.9.2011

Zakon o elektroničkim komunikacijama

Država protiv spama sub 17.9.2011