128 procesora!
- autor Ivan Voras
- sub 17.9.2011
- 00:01
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.
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















