Está en la página 1de 30

Performanse procesora

Univerzitet u Kragujevcu, Tehniki fakultet , aak

Seminarski rad

predmet:Analiza performansi raunara tema:Procesor

profesor:Sinia Rani

student:Ivan Mihailovi broj indeksa:46/2005

jun 2009
1

Performanse procesora

SADRAJ:
1.Osnovno o procesoru................................1 1.1.Funkcije procesora...........................................................2 1.2.Jedinice kojima se meri brzina procesora......................3 1.3.Kratka istorija....................................................................3 2.Racunarski sistem.....................................................................3 3.Savremene tehnologije procesora...........................................4 4.Poboljanje performansi racunara pomou hiperobrde po vie niti (hyper threading)................................................. .........9 4.1Centralna procesorska jedinica: sve je u vremenu........10 4.2.Hardver.............................................................................10 4.3.Operativni sistem.............................................................11 4.4.Aplikacioni programi.......................................................12 4.5.Performansa.....................................................................13 4.6.Zakljuak.13 5.Multi-core procesori 5.1.ta nudi double-core.14 5.2.Problemi koji se javljaju kod korienja dual-coreova...........................................................................................17 5.3.ip multi-procesorske arhitekture kao pristup da se pobolja propusnost i latencija............................................20 5.4.Neke definicije..................................................................20 5.5.Programiranje paralelnih maina...................................21 5.6.Softverski problemi...........................................................22 6.INTEL.........................................................................................23 6.1.Intel Core i7 (kodni naziv Nehalem)..23 6.2.Intel QuickPath Arhitektura..24 6.3.Intel Turbo Boost tehnologija..25 6.4.Intel Hyper-Threading tehnologija..25 6.5.Intel Intelligent Power tehnologija..26
2

Performanse procesora

1.Osnovno o procesoru
U okviru svakog racunara nalazi se komponenta pod nazivom procesor, formalnije nazvana centralna procesorska jedinica (eng. Central Processing Unit CPU). Procesor ima dve uloge: da dekodira i izvrsava skup masinskih instrukcija (tj. racunarski program) i da vrsi obradu podataka. Procesor obavlja tri osnovne operacije: Koristeci aritmeticko-logicku jedinicu ALU (eng. Arithmetic/Logic Unit) izvrsava matematicke operacije nad podacima, Upisuje ili cita podatke iz memorije ili komunicira sa ulazno/izlaznim uredajima, Donosi odluku da prede na novu instrukciju ili novi skup instrukcija. Odgovarajucom kombinacijom osnovnih operacija procesor moze da obavi znatno slozenije zadatke.

Procesor je po strukturi veoma slozeno elektricno kolo, realizovano kao jedinstveno integrisano kolo. Integrisano kolo (cesto nazivano i cip (eng. chip) predstavlje elektricno kolo koje je u potpunosti izvedeno na jednom komadu silicijuma. Kod savremenih procesora stepen integracije je veoma visok, tako da procesori sadrze stotine miliona tranzistora na centimetru kvadratnom. To su dakle VLSI kola (eng. Very Large Scale of Integration). Dimenzije procesora su male i njegova povrsina ne prelazi nekoliko centimetara kvadratnih. Kako se radi o glavnoj komponenti racunarskog sistema njegove performanse imaju presudan uticaj na performanse sistema. Osnovni kvalitet procesora je u njegovoj brzini rada. Elementi koji uticu na brzinu rada procesora su: Radna ucestanost (takt) kod savremenih PC procesora reda GHz, Sirina magistrale (propusnost) kod savremenih PC procesora 32 ili 64 bita, Skup instrukcija tj. koliko je instrukcija potrebno da se izvrsi odredena operacija itd. Mera za ocenjivanje performansi procesora je MIPS (eng. Million Instructions Per Second). Ona oznacava broj prosecnih instrukcija (izrazen u milionima) koje procesor izvrsi u jednoj sekundi. Zavisi od ucestanosti pojavljivanja instrukcije i radne ucestanosti (takta) procesora. Mera koja se odnosi na brzinu 3

Performanse procesora izvrsavanja instrukcija u pokretnom zarezu zove se MFLOPS (eng. Million Floating Point Instructions Per Second).

Slika 1. Osnovni elementi mikroprocesora

1.1.Funkcije procesora
Procesor (centralni procesor, centralna jedinica) predstavlja programski upravljan digitalni ureaj koji obavlja sledee funkcije: na osnovu instrukcija obrauje podatke izvravanjem nad njima relativno prostih operacija-mainskih operacija; donosi odluke u procesu obrade o toku odvijanja izvrenja instrukcija programa; upravlja ostalim komponentama raunara; obezbeuje prenos podataka izmeu komponenata raunara, kao i razmenu podataka sa spoljnim okruenjem. Procesor radi izvravajui program smeten u operativnu memoriju, koji se sastoji od sledeih aktivnosti: prenos (pozivanje) svake instrukcije iz operativne memorije u upravljaku jedinicu; prenos podataka iz operativne memorije ili registra procesora u aritmetiko-logiku jedinicu; izvrenje (realizacija) operacije predviene tom instrukcijom; pamenje rezultata u operativnoj memoriji ili registrima. 4

Performanse procesora

1.2.Jedinice kojima se meri brzina procesora


Najbitnija karakteristika savremenih procesora jeste radni takt, i on se danas meri gigahercima - tu nema mnogo nedoumica, ali se one pojavljuju kod osnovne frekvencije. Razvoj procesora tekao je bre od razvoja ostalih delova racunara, pa su negde kod frekvencije od 50 MHz magistrale pocele da zaostaju; reenje je nadeno u dvojnoj brzini procesora: dok obraduje podatke, on radi vecom brzinom, a kada pristupa magistrali, brzina se smanjuje. Tehnicki gledano, to je reeno tako to procesor dobija nii radni takt i njega koristi u komunikaciji s magistralom; kad se bavi "unutranjim poslovima", on taj takt udvostruci (utrostruci, udesetostruci itd.). To u praksi znaci da ce npr. Athlon na 1,2 GHz sa osnovnom frekvencijom od 133 MHz u proseku raditi bre nego Athlon na 1,2 GHz osnovne frekvencije 100 MHz, jer bre pristupa magistrali. Neki procesori su radili bre od konkurentskih sa istim radnim taktom, pa su iz reklamnih razloga uvedene oznake koje sugeriu vii radni takt od stvarnog ranije je to radio Cyrix, a danas AMD. Primera radi, Athlon XP 2400+ radi na 2 GHz, a oznaka 2400 ukazuje na performanse uporedive s konkurentskim Pentiumom 4 frekvencije 2,4 GHz. U vezi s frekvencijom je i zagrevanje procesora: vii radni takt znaci vie toplote. Ovaj problem konstruktori pokuavaju da otklone smanjivanjem dimenzija tranzistora u procesoru. Vecina dananjih procesora ima elemente velicine 0,13 mikrona, a pojavljuju se i procesori uradeni 0,09-mikronskom tehnologijim. U svakom slucaju, za hladenje je vaan dobar hladnjak, a jo su vaniji dobar kontakt i termoprovodna pasta izmedu procesora i hladnjaka.

1.3.Kratka istorija
Prvi mikroprocesor je bio Intel 4004, napravljen 1971. godine. Gledajuci iz perspektive sadasnjeg vremena, to je bio slab procesor, sposoban samo da sabira i oduzima. Ipak, njegov veliki znacaj je bio u tome sto sve bilo na jednom cipu. Prvi mikroprocesor koji se nasao u kucnim racunarima bio je Intel 8080, 8-bitni procesor nastao 1974. godine. Od tada do danas mikroprocesori dobili na brzini, efikasnosti i kompleksnosti.

2.Racunarski sistem
5

Performanse procesora

Kao sto je vec receno, procesor izvrsava kompjuterski program, koji predstavlja skup masinskih instrukcija kojima korisnik opisuje zadatke koje daje racunaru. Medutim, program nije smesten u procesoru. Program je smesten u memoriji. Instrukcije i podaci definisani u okviru programa nalaze se u memorijskim lokacijama i procesor im selektivno pristupa.

Procesor koji je odgovarajucim magistralama povezan sa memorijom predstavlja racunarski sistem. Sistem sa slike se naziva racunar sa memorisanim programom (eng. Stored program computer). Ovakav sistem cesto se naziva i von Neumann-ov racunar, po matematicaru John von Neumann-u koji je jos 1945. razvio ovu strukturu na Prinston Institutu za napredne nauke. Jos uvek je osnova za gotovo sve racunare i do danasnjih dana.

3.Savremene tehnologije procesora


Poveanje performansi procesora raunara moe se postii na dva naina: poveanjem radnog takta i boljim tj. efikasnijim dizajnom procesora. Proizvoai su se do sada preteno oslanjali na prvi metod stalna unapreenja tehnolokog procesa izrade obezbeivala su sve manje tranzistore koji zahtevaju manje struje, manje disipiraju toplotu i tako mogu da rade na viim radnim taktovima. Svakih nekoliko godina bi izaao novi dizajn koji bi se u narednih nekoliko godina ubrzavao sitnim prepravkama, optimizacijama i poveanjem radnog takta. Ipak, pre otprilike godinu dana, ova tehnika je konano zakazala. Dalje ubrzavanje procesora dodavanje megaheraca postalo je izuzetno skupo i teko, a proizvoai su primorani da nau drugo reenje. Intel je dogurao do 3,8 GHz. Skoro etiri gigaherca zvui impresivno, ali, ako se setimo da je Intel pre vie od dve godine najavljivao da e Pentiumi 4 pregurati 5 GHz, onda se 3,8 GHz moe smatrati neuspehom. Na to treba dodati da je jezgro Prescott i uvedeno da bi se konano prela brojka 4 na gigahercnoj skali. Trebalo je da 90 nm proces izrade i dui pipeline budu dovoljni, ali konaan dobitak je bio mali 6

Performanse procesora svega 600 MHz s obzirom na to da su P4 sa jezgrom Northwood dogurali do 3,2 GHz.

Performanse procesora

Ista je situacija sa kompanijom AMD. Stari Athloni sa jezgrom K7 su dogurali do 2200 MHz pa je bilo vie nego oekivano da e generacija K8, Athloni 64 i FX, dosegnuti makar 3 GHz. Ni to se nije desilo. Athloni 64 sa NewCastleom i Winchesterom stigli su do 2,4 GHz, a prelazak na Venice i jezgra San Diego i 90 nm tehnoloki proces obezbedili su svega 400 MHz vie (najbri Athlon FX 57 radi pri uestalosti od 2,8 GHz). Pri tome, top-modeli su strahovito skupi, dok pristupaniji modeli nisu dovoljno bri od nekoliko godina starih Athlona XP i Pentiuma 4. Zato su se korisnici koji imaju procesor iz poslednje serije Athlona XP ili Pentiuma 4 sa jezgrom Northwood teko odluivali za upgrade, a iz tog razloga popularni Bartoni i Nortvudi i dalje dre cenu i uopte se teko nalaze na tritu polovnih komponenti. Proizvoaima je bio potreban nov nain za realno podizanje performansi procesora. Friziranje proizvodnog procesa i broja megaherca nije davalo rezultate i bilo je jasno da se problemu moralo prii s druge strane. Za to vreme, serveri i napredne radne stanice nisu imali ovih problema. Korisnici ovih raunara nemaju probleme sa cenom, a kada cena nije problem, reenje je poznato i zove se multiprocesiranje tj. korienje vie procesora ili ak vie raunara s vie procesora kao jedne celine. Ipak, ovo reenje zahteva veoma specifine komponente koje su sve samo ne jeftine pa su vieprocesorski raunari namenjeni obinim smrtnicima veoma retka pojava. Ipak, ovde se nazire reenje problema s poetka teksta. Kako bi izgledalo spojiti najbolje iz oba sveta, tj. preneti koncept multiprocesiranja u desktop segment tako da raunar ima vie procesora, ali da se i dalje koriste standardne povoljne komponente karakteristine za desktop raunare? Na ovu ideju su inenjeri iz AMD-a i Intela doli tokom 2004. godine, da bi sredinom ove godine praktino istovremeno obe kompanije predstavile potpuno nov koncept namenjen desktop raunarima i jeftinijim radnim stanicama viejezgarne procesore! Ovo reenje je ve poznato u serverima i jakim radnim stanicama, ali tek sada korisnici ne moraju da plate poseban hardver. Novi viejezgarni Athloni i Pentiumi rade u standardnim matinim ploama i koriste klasinu memoriju, grafike i sve ostale kartice! Iz sveta servera je preuzeto samo multiprocesiranje, ime Intel i AMD konano dobijaju mogunost da korisnicima ponude znatno bolje performanse, ali tako da cena celog raunara ostane u razumnim okvirima. AMD je prvi izbacio svoj proizvod logino nazvan Athlon 64 X2. U pitanju je Socket939 procesor koji u sebi sadri posebno jezgro Manchester ili Toledo koje se sastoji od dva jezgra Venice tj. San Diego. Razlika je u koliini L2 kea koji je na raspolaganju svakom jezgru Manchester poseduje dva puta po 512 kB, dok Athloni X2 sa Toledo jezgrom imaju dva puta po 1024 kB L2 kea. Svako jezgro ima svoj drugostepeni ke, ali dele jedan memorijski kontroler. Ovo reenje je bilo neophodno jer Athlon s dva kontrolera ne bi mogao da radi u ve postojeim s939 ploama. Ovo znai da oba jezgra dele isti memorijski protok tj. da svako jezgro teoretski raspolae sa samo 3,2 GB protoka u jednoj sekundi. Da bi se ovaj penal manje osetio, 8

Performanse procesora

AMD je dodao specijalnu vezu koja povezuje jezgra i omoguuje da ona meusobno razmenjuju podatke bez optereenja spoljnih resursa.

AMD Athlon X2 3800+ Ostatak specifikacije je identian starijim Athlon 64 procesorima. Podrane su 64-bitne i SSE3 instrukcije i tehnologija CoolnQuiet te standardna veza sa ip-setom, HyperTransport pri 1 GHz. Sve je upakovano u 199 mm2 veliku silicijumsku ploicu koja broji 233,2 miliona tranzistora. Intel je uhvatio neto drugaiji kurs nego AMD, pre svega jednostavniji. Pentiumi D, kako se zovu prvi dvojezgarni Intelovi procesori, pre bi se mogli nazvati dvoprocesorskim procesorima nego dvojezgarnim kao to je to sluaj sa AMD-om. Naime, jezgro koje koriste ovi Pentiumi, nazvano Smithfield, dobijeno je bukvalnim spajanjem dva jezgra Prescott, pri emu nema ak ni namenske veze izmeu jezgara pa komunikacija ide preko ip- seta. Iako poseduje dva jezgra Prescott koja se koriste u Pentiumima 4, prva serija Pentiuma D nema ukljuen HyperThreading koji karakterie sve Pentium procesore nekoliko godina unazad. SSE3 i EM64T instrukcije su prisutne, a modeli 830 i 840 podravaju i EIST tehnologiju za smanjenje toplotne disipacije. Jezgro Smithfield se izrauje u 90 nm procesu i konaan proizvod je povrine 206 mm2, sa oko 230 miliona tranzistora u sebi. Pakuje se u danas standardno LGA775 pakovanje, ali ne moe da radi u svim matinim ploama sa ovim podnojem. Tek i945 i i955X obezbeuju dovoljno struje za ove procesore i915 i i925X nisu na spisku podranih. Najbri X2 4800+ radi na istom taktu kao i najbri klasian Athlon 64, 2400 MHz, to govori da su jezgra Toledo i Manchester mnogo bolje optimizovana po pitanju potronje sa dva jezgra na 2,4 GHz Athlon X2 i dalje ne trai vie od 110 W. Intel je stao na 3,2 GHz uz potronju iste koliine energije, a dalje skaliranje podiglo bi potronju na vie od 130 vati, to nije predvieno trenutnim modelima ip-setova i matinih ploa. 9

Performanse procesora

Cene novih procesora su oekivano visoke: za Athlone 64 X2 treba platiti od 400 do 700 , dok je Intel, na opte iznenaenje, u startu jeftiniji najslabiji Pentium D moe se kupiti za manje od 300 . Modeli 830 i 840 su skuplji i odgovaraju ponudi AMD-a. Ipak, niska cena modela 820 nedvosmisleno ukazuje da Intel sa Pentiumom D pretenduje i na srednju klasu desktop procesora, za razliku od AMD-a koji niani samo vii segment. Ovo je posebno simptomatino kada se pogleda cena dodatnog jezgra. Primer je Athlon 64 3200+ (2 GHz, 512 kB L2 kea) koji kota neto vie od 200 , a takav dupli X2 3800+ potrebno je platiti preko 400 . Dodatno jezgro je, dakle, potrebno platiti kao i prvo. Intel je znatno povoljniji: Pentium 4 521 (2,8 GHz, 1 MB L2, EM64T) kota oko 190 , dok je dupli Pentium D 820 raspoloiv ve od 280 , to je svega 50% via cena. Drugi bitan faktor posle cene jesu performanse. Najvie nas je zanimalo koliko performansi donosi drugo jezgro u odnosu na jednojezgarni procesor na istom radnom taktu, ali i kako se dvojezgarni modeli nose sa jednojezgarnima sline cene. Kako smo na testu imali Athlon X2 3800+ i Pentium D 820, konkurencija su bili Athlon 64 3200+ i Pentium 4 520 koji rade na istom taktu (2 i 2,8 GHz) te Athlon 64 3800+ koji po AMD-u ima isti indeks brzine i Pentium 4 550 koji je po ceni najsliniji Pentiumu D 820. Da bi se iskoristile prednosti multiprocesiranja, potrebno je da softver bude tako napisan. Godinama unazad ozbiljne aplikacije se piu na ovaj nain pa nije bilo problema sa pronalaenjem test programa. Izabrani su 3ds Max 7, Photoshop 9 i najnoviji DivX 6, koji predstavljaju standardne alate profesionalaca koji se bave 3D modelingom i renderingom, obradom slika i videa. S druge strane, igre retko primeuju dodatno jezgro, ali smo i njih ukljuili u test igranje je sastavni deo korienja raunara, za mnoge korisnike i jedini. Od pravih igara tu su FarCry, Doom3 i Quake4, a od sintetikih testova 3DMark 03 i 05. Konano, PCMark 05 je sintetiki test istog proizvoaa i dobro prikazuje performanse raunara u celosti. Oekivano, 3ds Max je u potpunosti iskoristio drugo jezgro razlika u odnosu na singlecore verziju na istom taktu iznosi preko 90%. Photoshop je bio neto manje osetljiv na drugo jezgro, ali je ipak pokazao znaajan porast performansi. Koristili smo vie efekata i operacija koje su vie-manje pokazale iste rezultate da drugo jezgro donosi poboljanje od tridesetak procenata. Kodiranje video-zapisa kodekom DivX 6 pokazalo je sline rezultate. PC Mark 05 pokazuje bolji total rezultat kada raunar koristi dvojezgarni procesor, to je posledica CPU testa, a svi ostali sistemi (grafika, memorija i disk) rade identino. 3DMark 03 i 05 u grafikim testovima ne vide drugo jezgro, to je redovna i oekivana pojava, dok CPUMark oekivano favorizuje P-D i X2 jer se ovaj deo testa u potpunosti oslanja na procesorsku snagu.

10

Najbolje smo ostavili za kraj testove igara. Dok dve starije igre uopte ne vide (Doom3) ili jedva primeuju (FarCry) drugo jezgro i jasno favorizuju vii radni takt jednojezgarnih procesora, Quake4 je pokazao da se i u razvoju igara stvari menjaju. Quake4 je, po svemu sudei, prva igra koja je pisana tako da iskoristi MP mogunosti sistema. Skok nije ni priblian kao u ozbiljnim aplikacijama, ali je dovoljan da dupli Athlon pri 2 GHz postigne bolji rezultat od jednog koji radi na 2,4 GHz. Bez preterivanja, ovo je istorijski uspeh multiprocesorskih sistema jer je doskora bilo nezamislivo da igra profitira od drugog jezgra, pa makar to bilo skromnih 10% koliko smo izmerili kod najnovijeg potresa. ta smo na kraju dobili? Viejezgarni procesori su nesumnjivo budunost i korisnici ve sada treba ozbiljno da porazmisle o njima. Najvei broj ozbiljnih programa ve sada iskoriava prednosti ovakvih raunara razlike od 30 do 90 procenata nikako ne treba zanemariti. Ipak, ono to nas je oduevilo jeste napredak u igrama, ne toliko zbog samih igara koliko zbog injenice da se i ovde stvari pokreu. A ako se i igre optimizuju za multiprocesiranje, sigurno e uskoro i sav drugi softver biti tako pisan. Preporuka za dvojezgarni procesor? Definitivno, ukoliko vam treba ovako snaan procesor. Za prosenog kupca jednojezgarni procesor e jo dugo biti bolji izbor prosto zato to nema potrebu za ovako brzim i skupim procesorima. Ali, ukoliko mu je potreban procesor iz ovog cenovnog razreda, po svemu ovde prikazanom dvojezgarni procesori su ve sada bolje reenje. Zanimljivo je to dualcore modeli ne zaostaju za singlecore varijantama ni kad je u pitanju overklokabilnost. Primerak Pentiuma D 820 s naeg testa uspeno je radio na 3,64 GHz, dok je AMD X2 3800+ stigao do 2,4 GHz, to je solidnih 2030% ubrzanja. Jo jedan plus dvojezgarni procesori dobijaju za utisak o radu. Naoko, raunar znatno lake radi, ak i kada testovi pokazuju iste ili sline rezultate. Situacije u kojima je raunar pod optereenjem i sporije reaguje na komande praktino su eliminisane s obzirom na to da je jo uvek nemogue potpuno uposliti oba jezgra i uvek se nae viak snage koji osigurava da raunar uvek i odmah reaguje na komande. AMD ili Intel? AMD Athlon 64 X2 je svakako bolji procesor jer pokazuje vei skok performansi i generalno bolje rezultate, ali je ak i najslabiji model veoma skup. AMD-u je uteha to X2 3800+ realno odgovara Pentiumu D 830 od kojeg je X2 3800+ i bri i jeftiniji pa AMD i dalje ima bolji odnos cene i performansi u odnosu na konkurentske modele. Problem je ta sa Pentiumom D 820 za koji AMD nema odgovor...

4.Poboljanje performansi racunara pomou hiperobrde po vie niti

(hyper threading)
Kao pravi korisnici raunara u stilu umri muki, svi mi elimo da oni budu to je mogue bri. Mnogi od nas bi hteli da pronadju malo dodatnih podeavanja i mogunosti nadogradnje ne bi li poboljali performansu, jer nema nieg goreg od zurenja u asovnik, dok se vae mezime mui sa nekakvim kabalistikim proraunima ili izgubljenim video kadrovima. Ima mnogo naina da se optimizuje raunarska performansa kroz razliite vrste nadogradnji, ali onaj najbolji, za mene je uvek bio kupovina novog hardvera. U ovom trenutku, u toku je trka izmedju kompanija Intel i AMD, ko e od njih uspeti da napravi najveu zlou medju centralnim procesorskim jedi- nicama. Kao to svi moemo da vidimo, procesori su postajali sve bri i bri, kako zbog zahteva, tako i zbog konkurencije. U tabeli koja sledi, prikazani su detalji nekih od uesnika u procesor- skoj trci i razvoj imena i proizvoda njihovih znaajnijih procesora tokom poslednjih nekoliko godina. Proizvodja Intel Intel Intel AMD Intel Cyrix Intel AMD Intel AMD Intel Intel AMD VIA AMD Intel VIA AMD AMD Intel AMD Intel Tip Pentium Pentium Pro Pentium MMX K6 Pentium 2 MII PR300 Celeron K6-2 Xeon K6/3 Pentium III Pentium III Xeon Athlon Cyrix III Duron Pentium 4 C3 Athlon 4 Athlon MP Xeon MP Athlon XP Xeon DP

Na nesreu, gornje granice brzine obrade dostignute su savremenim proizvodnim tehnikama, a vrlo uskoro glavni neprijatelj postae sama fizika. Da bi poveali brzinu, proizvodjai ipova, kao to su Intel i AMD, stvorili su nove arhitekture centralnih procesorskih jedinica, kako bi ob- radjivali informacije, ne toliko bre koliko bolje, u smislu iskorienja sve raspoloive procesor- ske snage. Na scenu stupa Intelova hiperobrada po vie niti (HyperThreading).

Hiperobradu po vie niti stvorili su u Intelu pre nekoliko godina, kao nadogradnju u arhitekturi centralnih procesorskih jedinica i tiho su je integrisali u neke od svojih procesora za potrebe razvoja i ispitivanja. Tehnologija na kojoj se zasniva hiperobrada po vie niti je nova igra, koja se vrti oko ideje simultane tehnologije vie niti (SMT, simultaneous multi-threading technology), gde je vie centralnih procesorskih jedinica upotrebljeno da obradjuje vie

programskih niti odjednom.Obrt u celoj stvari je u tome to su u Intelu, umesto da koriste vie fizikih procesora, stvorili vie logikih procesora unutar jedne fizike centalne procesorske jedinice. Zato su to tako uradili? U Intelu ljdui razumeju da su procesori po svojoj prirodi neefikasni i da raspolau sa dosta raunarske moi koju nikada ne uspevaju da iskoriste; iz tog razloga, dva ili vie fizikih procesora su svakako bolji od jednog, ali i dalje nisu efikasni. Hiperobrada po vie niti je nain da se stavi u pogon neiskoriena raunarska mo postojee centralne procesorske jedinice, kako bi se poboljala performansa bez potrebe za dodatnim fizikim procesorima. ta vie, postojei raunari mogu da se nadograde procesorima sa omoguenom hiperobradom po vie niti i tako dobije znaajno poveanje performanse [1].

4.1Centralna procesorska jedinica: sve je u vremenu


U centralnoj procesorskoj jedinici, svaki ciklus generatora takta ima mogunost da se u njego- vom trajanju izvri jedna ili vie operacija istovremeno. Medjutim, kao to sam ranije istakao, je- dan procesor moe da opslui samo toliko za vreme pojedinanog ciklusa generatora takta. Hi- perobrada po vie niti dozvoljava da jedna fizika centralna procesorska jedinica prevari opera- tivni sistem sposoban za operacije SMT, tako da on pomisli da postoje dva procesora. Hiperobra- da po vie niti stvara logike procesore da bi oni obradjivali viestruke programske niti u istom odseku vremena u kome bi jedan fiziki procesor normalno bio u stanju da izvede jednu operaciju. Postoji nekoliko prethodnih uslova koje treba da ispunite, pre nego to ponete da koristite pred- nosti koje prua hiper obrada po vie niti. Prvo i pre svega, morate da imate procesor koji omo- guava hiperobradu po vie niti. Dalje, va operativni sistem mora da bude u stanju da podrava obradu po vie programskih niti. I najzad, vrsta aplikacionih programa koji se koriste takodje pravi razliku u poveanju performanse. Hajde da pogledamo svaki od ovih elemenata, jedan po jedan.

4.2.Hardver
Hiperobrada po vie niti je oigledno nadogradnja hardvera koja treba da pomogne kako bi se is- koristilo neto od rasute raunarske moi centralne procesorske jedinice, ali ona takodje pomae operativnom sistemu i aplikacionim programima da rade efikasnije i da zato mogu da urade vie odjednom. Neke druge stvari koje treba uzeti u obzir i koje su izazvale hiperobradu po vie niti i druge sline tehike su u vezi sa trokovima i toplotom. U unutranjosti centralne procesorske jedinice postoje milioni tranzistora koji se ukljuuju i is- kljuuju kako bi obradjivali komande. Proizvodjai ipova tipino dodaju jo vie sirove rau- narske snage pomou daljeg poveavanja broja tranzistora. Vie tranzistora znai veu centralnu procesorsku jedinicu i vie toplote. Hiperobrada po vie niti pokuava da pobolja performansu bez znaajnijeg poveanja broja tranzistora koji postoji u ipu, to centralnu procesorsku jedinicu ini manjom i smanjuje koliinu proizvedene toplote. Prvo uvodjenje hiperobrade po vie niti bilo je na procesoru Xeon, koji je dozvoljavao znaajno poveanje performanse - do 65 procenata u primenama vrhunskih servera, u poredjenju sa upo- redivim centralnim procesorskim jedinicama bez hiperobrade po vie niti uz korienje manje od 5 procenata povrine procesora koji su utroeni da bi se ugradila nova tehnologija [2]. Dobitak u performansi je, svakako, stvar subjektivne procene i rezultati mogu da se menjaju, ali ako biste dobili i samo 10 procenata, to bi bilo vredno truda. U ovom trenutku, hiperobrada po vie niti zvanino se podrava na procesorima Xeon i svim procesorima Pentium 4 (P4) koji imaju oznaku "C". Ba sada, Intel obezbedjuje procesore sa hi- perobradom po vie niti koji rade na 3,00, 2,80, 2,60 i 2,40 GHz, kao i na 3,06 GHz ili ak i vie. Medjutim, ire se glasine da je hiperobrada po vie niti bila prisutna i na ranijim modelima cen- tralnih porocesorskih jedinica. Te glasine se verovatno zasnivaju na inenjerskim uzorcima koji imaju sposobnosti obrade po vie niti. Medjutim, poto je procesor Xeon razvijen pre

Pentiuma 4 i kako su Intelovi inenjeri pametni i verovatno bi ponovo upotrebili postojeu tehnologiju, sledi- lo bi da bi mnogi procesori P4 mogli imati ugradjenu hiperobradu po vie niti, ali jednostavno nemaju podrku skupa ipova koja bi je ukljuila. Mada je ovo isto nagadjanje, bilo bi vredno truda pogledati da li novi skupovi ipova koji podravaju hiperobradu po vie niti mogu da akti- viraju te funkcije u starijim centralnim procesorskim jedinicama P4. Funkcije hiperobrade po vie niti u centralnoj procesorskoj jedinici zahtevaju pravi skup ipova da ih aktivira. U ovom trenutku postoji vie skupova ipova kompanije Intel koji podravaju teh- nologiju hiperobrade po vie niti. Iscrpnu listu takvih skupova ipova moete da pronadjete na lokaciji http://www.intel.com/design/chipsets/ht/ . Matine ploe koje imaju ove podrane sku- pove ipova mogu da se pronadju na Web lokaciji kompanije Intel preko pretraivaa na http://appzone.intel.com/boards/index.asp . Obezbediti da sigurno izaberete "HT technology" u odeljku integrisanih osobina. U jednom od pretraivanja koja sam napravio, pronaao sam 343 matine ploe koje podravaju hiperobradu po vie niti, to znai da u Intelu sasvim ozbiljno vode rauna o ovoj tehnologiji, a to isto radi i njihova konkurencija. Izgleda da je kompanija VIA izbacila Hyper-gold sa svojim skupom ipova P4X400. VIA po svoj prilici veruje u sadanju generaciju procesora, zato to prave svoju sopstvenu matinu plou P4PB sa skupom ipova P4X400. Kompanija SiS ima vie skupova ipova koji podravaju hiperobradu po vie niti. Skup ipova SiS648FX je ugradjen u matinu plou Asus P4S800, a matine ploe sa tim skupom ipova u bliskoj budunosti potraite i kod firmi AOpen, Gigabyte i MSI. Izgleda da se svi proizvodjai hardvera prosto nadmeu da podravaju hiperobradu po vie niti ali, kao to sam ve pomenuo, za tu tehnolohiju pored hardvera potreban je i softver, pa da vidi- mo kakav je odgovor softverske zajednice.

4.3.Operativni sistem
Hiperobrada po vie niti poveava performansu u operativnom sistemu omoguavajui mu da konkurentno obradjuje vie niti. Da biste iskoristili tu mogunost, oigledno morate da imate operativni sistem, sposoban za rad po vie programskih niti. U ovom trenutku, podrka za hiperobradu po vie niti uklmuena je u operativni sistem Windows. Sledi lista nekih od verzija operativnog sistema Windows koje mogu da podre hiperobradu po vie niti: Windows 2000 Windows 2000 Server i Advanced Server Windows.NET Windows 2003 Server Potpunija lista moe da se pronadje u lanku na ovu temu iji je naslov "Serveri zasnovani na operativnom sistemu Microsoft Windows i Intelova tehnologija hiperobrade po vie niti". Postoji, medjutim, nekoliko pitanja u vezi sa operativnim sistemom Windows i hiperobradom po vie niti. Ako imate bilo koju verziju sistema Windows 2000, ve instaliranu kada nadogradjuje- te sistem sa procesorom koji ima sposobnost hiperobrade po vie niti, operativni sistem e mora- ti da se ponovo instalira, kako bi se iskoristile nove mogunosti. To vai i za Windows NT 4.0, ali postoje i dodatna pitanja upravljakih programa, koja bi mogla da se ree putem Microsoftove tehnike podrke. Slino tome, korisnici operativnih sistema Windows Me, Windows 98 i 98 SE nee moi da koriste prednosti hiperobrade po vie niti, zato to je te verzije operativnog sistema ne podravaju. Zato, ako i dalje koristite neki od tih operativnih sistema, mogli biste razmisliti o nadogradnji, kako biste imalu potpunu korist od osobina savremenog hardvera. [3]

Gorue pitanje je da li Linux ili drugi operativni sistemi podravaju hiperobradu po vie niti? Odgovor je definitivan: DA. Jezgro operativnog sistema za simetrinu vieprocesnu obradu (SMP, symmetric multiprocessing) 2.4.17 i novija, u potpunosti podravaju hiperobradu po vie niti. Vie verzija Linuxa je ve implementiraju u svoje serverske proizvode, a trebalo da bude ukljuena i u verzije Linuxa za stone sisteme koji podravaju vie procesora [4]. Isto tako, verzi- je FreeBSD 4.8 i 5.x imaju osnovnu podrku za hiperobradu po vie niti, ali biste morali da izvr- ite izvesnu rekonfiguraciju operativnog sistema kada nadgradite centralnu procesorsku jedinicu. Kada jednom imamo hardver i operativni sistem, kakva je korist od hiperobrade po vie niti ako nemamo i neku vrstu "ubistvene" aplikacije?

4.4.Aplikacioni programi
Kao to sam ve rekao, od hiperobrade po vie niti ima stvarne koristi samo u okruenju sa vie niti; prema tome, neke vrste aplikacionih programa e je iskoristiti u velikoj meri, a neki e po- kazati zanemariv porast u performansi. Postojee softverske i hardverske aplikacije namenjene prosenom korisniku nisu stvarno optimizovane za okruenja sa vie niti. To je razlog zato je Intel uveo hiperobradu po vie niti u liniji procesora Xeon, koji se koriste u vrhunskim serverima da rutinski izvravaju aplikacije sa obradom po vie iti. Medjutim, postoje neke tehnologije, ne- kada samo u vrhunskim aplikacijama koje su retko dolazile do vas ili do mene, kao to su Gigabit Ethernet, digitalno video snimanje i uredjivanje i reenja za skladitenje podataka, kao to su nizovi RAID. Tradicionalno, stariji raunari su se borili sa takvim aplikacijama i napredna dostignua u tehno- logiji, kao to su IEEE 1394 Firewire, USB 2.0, 3D grafike kartice, centralne procesorske jedi- nice koje rade na 2+ GHz i DDR memorija morala su da predju dug put pre nego to su donekle izravnala arenu. Hiperobrada po vie niti je samo jo jedan alat u arsenalu za poboljanje perfor- manse stonog sistema i pravljenje na potroakom nivou aplikacija koje su nekada zahtevale sku- pu specijalizovanu opremu. Moda se pitate koje aplikacije biste mogli da koristite da biste pokrenuli hiperobradu po vie niti? Pa, biete sreni kada saznate da, ako koristite vie od jedne aplikacije istovremeno, ve bi trebalo da ostvarite neki dobitak. Na primer, ako volite da sluate muziku ili gledate video sa Interneta dok radite na programu za tabelarni proraun i kopirate datoteke preko mree, tada e hiperobrada po vie niti pomoi; ali, ako je sve to radite jedna aplikacija istovremeno, kao to je Microsoft Word, neete imati mnogo koristi od hiperobrade po vie niti. Neke aplikacije bogate proraunavanjima, kao to su multimedijalne aplikacije (muzika, video, rukovanje slikom), 3D raunarske igrice (Unreal, Quake, itd.) i umreavanje e takodje imati koristi od hiperobrade po vie niti, ali e druge nadogradnje sistema, kao to su DDR400, Serial ATA diskovi i magistrala na 800 MHz, u kratkom roku uiniti vie. Medjutim, ne plaite se: po- stoje razvojni sistemi za softver koji su napravljeni raspoloivim da dozvole pojedinanim apli- kacijama da pokrenu mogunosti hiperobrade po vie niti, ali e biti potrebno vreme dok ih raz- vijaoci softvera ne ugrade u svoje aplikacije. U Intelu vide budunost raunarstva zasnovanu na aplikacijama obrade po vie niti i to je ono po emu se razlikuju od ostatka sveta, jer dodaju po- drku za istovremeni rad na vie zadataka i obradu po vie niti u svoje procesore i skupove ipova.

4.5.Performansa
Kao to sam ranije ve izjavio, hiperobrada po vie niti daje dva logika procesora u jednom fi- zikom pakovanju. Prema tome, svaki logiki procesor treba da deli spoljanje resurse (memori- ju, vrsti disk, itd.), a pored toga mora i da koristi isti fiziki procesor za

proraunavanja. Zbog deljene prirode procesora sa hiperobradom po vie niti, poveanje performasnse se nee skalirati u istoj meri kao prava multiprocesorska arhitektura. Performansa sistema bie negde izmedju one koju ima jedna centralna procesorska jedinica i multiprocesorski sistem sa dve uporedive central- ne procesorske jedinice. Na vie Web lokacija postoje informacije o poredjenju. Ako vas zani- maju numeriki rezultati, istraite sledee linkove: Hiperobrada po vie niti ubrzava Linux Intel: poredjenje radnih povrina Intel: poredjenje specifikacija procesora PCWorld.com: dve centralne procesorske jedinice su jedna? Ispitivanja performansi hiperobrade po vie niti Athlon XP 3000+, AMD-ov udarac po Intelu

4.6.Zakljuak
Na kraju, hiperobrada po vie niti je na granici napredovanja u performansi standardnog stonog raunara, ak i ako u ovom trenutku postoje ograniene takve aplikacije za prosenog korisnika raunara. Medjutim, ako raunarstvo za iroke narodne mase moe da ima koristi od hiperobrade po vie niti kao to je sluaj sa tritem servera, mogli bismo oekivati veliko poboljanje perfor- manse u bliskoj budunosti. Sa potpunom podrkom hardvera i operativnih sistema, na kraju e biti na proizvodjaima softvera da napiu programe koji e pokrenuti upotrebu hiperobrade po vie niti. Ako u Intelu imaju da kau neto o tome, oni e to uiniti, a zato i ne bi? Hiperobrada po vie niti ima izgleda da promeni nain kako mi gledamo na raunarstvo, prelaskom sa sirove snage i brzine na mnogo praktiniji pristup, u kome su procesori efikasniji i mogu da urade vie, uz manja ulaganja

5.Multi-core procesori
Zadnjih dvadesetak godina brojne inovacije su uvedene na mikroprocesora. Najzapaeniji rezultati su ipak ostvareni u sledeim oblastima: polju razvoja

1) Savremeni procesori rade na multi-gigahercnom podruju (> 3GHz). 2) Za implementaciju mikroprocesora koristi se submikronska tehnologija (< 65nm) sa naponima napajanja <1V (napajanje je smanjeno sa 3.3V na <1V). 3) Uvedene su brojne inovacije na arhitekturnom nivou (ke memorija, protonost, superskalarnost, superprotonost, VLIW, itd.) 4) Usavreni su kompajleri (pametni kompajleri). 5) Usavrena su EDA (Electronic Design Automation) sredstva za projektovanje. Ipak ini se kao da je kraj puta svih ovih inovacija postao vidljiv iz sledeih fizikih ogranienja: a) disipacija ipa je postala ograniavajui faktor b) poveane struje curenja su postale sve izraenije (DC disipacija se poveava posebno u sleep mode-u. ta pokazuju istraivanja Ako se uporede karakteristike jednog savremenog procesora tipa Freescale MPC 7448 koji radi na frekvenciji od 1.4 GHz, pri naponu napajanja od 1.3V, i L2 kea od 1.2 MB sa

procesorom MPC 7447 koji je iz iste familije ali neto starije verzije, koji radi na 1.4 GHz, pri naponu napajanja od 1.3V, a ima L2 ke od 512 kB, tada zakljuujemo da ostvarena poboljanja performansi nisu tako dramatina u odnosu na procenat novougraenog hardvera (poveanje kea sa 512 kB na 1.2 MB). Ispitivanja takoe pokazuju da uvoenje duboke protonosti ne obezbeuje tako drastino poboljanje performanse kakvo se i oekivalo iz razloga to procesor sada zbog raznih tipova zavisnosti (po podacima, resursima i upravljanju) eka na zavretak prethodne sekvencijalne instrukcije. Zbog ovoga savremeni procesori imaju najee od 7 do 8 protonih stepena, a Pentium 4 ak 32. Drugim reima, duboka protonost posebno kod industrijskih i embedded aplikacija nije dala oekivane rezultate kakvi su oni koji su postignuti kod desktop primena. Prelaz sa 32-bitnih na 64-bitne procesore opravdan je samo kod desktop aplikacija i kod radnih stanica, a ne i kod industrijskih aplikacija. Da bi savladali ove prepreke prjektanti su izlaz potraili u jednoj staroj ideji: ugradnjom veeg broja procesorskih jezgara na jedinstvenom ipu. Vei broj proizvoaa nudi danas dual- ili multi-core procesore.

5.1.ta nudi double-core


Koncept multi-core procesora nije nov. Do skoro on je bio prvenstveno ignorisan zbog visoke cene. Sledei faktori su bili konica zbog ega multi-core sistemi nisu bili masovno primenjivani: i) zauzimali su veliku povrinu na PCB ploi, ii) karakterisala ih je poveana disipacija, iii) iziskivali su ugradnju specijalnih softverskih zahteva koji bi se prvenstveno koristili za rasporeivanje zadataka izmeu procesnih elemenata (task scheduling) I ostvarivanja sinhronizacije u radu vieprocesorskog sistema. Na slici 1 prikazano je kako se sa poveanjem taktne frekvencije kod single-core procesora poveavaju performanse, ali i kako se drastino poveava i disipacija ipa to je jako nepovoljno. Bolji odnos performansi i disipacije se postie ugradnjom dual-core-a koji radi na frekvenciji f1.

Slika 1. Odnos izmeu taktne frekvencije i performansi kao i taktne frekvencije i potronje

Jedna tipina dual-core konfiguracija je prikazana na slici 2.

Slika 2. Primer dual-core eme

Dual-core procesor je dobro reenje za veliki broj industrijskih aplikacija jer se u najveem delu vremena vie od jedne akcije izvrava konkurentno. Funkcionalni zahtevi kod najveeg broja industrijskih aplikacija su sledei: a) istovremeno se prikupljaju podaci od strane veeg broja senzora i primopredajnika, b) obavlja se intenzivna obrada sirovih podataka radi potrebe prikazivanja i donoenja odluka o upravljanju radom sistema, c) imperativ je egzistencija upravljanja radom sistema i reakcija u realnom vremenu u odnosu na ponaanje radnog okruenja. Na osnovu prethodnog od procesora koji se apliciraju u industriji se oekuje da poseduju: 1) visoke performanse, 2) malu potronju, 3) sposobnost da se na spoljne dogaaje odazivaju u realnom vremenu, 4) prihvataju i brzo procesiraju podatke od veeg broja senzora i aktuatora preko kojih se komunicira sa radnim okruenjem. Dual-core procesori, kao tipini reprezenti savremenih reenja, mogu da procesiraju dva zadatka istovremeno (vidi sliku 3).

Slika 3 Dual-core moe da istovremeno procesira dva zadatka Na slici 4 prikazano je kako se dual-core moe aplikacije, radi manipulisanja sa control plane i data plane. programirati, kod konane

5.2.Problemi koji se javljaju kod korienja dual-core-ova


I pored toga to ideja o izvrenju nekog programa na multi-core sistemu moe da izgleda logina, ipak treba naglasiti da postoje brojni izazovi sa kojima se projektanti moraju suoiti (u fazi projektovanja multi-core sistema), a oni se ogledaju u sledeem: a) na koji nain u programu treba naznaiti koji se deo koda mora izvravati od strane kog core-a, b) kako sinhronizovati rad veeg broja core-ova, c) kako podeliti OS, d) kako podeliti zajednike resurse, e) kako uiniti kod prenosivim, i f) na koji nain debagirati program.

Da bi se ostvarilo potpuno iskorienje dual-core procesora, OS mora biti u stanju da prepoznaje multi-threading a da aplikacioni softver kao kod sadri simultaneous multi-threading (SMT) tehnologiju. To znai da SMT dozvoljava paralelno izvrenje nekoliko thread-ova. Bez SMT-a softver prepoznaje samo jedan core. U principu postoje dve glavne arhitekture koje se koriste za upravljanje multi-core arhitekturom, a to su SMP (Symmetric Multi-Processing) i AMP (Asymmetric Multi-Processing). SMP je multi-core raunarska arhitektura kod koje svi procesori dele isti OS i kod koje multithreaded aplikacioni softver moe da prelazi (da se izvrava) na bilo kom core-u. Da bi bili efikasni ova konfiguracija pretpostavlja da je aplikacija kreirana koristei multi-threaded kodne tehnike (SMT) koje omoguavaju aplikacionim thread-ovima da se konkurentno izvravaju na bilo kom core-u. Alokacija (dodela) resursa izmeu razliitih core-ova se ostvaruje veoma lako jer njom upravlja jedinstveni (zajedniki tj. deljivi) OS. SMP bazirani sistemi se karakteriu poveanim performansama ak i u sluaju kada se implementiraju na jedno-procesorskim sistemima. Razlozi za ovo su smanjenje broja hardverskih prekida koji se opsluuju od strane kernela a koji u sutini suspenduju izvrenje programa. AMP multi-core je raunarska arhitektura kod koje svaki procesor izvrava svoju sopstvenu kopiju OS-a, pri emu kopije OS-a mogu biti razliite za svaki core. Pri ovome, svaka aplikacija je usko povezana sa definisanim core-om. Tako na primer, jedna tipina implementacija AMP-a moe kao prvo da koristi Linux na jednom core-u, radi izvrenja svih standardnih sistemsko-upravljakih i komunikacionih aktivnosti (na primer TCP/IP), a kao drugo da koristi RTOS (Real Time Operating System) koji se izvrava na drugom core-u, sve u cilju ostvarivanja brzog odziva na spoljne dogaaje. Dual-core AMP se moe vizuelizirati kao dva posebna procesora koji imaju svoje sopstvene resurse i implementirani interprocesorski komunikacioni-mehanizam. Pri ovome, interprocesorski komunikacioni mehanizam moe biti realizovan kao specifian mehanizam za datu aplikaciju ili kao standardizovan mehanizam kakav je recimo TIPC (Transparent Inter Process Communication). TIPC protokol je specijalno projektovana inter-cluster komunikacija kod koje se inter-cluster odnosi na bilo koji tip distribuiranog multiprocesorskog sistema. Tekue dual- i multi-core implementacije koriste TCP/IP za ovaj mehanizam. AMP obezbeuje projektantu okruenje koje je slino jednoprocesorskom sistemu to znai da se deoba resursa sistema kao i distrubucija optereenja mora organizovati (izvesti) od strane samog korisnika (programera). Specifini procesi se uvek izvravaju na istom core-u to esto moe da dovede do nebalansiranog optereenja izmeu procesora. Ipak, da bi se na neki nain uspeno reio ovaj problem postoje i neki (sloeniji) mehanizmi koji se koriste za automatsku migraciju procesa radi izvrenja na slabo iskorienim procesorima.

Na slici 5 prikazana je ema koja ukazuje na nain korienja memorijskog sistema kod SMP i AMP arhitektura.

a) Organizacija memorije kod SMP-a

b) Organizacija memorije kod AMP-a Slika 5. Memorijski sistem kod SMP-a

i AMP-a

Postoji i trea arhitektura koja se naziva BMP (Bound Multi-Processing). Ova arhitektura koristi prednosti kako SMP-a tako i AMP-a. Naime, kod BMP konfiguracije, jedinstvena kopija OS-a upravlja radom svih core-ova (kao kod SMP-a), ali se svaka aplikacija moe vezati za specifini core (kakav je sluaj kod AMP-a).

5.3.ip multi-procesorske arhitekture pristup da se pobolja propusnost i latencija

kao

Poev od 2004. godine pa do dana dananjeg (kraj 2007.) primeuje se znaajno usporeni porast performansi kod jedno-procesorskih sistema, tj. superskalarnih maina. Iz brojnih tehnoloko- fabrikacionih ogranienja taktna frekvencija CPU-a je prestala da raste, a ono to je bitnije je to da dalje dramatino poveanje performansi kkod jedno-procesorskih sistema vie nije na vidiku, tj. ne oekuje se vie. Umesto toga, poluprovodnika industrija, u cilju ostvarivanja superiornih performansi okrenula se ka korienju paralelizma. Ugradnjom i korienjem veeg broja procesorskih jezgara (poznati kao multicore) na istom ipu, teoretske performanse ipa je mogue dramatino poveati i pored toga to su poveanja performansi po jednom jezgru, u odnosu na jedno-procesorske sisteme, relativno mala. Takoe, energetska efikasnost kod multicore implementacija je mnogo bolja u poreenju sa tradicionalnim single-core implementacijama. U principu, dva jezgra kada rade na dvaput nioj nominalnoj frekevenciji troe duplo manje energije u odnosu na single-core koji radi na nominalnoj frekvenciji. Prelazak na paralelni hardver ipak stvara probleme kreatorima softvera. Aplikacije koje su tradicionalno koristile jedno-procesorske sisteme potrebno je sada da se paralelizuju na vie-procesorske sisteme kako bi se iskoristile prednosti koje se nude od strane multi-core-ova. Pored injenice da je potrebno kreirati paralelni softver i proces debagiranja je sada znatno komplikovaniji. Ukazaemo u daljem tekstu na osnovne principe koji se tiu kako kreiranja tako i debagiranja paralelnih programa. 5.4. Neke definicije Pre nego to ponemo sa izlaganjem detalja koji se odnose na kreiranje i debagiranje paralelnih programa uveemo neke kratke definicije: a) multi-tasking - oznaava da se single-processor istovremeno koristi

za izvrenje nekoliko razliitih softverskih zadataka, a izvodi se tehnikom raspodele vremena (time sharing) single- procesora pri emu se planiranje izvrenja (scheduling) zadataka obavlja od strane operativnog sistema za rad u realnom vremenu (real time operating system). b) multi-procesor (MP) - bilo koji raunarski sistem koji koristi vie od jedan procesor. c) SMP, deljiva memorija ili simetrino multi-procesiranje - je dizajn kod koga procesori kod multi-procesora koriste istu memoriju, mogu da pristupaju istim podacima, i izvravaju iste zadatke. Nasuprot tome, kod asimetrinog multi-procesora (AMP) svaki procesor ima svoju sopstvenu memoriju. d) homogeni MP - znai da su svi procesori istog tipa, dog heterogeni MP koristi procesore nekoliko razliitih tipova (na primer, ARM i DSP). Najvei broj SMP dizajna su homogeni, dok su AMP dizajni heterogeni. e) multi-core procesor - je single-ip koji sadri vei broj (multiple) procesorskih jezgara (core- ova). U sutini to je multi-procesor na singleipu. f) manycore - je termin koji se koristi za procesore koji imaju vie od 10 core-ova po single-ipu. Ovo je vano iz razloga to se osobine i principi rada multi-procesorskih sistema sa vie od 10 ili 100 jezgara znaajno razlikuju od tekuih procesora sa dva ili etiri jezgra. Granica izmeu multi- core i manycore nije apsolutno jasna, a ono to ih ini razliitim su koncepti i principi rada. Manycore u principu koriste masovni paralelizam koji je eksplicitno naglaen u programu, a multi-core izvlae (pronalaze) paralelizam koji je skriven ili slabo naglaen u okviru programa. g) multi-threading (MT) - je tehnika kod koje single-protoni procesor podrava paralelno izvrenje thread-ova izraunavanja. Ova tehnika predstavlja relativno efikasan nain da se povea iskorienost resursa za izraunavanje ugraenih u samom core-u. Najvei broj MT dizajna se koristi za kreiranje malih SMP-ova, ali se takoe koristi za gradnju AMP-ova. ip-multiprocesori takoe nazvani multi-core mikroprocesori ili CMP, iz vie razloga, su postali danas jedino reenje za realizaciju visoko performansnih mikroprocesora. Naime, performanse uni(single)- procesora ne pokazuju vie skalirajue osobine. Razlozi su sledei: a) nije mogue izdvojiti vei iznos paralelizma od tipinih programa (nizova instrukcija) koristei konvencionalne superskalarne tehnike kod iniciranja izvrenja instrukcija; b) poveanje taktne frekvencije takoe ima i neka fizika ogranienja koja se pre svega odnose na razvoenje taktnog signala po ipu; i c) potronja energije postaje veoma kritina i jedan od dominantnih ograniavajuih faktora za 9 gradnju single-procesora sa vie od 10 tranzistora po ipu. CMP-ovi reavaju ovaj problem na sledei nain: umesto da se na

silicijumskoj ploici ugradi jedno "ogromno" jezgro, ploica se popunjava veim brojem relativno jednostavnih procesorskih core-ova. Prednost ovog pristupa je ta to ovakvi, sada ve paralelni sistemi, sa aspekta performansi postaju skalabilni. Pored toga, paralelno izvrenje programa, koje se dobija rasporeivanjem izvrenja veeg broja thread-ova na razliite core-ove, mogue je ostvariti znaajno bolje performanse u poreenju sa single-core izvrenjem. No, nezavisno od toga to su paralelni thread-ovi tipini za izvrenje velikog broja programa, ipak treba naglasiti da njihovo izdvajanje iz programa nije ba tako trivijalan zadatak. Ono to je bitno istai je sledee: latentnost inter-procesorskih komunikacija izmeu core-ova kod CMP- ova je mala to ini ove sisteme pogodnim za paralelno izvrenje. Nezavisno od ogranienog iznosa paralelizma u aplikacionim programima ini se da su CMP-ovi ipak bolje kandidat arhitekture od konvencionalnih superskalarnih procesora kao i multi-ip multi-procesorskih sistema.

5.5.Programiranje paralelnih maina


Postoje nekoliko razliitih naina kako se pie program koji e se izvravati na multi-procesorskoj maini. Globalno postoje sledea dva programska stila: a) prenos poruka (message passing) - komunikacija se eksplicitno programira b) deljiva memorija (shared memory) - komunikacija je implicitna i ostvaruje se preko operacija Read i Write promenljivih. No, treba pri ovome naglasiti sledee: Sa jedne strane, stil prenosa poruka se esto koristi i kod maina sa deljivom memorijom pri emu se poruke implementiraju koristei deljivu memoriju. Sa druge strane, stil deljiva memorija se moe emulirati kod maina koje ne poseduju deljivu hardversku memoriju. Kao zakljuak bi mogli da kaemo sledee: Na postoji jasna razlika izmeu hardverskog dizajna i programske paradigme. Tradicionalni nain da se programira paralelna maina je da se koristi sekvencijalni jezik kakav je C, C++, Java, C#, Fortran, Ada, ili Asembler, i doda tom jeziku paralelizam koristei API-ove kao deo OS-a, biblioteke klase, kompajlerske direktive, ili jezika proirenja. Neki od interesantnih i najeih naina da se ugradi paralelizam u programiranju su sledei: 1. Open MP - predstavlja skup kompajlerskih direktiva koje se dodaju programu da bi ga uinili izvrivim na paralelnoj maini koja koristi deljivu memoriju. 2. MPI - predstavlja popularna standardna biblioteka za paralelizam tipa prenos poruka. 3. pthreads - predstavlja POSIX standard za threading i dostupan je za Linux OS-e i vei broj embedded RTOS-ove. 4. OS-API-ovi - nude osnovnu podrku za druge pristupe kakvi su Open MP, MPI i phtread-ove ali se mogu i direktno koristiti. 5. Midleware API-ovi - poseduju komunikacione API-ove kojima se u principu izoluje svaki zadatak u aplikaciji od drugih zadataka koji se

izvravaju. 6. Ada - nudi ugraenu konkurentnu podrku u programskom jeziku koja generie pozive OS-u. Java se takoe karakterie konkurentnou koja je deo jezika i standarda. 7. Erlang - je jedan od jezika eksplicitno projektovan za paralelne maine. Programi su struktuirani pomou stotinu ili hiljadu lighweight zadataka pri emu svaki ima svoju lokalnu memoriju, a komuniciranje se ostvaruje koristei prenos poruka. 8. Performansne biblioteke - implementiraju standardne matematike operacije (kakve su FFT) na nain koji je prilagoen pojedinoj maini. 9. Jezika proirenja za dati jezik - predstavljaju proirenja sekvencijalnih jezika kakvi su C, C++ i Java, a nude se od strane nekih kompajlera. Ova proirenja obino modifikuju sintaksu jezika i dodaju neke kljune rei kako bi paralelizam bio uoljiviji, a semantika jasnija. 10. Paralelne programske platforme - sekvencijalnom jeziku dodaju bibliotene pozive, pa na taj nain multiple-core sistemima obezbeuju uslove za akceleratorsko izraunavanje. 11. Koordinacioni jezici - dodaju novi jezik ili nivo na vrhu postojeih sekvencijalnih programskih jezika. Koordinacioni nivo diktira kako e se sa paralelizmom rukovati i kako se sinhronizira pristup podacima. 12. Transakciona memorija - pristup koji je podran od strane hardvera pri emu se deljiva memorija maine ini da funkcionie kao klasina baza podataka.

5.6.Softverski problemi
Ne ulazei u ovom trenutku u detalje kako treba koncipirati i kreirati efikasni paralelni program, ipak treba naglasiti da ostvarenje korektnog izvrenja programa, ta vie i na okruenju tipa SMP, predstavlja tei problem u odnosu na izvrenje tog programa na single procesoru. Postojei softver koji je razvijen za single procesor moe da ne radi korektno kada se prenese na multi-procesor. To znai da aplikacija koja korektno radi na multitasking okruenju ne znai da e korektno raditi i na multiprocessing okruenju iz razloga to konkurentnost raa brojne nove probleme. Paralelno izvrenje (ili konkurentnost) oteava da se ustanovi precizni redosled dogaaja kod izvrenja razliitih konkurentnih zadataka. Vreme propagacije informacije izmeu procesora kod multiprocesora sa deljivom memorijom nije nula (ta vie i ako je veoma malo, reda nekoliko taktnih intervala), to je dovoljno da kreira suptilne proizvoljne varijacije u izvrenju. Multiprocesor po prirodi se karakterie (poseduje) haotinim ponaanjem pri emu male promene inicijalnih parametara utiu na velike razlike u radu sistema tokom vremena. U sutini, paralelni sistem je po prirodi nepredvidljiv (u najmanju ruku, sa take gledita tajminga), tako da korektno izvrvenje zahteva stroge kontrole. Ukazaemo sada na neke tipine probleme koji treba da nam razjasne naine na koji se softver za multiprocesorske sisteme moe

efikasnije kreirati.

6.INTEL 6.1.Intel Core i7 (kodni naziv Nehalem)


Svima je ve jasno da je Intel u poslednjih dve godine nainio veliki pomak kada je industrija procesora u pitanju. Njegova pozicija na tritu, tj. pozicija lidera jasno govori sa koliko kvalitetnim, a pre svega konkurentnim proizvodima Intel raspolae. Razjarena masa entuzijasta i pored toga to je svesna da Core 2 arhitektura prua i vie nego dosta u vidu performansi, ve od prve najave superiornije procesorske arhitekture ne prestaje da se bavi diskusijama koje su znale u nekim situacijama da prevazilaze granice nemogueg. Ono to je trebalo, tj. ono to je nedostajalo Intel Core 2 procesorima, svakako je integrisan memorijski kontroler koji AMD toliko dugo poseduje, te je i to bio jedan od razloga zato se sa toliko nestrpljenja ekala ova nova Intel tehnologija. Zatim prisustvo Hyper Threading tehnologije koja je nagovetavala osam uposlenih taskova posredstvom samo etiri jezgra, dodatno je obeavala, a opet ostavljala je veliki broj nestrpljivih korisnika da svakodnevno listaju raznorazne forume, ne bi li pre isteka famoznog utanja procurela neka od informacija, koja bi potvrdila koliko je dobar i da li je Nehalem ono to su svi oekivali. Core i7 procesor je prvi lan porodice Intel Nehalem mikroarhitekture ije e verzije za servere i mobilne ureaje ui u proizvodnju kasnije. Svaki Core i7 procesor ima 8 MB ke memorije nivoa 3 i tri kanala DDR3-1066 memorije kako bi omoguili najbolje memorijske performanse bilo koje desktop platforme. Intelov procesor vrhunskih performansi, Intel Core i7 Extreme Edition nema ni zatitu za overspeed, omoguujui poznavaocima i onima kojima je ovo hobi da dodatno ubrzaju rad ipa.

Intel Core i7 mikroprocesori namenjeni su High-End segmentu trita. Cela porodica novih Nehalem baziranih procesora koristie LGA 1366 podnoje, to e rei da stare LGA775 matine ploe neete moi da iskoristite za Core i7 procesore. Pored inovacija kao to je 45-nanometarski proizvodni proces, ovi procesori poseduju etiri jezgra i u stanju sa obrauju osam zadataka, a sve to zahvaljujui implementiranoj Hyper Threading tehnologiji (u svim vidovima kompresije porast performansi zna da se oseti od 20% do ak 100% u poreenju na starije Penryn mikroprocesore, naravno gledano klok za klok). Zatim neizbeno je napomenuti i to da je Core i7 prvi Intel procesor sa integrisanim DDR3 memorijskim kontrolerom, to povlai u nekim situacija i preko 100% vee performanse memorijskog protoka, a opet u poreenju na Penryn bazirane modele procesora. to se tie ostalih inovacija prisutno je 8 MB veoma brze L3 ke memorije, zatim automatska overklok tehnologija nazvana Turbo Boost itd.

Za sada na tritu e se pojaviti modeli sa oznakom Core i7 920 (2.66 GHz), Core i7 940 (2.93 GHz) i Extreme verzija oznake Core i7 965 (3.2 GHz). Bilo kako bilo posle izlaganja gospodina Radoslaw Walcyzk-a usledila je zakuska gde smo sa ostatkom medija mogli da prokomentariemo ovaj veoma bitan i znaajan proizvod za IT industriju, tj. trenutno najbri mikroprocesor dananjice koji sa ponosom nosi oznaku Core i7.

6.2.Intel QuickPath Arhitektura


Kako procesori postaju jai, tako instrukcije izvravaju bre. Ipak, zastoj moe nastati ako procesor ne moe dobiti instrukcije i informacije iz memorije dovoljno brzo. Kad god procesor ili jezgro moraju da ekaju, performanse opadaju. Intel QuickPath Arhitektura predstavlja novi sistem arhitekture koji omoguava znatno bri protok informacija izmeu ipa i memorije, smanjujui potencijalnu sporost. Pored memorije koju dele svi procesori, Intel Quick PAh Arhitektura svakom procesoru daje njemu dodeljenu ke memoriju. Podaci kojima procesor pristupa najee su uskladiteni ovde, umesto u deljenoj memoriji koja je dalje. Ovo omoguava procesorima da znatno bre pristupaju podacima.

Ovo bi se moglo porediti sa kuhinjom. Ke memorija je kao ostava u kojoj su proizvodi koji se najee koriste. Bez ove line zalihe, kuvar bi morao da se vozi do supermarketa svakog dana kako bi kupio sastojke koji su mu potrebni u pripremi jela. Ipak, ukoliko ima ostavu, moe i jednom nedeljno otii do supermarketa, dopuniti svoje zalihe i imati sve namirnice nadohvat ruke, smanjujui vreme koje troi na put do supermarketa i nazad. Prethodni sistemi arhitekture predviali su istu putanju za sve podatke koji se razmenjuju izmeu procesora i spoljne memorije (u analogiji sa kuhinjom to bi bio put do supermarketa). Ponekad, ovo je znailo da je samo izvestan protok omoguen datom procesoru, to je usporavalo protok podataka. Sa Intel QuickPath arhitekturom, svaki procesor ima sebi dodeljenu, brzu vezu sa spoljnom memorijom, koja je lokalna drugim procesorima i I/O hub-u. To omoguava putanji da bude direktna i mnogo efikasnija. Takoe, ove putanje uvek pruaju maksimalnu brzinu, jer nisu deljene sa bilo kojim drugim procesorom. Povremeni (neizostavni) odlasci u supermarket naeg kuvara mogu biti analogija procesoru koji nastoji doi do podataka ili instrukcija iz glavne memorije. esto, kada vozi do tamo, velike su guve, jer je to put kojim idu i ostali vozai, pa stoga njegovo putovanje traje due. Meutim, sa Intel QuickPath tehnologijom, kuvaru bi bila dodeljena samo njegova, ekskluzivna, brza traka koja ide direktno do supermarketa. Na ovaj nain, jelo je pripremljeno mnogo efikasnije a ukus je jednako dobar!

6.3.Intel Turbo Boost tehnologija


Intel Turbo Boost tehnologija ubrzava softverske performanse koristei procesorsku neiskoritenu snagu. Ako procesor detektuje da radi ispod svojih mogunosti, temperature i trenutnih limita, on moe sam da klokuje brzinu da bi poboljao performanse u jednom ili vie procesorskih jezgara. Ukoliko sva etiri jezgra rade, dodatna snaga se prenosi na sva etiri. Ukoliko rade samo dva jezgra, onda se dodatna snaga rasporeuje samo na dva, omoguujui jo znatnije poboljanje performansi. To omoguuje ojaane performansi i za multi i single thread zadatke. Ova tehnologija se moe slikovito predstaviti kao osoba koja obavlja vie radnji u isto vreme. Da bi ih sve istovremeno izvrila pisanje, sluanje, prianje, potrebna je sva koncentracija. Ako bi trebala da radi samo dva od ovih zadataka, oni bi bili izvreni mnogo bolje i bre jer je dostupno vie modane snage.

6.4.Intel Hyper-Threading tehnologija


Intel Hyper-Threading tehnologija (Intel HT Technology)1 dozvoljava jednom procesoru da se pojavi kao dva logikaprocesora na operativnom sistemu (OS). Ova karakteristika operativnom sistemu omoguuje da deli koliine zadataka na dve strane. Na primer, etvorojezgarni Intel Xeon processor 5500 serije moe obraivati do 8 tredova simultano. Ovo je vrlo efikasno sa stanovita potronje uz uveanje performansi dananjeg multi-threaded softvera. Svako je, bar jednom, poelio da se moe podeliti na dva dela kako bi itav niz zadataka ranije okonao. Sa Intel HT tehnologijom, procesor upravo ovo postie.

6.5.Intel Intelligent Power tehnologija


Sa Intel Intelligent Power tehnologijom, procesor moe automatski smanjiti potornju energije u skladu sa optereenjem. Postoji 15 razliitih stanja energije koja procesor moe postii, i jedno u drugo moe menjati veoma brzo. Kada se jezgro ne koristi, njegova potronja energije se pribliava nuli. Za rezultat imamo injenicu da Intel Xeon 5500 serija moe inteligentno upravljati svojom potronjom na osnovu optereenja zadacima u bilo kojem trenutku, znaajno umanjujui trokove energije. Ova tehnologija se moe posmatrati kao intelignetni sistem osvetljenja u kui koji automatski podeava nivoe osvetljenosti u razliitim prostorijama, s obzirom na to kako je soba koritena. Na primer, jako osvetljenje se kroisti dok se kuva u kuhinji, slabo u dnevnoj sobi kada se zabavlja nakon veere, a sva su svetla pogaena u praznim sobama.

También podría gustarte