You are on page 1of 14

SVEUILITE U MOSTARU

FAKULTET PRIRODOSLOVNO MATEMATIKIH I


ODGOJNIH ZNANOSTI
STUDIJ: INFORMATIKA

Intel Xeon Phi procesori


Seminarski rad

Kolegij: Paralelno programiranje

Student: Ana Vila

Mentor: Sven Gotovac

Broj indeksa: 7649/I

Mostar, Veljaa, 2015.

SADRAJ
1.

UVOD......................................................................................................................................1

2.

OBILJEJA INTEL XEON PHI PROCESORA.....................................................................2


2.1 ARHITEKTURA...................................................................................................................2
2.2 PROGRAMIRANJE..............................................................................................................4
2.3 MJERENJE PERFORMANSI..............................................................................................4

3. XEON PHI 5100 PERFORMANSE............................................................................................5


3.1 VEKTORSKE JEZGRE.........................................................................................................6
3.1.1. INSTRUKCIJSKA LATENCIJA...................................................................................6
3.1.2 INSTRUKCIJSKI THROUGHPUT................................................................................7
3.2 On-Chip I Off-Chip Memorija...............................................................................................8
3.3 PRSTENASTA POVEZANOST............................................................................................8
3.4 PCIe PRIJENOS PODATAKA............................................................................................10
4. ZAKLJUAK............................................................................................................................12
5. LITERATURA.13

1. UVOD
Kako potrebe za sve veom raunalnom moi rastu iz dana u dan razvile su se nove
arhitekture da zadovolje ove potrebe. Akceleratori poput GPU-a su jedan od naina da se to napravi
ali esto zahtjevaju popravljanje programskih kernela u specijaliziranim programskim modelima
kao to su CUDA(1) ili OpenCL(2). Za razliku od njih intelovi koprocesori pruaju standardne
programske modele koji su na raspolaganju intelovim arhitekturama kao na primjer OpenMP(3),
POSIX threads(4) ili MPI(5). Intel Xeon Phi koprocesori ukljuuju se na standardne PCIe slotove i
pruaju dobro poznatu, standardnu arhitekturu dijeljene memorije.
Novosti u Xeon Phi Arhitekturi odnose se na pet komponenti:

Vektorske jezgre

On-chip memorija

Off-chip memorija

Prstenasta povezanost

PCIe veza

Budui da su ovo glavna obiljeja koja Xeon Phi razlikuju od tipinog CPU-a - vektori su
iri, mnogo je vise jezgri, koherencija kea, djeljena memorija I prstenasta povezanost - ovo su
obiljeja Phi-a na koja e se ovaj rad fokusirati.

2. OBILJEJA INTEL XEON PHI PROCESORA


Baziran na intelovoj MIC(6) arhitekturi, Intel Xeon Phi je jedan od rijetkih pravih
viejezgrenih procesora kategoriji novih high-throughput arhitektura koje ciljaju na HPC. Da bi
postigao visoke performance (oko 1 TFlop) Intel Xeon Phi koristi oko 60 jezgri i 30 MB on-chip
keeva, te se oslanja na tradicionalne vise-jezgrene znaajke kao to su SIMD/SIMT (7), visoki
throughput I visoke frekvencije, ali dodaje I neke nekonvencionalne kao to su ukupna povezanost
L2 kea I prstenasta meupovezanost a sve to u cilju performansi I korisnosti.
Intel Xeon Phi koprocesori pruaju razliite konfiguracije da bi zadovoljili razliite
hardverske i softverske potrebe te zahtjeve za performansama I efikasnou. Tri su familije Xeon
Phi koprocesora:

Intel Xeon Phi Coprocessor 3100 familija pogodna za zadatke sa visokom potrebom

za paralelizmom kao to su MonteCarlo, Black-Scholes, HPL, LifeSc i slino.


Intel Xeon Phi Coprocessor 5100 familija pogodna za zadatke koji su vezani za
irinu memoriju kao to su STREAM i kapacitet memorije kao to je ray-traicing ili

oboje kao na primjer RTM (reverse time migration)


Intel Xeon Phi Coprocessor 7100 familija prua najvei broj mogunosti I najbolje
performance. Podrava Intel Turbo Boost technology 1.0, koja pojaava frekvenciju
jezgri tijekom rada ako to dozvoljavaju termalni uvjeti.

2.1 ARHITEKTURA
Intel Xeon Phi sadri vise od 50 dvosmjerno povezanih jezgri na ploici (u ovom radu
detaljnije obraen model iz serije 5100 koji koristi 60 jezgri) i 16 memorijskih kanala I omoguuju
brzinu od 5.0 GT/s (gigatransfera). Ako je potreban kao akcelerator Phi se povezuje na host-a putem
PCI Expresa slino kao I GPU akceleratori, ali za razliku od njih koristi ugraen Linux OS
(verzija: 2.6.38.8). Slika 1 prikazuje arhitekturu Intel Xeon Phi procesora.

Slika 1: Intel Xeon Phi Arhitektura

Svaka jezgra sadri 512 bit iroku vektorsku jedinicu (VPU) sa vektorskim registrima (32
registra po sadraju dretve), 32KB L1 podatkovnog kea i 32KB L1 instrukcijskog kea te 512 KB
privatnog jezgrenog unificiranog L2 kea. Ukupno, za 60 jezgri to je 30MB L2 kea na jednoj
ploici. L2 keevi hardverski se odravaju potpuno usklaenima I koriste DTD (distribuirane
oznake direktorija). Vano je primjetiti da direktorij oznaka nije centraliziran nego podijeljen na 64
DTD-a, gdje svaki dobiva jednak dio adresnog prostora I jednako je odgovoran za odravanje
globalne koherentnosti.
Jo jedna od posebnih znaajki Phi-a je brzo prstenasto dvosmjerno povezivanje gdje svi
povezani djelovi komuniciraju preko prstena, koristei posebne kontrolere nazvane ring stop da bi
ubacili zahtjeve I primili odgovore na prstenu.
Novosti u Xeon Phi Arhitekturi odnose se na pet komponenti:

Vektorske jezgre
On-chip memorija
Off-chip memorija
Prstenasta povezanost
PCIe veza

Budui da su ovo glavna obiljeja koja Xeon Phi razlikuju od tipinog CPU-a - vektori su
iri, mnogo je vise jezgri, koherencija kea, djeljena memorija I prstenasta povezanost ovo su
obiljeja Phi-a na koja e se ovaj rad fokusirati.

2.2 PROGRAMIRANJE
Za programere koji su navikli na jezike visoke razine, kao to su C/C++ ili Fortran,
koprocesor izgleda kao simetrini multiprocesor MPI na jednom ipu. U usporedbi sa
5

akceleratorima smanjuje potrebu za mjenjanjem programa kao to je to potrebno za CUDA-u ili


OpenCL iako Phi koprocesori takoer podravaju OpenCL.
Dva su naina na koja aplikacija moe koristit Xeo Phi processor:
1. Offload mode glavna aplikacija radi na hostu I samo iskrcava odabrane,
visoko paralelne dijelove koda na koprocesor
2. Native mode aplikacija radi nezavisno, samo na Xeon Phi-u I moe
komunicirati sa glavnim procesorom ili drugim koprocesorima kroz sistemsku
sabirnicu.
Za programiranje aplikacija na Phi-u korisnik mora iskoristiti i funkcionalnost i paralelizam.
S obzirom na to da je arhitektura Xeon Phi-a x86 SMP na ipu, Phi prua mogunost koritenja istih
alata i programskih jezika i modela, kao to su Pthreads, OpenMP, Intel Cilk Plus i OpenCL, koje
koristi I obini intel Xeon procesor. Drugim rijeima aplikacije koje rade na obinom intel Xeon
procesoru radit e i na Phi-u. Ova uniformnost uvelike smanjuje kompleksnost razvoja softwera.

2.3 MJERENJE PERFORMANSI


Da bi se pokazala sva svojstva Xeo Phi-a potrebno ih je naravno izmjeriti. Mjerenje se vri
na svakoj mogunosti zasebno, u izolaciji i pod optereenjem a rezultati performansi prikazuju se i
latencijski orijentirani I throughput orijentirani. Sustav mjerenja prikazan je na slici 2.

Slika 2: Mjerenje performansi Xeon Phi-a

Latencija je vrijeme potrebno za izvravanje operacije I vraanje rezultata. Latencija se


fokusira na mjerenje jedne akcije od njenog poetka do kraja, te ta operacija mora biti izolirana I
izmjerena ne intruzivnom metodom mjerenja. Mjerenje latencije izvreno je na jednoj niti (za
individualne operacije) I dvije niti (za operacije prijenosa).

Throughput je broj operacija izvren u odreenom vremenu, kako vei throughput znai
bolje performance mjerenje je fokusirano na mjerenje maksimalnog mogueg throughput-a za
razliite operacije. Kod mjerenja maksimalnog throughput-a glavni izazov je stvoriti zahtjeve tako
da je resurs na kojem se radi mjerenje maksimalno iskoriten.

3. XEON PHI 5100 PERFORMANSE


U daljnjem tekstu predstavljeni su detaljni rezultati performansi Xeon phi procesora za latenciju I
throughput za sljedee komponente:

Vektorske jezgre
On-chip I off-chip memorija
Prstenasta povezanost
PCIe veza

3.1 VEKTORSKE JEZGRE


Za mjerenje latencije I throughput vektorskih jezgri koristi se metoda u kojoj se latencija
mjeri kroz niz nezavisnih instrukcija kao naprimjer instrukcijski tok u kojem iako su instrukcije
povezane prisiljene sun a nezavisno izvravanje.
Za mjerenje throughput koritena je metoda koja koristei sve raspoloive jezgre i istrauje
faktore koji su potrebni za postizanje teoretskog maksimuma na Xeon Phi-u.
3.1.1. INSTRUKCIJSKA LATENCIJA

Xeon Phi koristi 177 vektorskih operacija koje moemo podijeliti u pet kategorija:

Mask operacije
Aritmetiko-logike instrukcije
Instrukcije pretvorbe
Permutacijske instrukcije
Proirene maytematike instrukcije

Rezultati mjerenja instrukcijske latencije mogu se vidjeti u tablici 1


7

OPERACIJA
kand, kor, knot, kxor
vaddpd, vfmaddpd,

KATEGORIJA
Mask operacija
Aritmetika operacija

LATENCIJA
2
4

vmulpd,vsubpd
Vcvtdq2pd, vcvtps2pd
Operacije pretvaranja
Vpermd, vpermf32x4
Permutacijska operacija
Vexp223ps, vlog2ps,vrsqrt23ps
Proirena matematika operacija
Tabela 1: instrukcijska latencija kod Xeon Phi-a

5
6
6

Mjerenje latencije vektorskih operacija je mjerenje vremena izvravanja niza od 100


operacija koristei isti format zmm1 = op(zmm1, zmm2) gdje su zmm1 i zmm2 dva vektora a op
operacija koju mjerimo. Koristei zmm1 kao izvorni i rezultatski operand, osiguravamo ovisnost
operacija, odnosno trenutna operacija ovisi o rezultatu prethodne.
3.1.2 INSTRUKCIJSKI THROUGHPUT

Intel Xeon Phi processor 5100 ima 60 jezgri koje rade na 1.05 GHz I svaka od njih moe
obraditi 8 double-precision elemenata u trenutku sa maksimumom od dvije operacija (multiply-add
odnosno mad) u svakom traku (na primjer vektorskom elementu). Prema tome teoretski je mogue
postii throughput od 1008 GFlops. Ali jesu li performance od 1 TFlopa mogue? Rezultati
mjerenja throughputa prikazani su na grafu 1.

Graf 1: Aritmetiki throughput na 60, 120 i 240 dretvi

Za mjerenje throughput pokrenute su 1,2,4 dretve po jezgri (60, 120 I 240 dretvi), tijekom mjerenja
svaka dretva obavlja jedan ili dva instrukcijska toka za fiksni broj iteracija:

bi +1=bi op a

gdje je
8

i iteracija, a konstanta a b operand i rezultat. Kao to se moe vidjeti u grafu maksimum throughput
moe se postii pri upotrebi 240 dretvi I multiply-add operacije. Jo moemo primjetiti da je
throughput zapravo jako nizak kod pozivanja 1 dretve po jezgri, zato bi programeri trebali koristiti
barem dvije dretve po jezgri Xeon phi-a da bi u potpunosti iskoristili hardverske resurse procesora.
Da bi se postigao visoki throughput kod koritenja jedne operacije po toku, potrebno je pozvati
barem 4 dretve po jezgri da bi se sakrila latencija koja je jako visoka kod aritmetikih operacija.
Moemo zakljuiti da za koriteni miks operacija throughput ovisi ne samo o broju jezgri i dretvi
nego i o irini (npr: broju nezavisnih instrukcijskih tokova).

3.2 On-Chip I Off-Chip Memorija


Xeon Phi ima dva nivoa keeva, L1 I L2. L1 ke je 32 KB dok bi L2 trebao biti manji od 512 KB,
nadalje, latencija pristupa kea je oko 2.78 ns za L1 I 22.98 ns za L2, a sa korakom od 64 bytea Phiu je potrebno izmeu 287 I 291 ns za pristup podatcima u glavnoj memoriji (kada je veliina skupa
podataka vea 512KB).
Xeon Phi 5100 ima 16 memorijskih kanala, svaki irok 32 bita, a sa brzinom prijenosa do 5.0 GT/s
teoretska brzina prijenosa dostie 320 GB/s ali maksimalna brzina za read I write operacije u
stvarnosti je puno nia to se moe vidjeti na grafovima 3 i 4.

Graf 3: brzina za operaciju read

Graf 4: brzina za operaciju

write

Kao to moemo vidjeti maksimalna brzina prijenosa je puno nia od teoretskih 320 GB/s,
ali se brzina poveava za brojem dretvi, to se dogaa jer upotrebom vise dretvi aljemo vise
zahtjeva memorijskim kontrolerima. Ako ciljaju na bri prijenos podataka programeri trebaju
pokrenuti to vise dretvi da bi poplavili memorijske kanale I postigli maksimalnu brzinu itanja
od 164 GB/s (60 ili vise dretvi). S druge strane maksimalna brzina spremanja od 76 GB/S postie se
tek pri koritenju 240 dretvi. Xeon Phi podrava hardverski (HWP) i softverski (SWP) prefetching
9

a na grafu moemo vidjeti promjene u brzini pri razliitim konfiguracijama, a koritenje streaming
storea dodatno optimizira brzinu prijenosa pri spremanju podataka.

3.3 PRSTENASTA POVEZANOST


Na Xeon Phi-u jezgre i memorijski kontroleri su meusobno povezani dvosmjernim prstenom.
Kada vise dretvi zahtjeva podatke u isto vrijeme, zajednike komponente kao to su ring stops ili
DTD-ovi mogu postati usko grlo i smanjiti performance procesora. Da bi se provjerila ova hipoteza
potrebno je fiksirati dretve na jezgre i izmjeriti promjene u brzinama za razliite scenarije mapiranja
dretvi i jezgri. Za mjerenje koristi se mapiranje dretvi na razliite jezgre u tri osnovna uzorka:

Kompaktni jezgre se nalaze u blizini jedna druge


Raspreni jezgre su pravilno rasporeene na prstenu
Sluajni ID jezgri je nasumino izabrana

Brzine su mjerene koritenjem 2, 4, 8 i 16 jezgri a rezultati su prikazani u grafu 4.

Graf 4: Promjene brzine na tri razliita rasporeda koritenih jezgri

Moemo vidjeti da raspored jezgri na prstenu zapravo nema uinka na brzinu prijenosa podataka na
prstenu. Naime, jezgre na Xeo Phi-umoemo smatrati simetrinima i udaljenost meu njima nema
nikakvog uinka na postignute brzine prijenosa.
Poto svaka Xeon Phi jezgra podrava etiri hardverske dretve rezultat mjerenja brzine kada su sve
etiri dretve na istoj jezgri prikazan je na grafu 5.

10

Graf 5: brzine kada su dretve na istoj jezgri vs. na razliitim jezgrama

Moemo primjetiti kada su dretve pokrenute na istoj jezgri brzina se stabilizira izmeu 4 i 5
GB/s i da se brzina poveava kada se dretve pokrenu na razliitim jezgrama. Moemo zakljuiti da
kada dretve pokrenute na istoj jezgri istovremeno trae podatke dolazi do natjecanja za zajedniki
resurs (npr. Ring stops) i dovodi do serijalizacije zahtjeva, ali s pozitivne strane dretve na istoj
jezgri djele ke i imaju bri pristup podatcima.
Prethodni odlomak obrauje brzine pristupa kada razliite dretve pristupaju razliitim
memorijskim lokacijama ali postavlja se pitanje to se dogaa kada razliite dretve pokuavaju
istovremeno pristupiti istoj memorijskoj lokaciji. Mogli bi oekivati da postignute brzine
odgovaraju brzinama pojedine dretve ali mjerenja pokazuju da se brzina smanjuje kako se broj
dretvi poveava do 24 a zatim stagnira na oko 1.5 do 2 GB/s to je zapravo samo treina brzine
prijenosa koju moe postii pojedina dretva. Prema tome moemo zakljuiti da se smanjenje
performansi javlja pri istovremenom pristupu DTD-ovima i da bi se iskoristile mogue brzine
prijenosa treba raditi palikacije u kojima veliki broj dretvi pristupa razliitim memorijskim
lokacijama.

3.4 PCIe PRIJENOS PODATAKA


Kada se koristi kao koprocesor Xeon Phi je za host (npr tradicionalni CPU) povezan putem PCIe
porta. Pri koritenju za offloading zadatci i potrebni podatci moraju biti premjetani izmeu dva
procesora, a ovakvi prijenosi su skupi kada se pogledaju ukupne performance programa. Postignuta
brzina prijenosa izmeu Phi-a i hosta moe se vidjeti (device to host) moe se vidjeti na Grafu 6.

11

Graf 6: brzina prijenosa Phi Host

Moemo primjetiti da brzina raste sa veliinom podataka i da je relativno stabilna, ali za zahtjeve
iznad 32 MB moemo vidjeti velike varijacije i naglim padom srednje brzine. Razlozi za ovakav
nagli pad brzine i ovako velike varijacije su nepoznati.
Jedna od prodajnih toki Phi procesora je mogunost koritenja programskih modela ve
napisanih za vise-jezgrene procesore ali za potpuno iskoritavanje hardverskih mogunosti Phi-a
prepravljanje koda i runa vektorizacija, koji unitavaju portabilnost koda, su obavezne. Ukratko,
oslanjati se na compiler i koristiti tradicionalne programske modele za postizanje visokih
performansi na Phi-u je jo uvijek nemogue.

12

4. ZAKLJUAK
Iz svega navedenog moemo zakljuiti da je intel Xeon Phi processor uistinu Highthroughput platforma, a maksimalni throughput je ostvariv ali ovisi o broju dretvi i dretvi po jezgri,
koritenju 512 bitnih vektora i tipu operacija. Xeon Phi koristi efektivan pristup memoriji ali
maksimalne realne brzine od 164 GB/s za itanje i 76 GB/s za spremanje podataka su daleko od
teoretskih 320 GB/s. Prstenasta povezanost kod Phi procesora dovodi do toga da sve jezgre
moemo smatrati simetrinim vrnjacima te njihova udaljenost nema nikakve veze sa brzinama
prijenosa.

5. LITERATURA
13

http://www.colfax-intl.com/nd/downloads/Xeon-Phi-Coprocessor-Datasheet.pdf
https://www.microway.com/download/datasheet/Intel_Xeon_Phi_Coprocessor_Family_Brief.pdf
http://www.cs.rpi.edu/~chrisc/COURSES/PARALLEL/SPRING-2013/papers/intel-phi.pdf
http://www.pds.ewi.tudelft.nl/fileadmin/pds/homepages/fang/papers/icpe2k14a22.pdf

14

You might also like