Hüper-hargtöötlus

Allikas: Vikipeedia
(Ümber suunatud leheküljelt Hyper-threading)
Inteli Hüper-hargtöötlust kasutava protsessori skeem

Hüper-hargtöötlus (Hyper-Threading Technology, lühendatult HTT või HT) on Inteli poolt väljatöötatud tehnoloogia, mis võimaldab ühel protsessoril samaaegselt mitut programmiharu või lõime käivitada. Seda on kasutatud Intel Pentium 4, Pentium D, Itanium, Atom, Core i3, Core i5, Core i7 ja Xeon seeria protsessorites.

Hüper-hargtöötlus parandab arvutisüsteemi efektiivsust ja arvutusjõudlust juhul, kui operatsioonisüsteem ja kasutatavad programmid toetavad HT-tehnoloogiat. Iga protsessorituuma jaoks adresseerib operatsioonisüsteem kaks virtuaalset protsessorit ja võimaluse korral jagab koormuse nende vahel. Kui operatsioonisüsteem või kasutatavad programmid HT-tehnoloogiat ei toeta, siis kasvu jõudluses ei toimu või jõudlus koguni langeb. Intel soovitab hüper-hargtöötluse välja lülitada, kui kasutatav operatsioonisüsteem seda ei toeta.[1]

Ajalugu[muuda | redigeeri lähteteksti]

Hüper-hargtöötlus leidis alguse Digital Equipment Corporationi[2] käe all, kuid toodi turule Inteli poolt. HT-tehnoloogiat tutvustati esmakordselt Foster MP Xeon protsessoris 2002. aastal. Samal aastal ilmus see ka Pentium 4 Northwood 3,06 GHz protsessoris. Seejärel leidis HT-tehnoloogia kasutust igas Pentium 4 HT, Pentium 4 Extreme Edition ja Pentium Extreme Edition protsessoris.

2006. aastal tutvustatud Core mikroarhitektuuril põhinevad protsessorid ei oma HT tehnoloogiat, sest Core mikroarhitektuur on P6 mikroarhitektuuri järglane, mida kasutati Pentium seerias alates Pentium Pro loomisest kuni Pentium III ning Celeron seerias (Covington, Mendocino, Coppermine and Tualatin koodnimedega protsessorites), Pentium II Xeon ja Pentium III Xeon mudelites.

Novembris 2008 Inteli poolt välja lastud Nehalem mikroarhitektuuriga protsessoritega tuli HT tehnoloogia tagasi. HT tehnoloogia on leitav nii kahe, nelja kui ka kuue tuumaga protsessorite mudelites.[3]

Inteli hüper-hargtöötlust kasutav Core i7-940 protsessor

Intel Atom, mis on mõeldud vähese elektritarbivusega personaalarvutitele, kasutab HT-tehnoloogiat.[4]

Intel Xeon protsessorid, mis põhinevad Nehalem arhitektuuril, kasutavad HT-tehnoloogiat.[5]

Intel Itanium 9300 kasutab arendatud HT-tehnoloogiat. Poulson, järgmise generatsiooni Itanium, omab edasisi HT-tehnoloogia täiustusi.[6][7]

Turvalisus[muuda | redigeeri lähteteksti]

Aastal 2005 demonstreeris Colin Percival turvariski, mille ta leidis kasutades HT-tehnoloogiaga P4 protsessorit. Nimelt on piiratud privileegidega pahatahtlikul lõimel võimalik jälgida teise lõime käivitamist ja varastada krüptograafilisi võtmeid, kasutades selleks jagatud vahemälu.[8] Eelkõige ohustab turvarisk servereid. Leitud viga pole ainult hüper-hargtöötlusele omane, vaid ohustab kõiki protsessoreid, mis jagavad ressursse samal viisil nagu teeb seda HTT. Intel väitis, et turvaviga pole siiski kriitiline ja vajab eelnevalt serveri turvalisuse murdmist, peale mida on palju lihtsamaid meetodeid andmete varastamiseks, viga parandatakse aga sellest hoolimata.[9]

Tehnoloogia[muuda | redigeeri lähteteksti]

Tavaline ühetuumaline protsessor suudab ainult ühe lõimega korraga tegeleda, mistõttu on vajalik pidev lõimede vahetamine. Peaaegu alati on operatsioonisüsteemis tööl rohkem kui üks lõim. Üks lõim aga ei pruugi kasutada ära tervet protsessori arvutusvõimsust. Lõimega tegelemisel üle jääv ressurss seisab kasutult. HT tehnoloogia põhineb eeldusel, et igal antud ajahetkel läheb programmikoodi täitmiseks vaja ainult osa protsessori võimekusest. Kasutamata ressursiga oleks võimalik järgmist lõime käivitada. Selleks tekib ühest füüsilisest protsessorist kaks loogilist protsessorit, mis kasutavad ühe ja sama füüsilise protsessorituuma ressursse. Näimaks operatsioonisüsteemile kahe loogilise protsessorina, paljundatakse teatud osad protsessorist – osad, mis salvestavad arhitektuurilist olekut. Kahe loogilise protsessori olemasolu võimaldab operatsioonisüsteemil planeerida kahe lõime samaaegset töötlemist. HT tehnoloogiata protsessoril see võimalik ei ole ja ühe lõime töötlemisel ülejääv ressurss jääb ootele.

HT tehnoloogiaga riistvarast kasu saamiseks on vaja, et operatsioonisüsteem toetaks vähemalt sümmeetrilist multitöötlust (ingl. k. symmetric multiprocessing – SMP), et loogilised protsessorid paistaksid eraldiseisvate protsessoritena. Tehnoloogiast täieliku kasu saamiseks on vaja aga HT tuge. Näiteks kahetuumalise HT toega protsessori korral käsitleb SMP toega, kuid ilma HT toeta operatsioonisüsteem nelja loogilist protsessorit füüsilistena. Sel juhul võib kaks aktiivset lõime planeerida jooksma kahel loogilisel tuumal, mis jagavad sama füüsilist protsessorituuma. Nii töötab üks füüsiline tuum täies mahus, samal ajal kui teine seisab ootel. Vajalik on, et operatsioonisüsteem suudaks tuvastada loogilisi protsessoreid ja neid teisiti käsitleda.

Nõuded HT tehnoloogia jaoks:[10]

  • Protsessor, mis toetab Inteli HT tehnoloogiat
  • Inteli HT tehnoloogia võimalusega kiibistik
  • Inteli HT tehnoloogia võimalusega BIOS
  • Inteli HT tehnoloogiat toetav operatsioonisüsteem

Eelised[muuda | redigeeri lähteteksti]

Hüper-hargtöötluse eelised on parem tugi mitmelõimelistele programmidele, võime mitmel lõimel samaaegselt käia ning kiiremad toimingud ja reageerimine. Hüper-hargtöötlus võimaldab protsessori ressursse efektiivsemalt kasutada. See tagab süsteemi reageerivuse nõudlike programmidega töötamisel.[10]

Inteli esimestel HT-tehnoloogia katsetel suurenes kiibi pindala 5%, kuid jõudlus paranes 15–30% olenevalt olukorrast.[11]

Jõudlus[muuda | redigeeri lähteteksti]

Pentium 4 seeria puhul tõestasid katsed, et P4 3,0 GHz HT toega protsessor võis teatud juhtudel olla kiirem kui ilma HT-tehnoloogiata P4 3,6 GHz protsessor.[12] Jõudluse kasv oleneb siiski väga palju protsessorit kasutatavast tarkvarast. Jooksutades kahte ressurssinõudlikku programmi samal ajal, võivad mõlemad programmid aeglasemalt joosta.

HT tehnoloogia Nehalem protsessoritel on üldjoontes sama, mida kasutati Pentium 4 seerias. Intel väidab, et tänu mikroarhitektuuri arengule on HT tehnoloogia märksa efektiivsem kui varem.[13] Jõudluse muutus protsentuaalselt Nehalem arhitektuuril põhinevatel HT tehnoloogia toega protsessoritel pole aga muutunud – olenevalt kasutatavast programmist ja programmi lõimede arvust võib jõudlus HT tehnoloogiaga tõusta kuni 30% võrra, mõnel üksikul juhul isegi 50%. Samas võib jõudlus ka langeda kuni 20%. Mitmelõimeliste programmide puhul on üks loogiline protsessor võrdne keskmiselt 1/3-ga ühest lisatuumast.[14] Tehnoloogia käitumist igas olukorras on raske välja selgitada keeruliste mitmetuumaliste protsessorite puhul, kuid üldjuhul on HT tehnoloogia näol tegemist eelisega.

Puudused[muuda | redigeeri lähteteksti]

Tarkvaraline HT tugi[muuda | redigeeri lähteteksti]

Pentium 4 3,06 GHz HT toega protsessori väljastamisel oli mõnedel programmeerijatel algselt raske otsustada, kas kasutada HT tehnoloogiat oma rakenduste loomisel või mitte.[15] Programmeerijad kasutasid rakenduste testimiseks veel operatsioonisüsteeme, mis polnud optimeeritud HT tehnoloogia jaoks.[1] Enamik personaalarvuteid kasutasid siiski protsessoreid, mis olid võimelised ainult ühe lõimega korraga tegelema.

Kuna Intel ei kasutanud HT tehnoloogiat Core mikroarhitektuuriga protsessorites, on ka Nehalem hüper-hargtöötlusega protsessoritel probleemiks vähene tarkvaraline tugi HT tehnoloogiale, sest tarkvaraarendajad ei pidanud HT tehnoloogia tuge oma rakendustes tähtsaks.

Voolutarve[muuda | redigeeri lähteteksti]

Aastal 2006 kritiseeriti hüper-hargtöötlust ebaefektiivse voolutarbe tõttu. Väikese voolutarbega protsessorite looja ARM väitis, et sümmeetrilise multitöötlusega lahendused (nagu seda on Hyper-Threading) võivad tarbida 46% rohkem elektrit kui kahetuumalised protsessorilahendused. Lisati, et SMP-töötlus võib suurendada vahemälu mitteotstarbekat kasutust 42% võrra, samas kui kahetuumalisel protsessoril väheneb see 37% võrra.[16] Aastal 2010 teatas ARM siiski, et hakkavad tulevikus SMP-töötlusega lahendusi oma kiipides kasutama.[17]

Kõrgem voolutarve on tingitud asjaolust, et kõik protsessori tuuma osad peavad olema sisse lülitatud ja seda isegi ooteolekus. Kõrgem voolutarve on aga halb nähtus, eriti serveriruumide ja sülearvutite puhul. Sellest hoolimata võib hüper-hargtöötlus neil juhtudel kasulikuks osutuda. Näiteks tänapäeval on ühel füüsilisel serveril tööl mitu virtualiseeritud serverit, seega on vajalik ühest protsessori tuumast maksimum võtta. Lihtne tuumade lisamine toob kaasa ka voolutarbe kasvu ja muid lisakulutusi.

Probleemid jõudlusega[muuda | redigeeri lähteteksti]

Kuigi üldiselt HT tehnoloogia annab kasvu jõudluses, võib jõudlus ka kahaneda. Sel juhul on lahenduseks lihtsalt HT väljalülitamine. Probleemid on tingitud kas arvuti riistvara konfiguratsioonist või kasutatava tarkvara eripäradest.[18][19] Kasutegur on suhteliselt väike või olematu personaalarvuti puhul, kus protsessoril võib olla isegi 4 tuuma või rohkem. Üldjuhul ei leidu tavakasutajale veel programme, mis oskaks kasu lõigata näiteks kaheksa lõime üheaegsest töötlemisest.

Samuti on probleeme täheldatud serveritel, mis peaksid mitme lõime üheaegsest töötlemisest suurima jõudluse kasvu saama. Koormuse all serveri protsessori kasutus tõuseb märgatavalt, samal ajal kui serveri jõudlus langeb. Hüper-hargtöötluse väljalülitamine BIOSist lahendab aga probleemi. Probleem seisneb arvatavasti asjaolus, et loogilised protsessorid jagavad vahemälu ning vahemälu ei jõua mõlema protsessori nõudmisi täita, mis kahandab kogu süsteemi võimekust protsessidega tegelemises.[20][21]

Soojuseraldus[muuda | redigeeri lähteteksti]

HT tehnoloogia kasutamisel on märgatud ka suuremat soojuse eraldust protsessorist täiskoormuse all. Protsessori temperatuur võib tõusta 5–10°C[19]

Viited[muuda | redigeeri lähteteksti]

  1. 1,0 1,1 http://www.intel.com/support/processors/sb/CS-017343.htm Inteli HT tehnoloogiat toetavad operatsioonisüsteemid.
  2. http://www.zdnet.com.au/intel-hyperthreading-shows-digital-roots-120268992.htm Inteli HT juured.
  3. http://ark.intel.com/MySearch.aspx?HyperThreading=true Inteli HT toega protsessorid.
  4. http://www.intel.com/technology/atom/microarchitecture.htm Intel Atom.
  5. http://www.intel.com/p/en_US/products/server/processor Inteli protsessorid serveritele.
  6. http://www.zdnetasia.com/intel-updates-itanium-line-with-kittson-62021436.htm Intel Itanium 9300.
  7. http://microelectronics.cbronline.com/news/intel_launches_new_itanium_9300_series_processor_100208 Intel Itanium 9300.
  8. http://www.daemonology.net/hyperthreading-considered-harmful/ HT tehnoloogia turvarisk.
  9. http://www.xbitlabs.com/news/cpu/display/20050515030244.html Inteli vastus turvariski avastamisele.
  10. 10,0 10,1 http://www.intel.com/products/ht/hyperthreading_more.htm?iid=tech_ht+rhc_ht Inteli HT nõuded.
  11. ftp://download.intel.com/technology/itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf Intel HT tehnoloogiast.
  12. http://www.tomshardware.com/reviews/single-cpu-dual-operation,549-25.html HT toega P4 ja ilma HT toeta P4 protsessori võrdlus.
  13. http://software.intel.com/en-us/articles/performance-insights-to-intel-hyper-threading-technology/ Intel HT tehnoloogiast.
  14. http://ixbtlabs.com/articles3/cpu/archspeed-2009-4-p2.html HT jõudlus i7 protsessoril.
  15. http://forums.anandtech.com/archive/index.php/t-1273937.html
  16. http://www.theinquirer.net/inquirer/news/1037948/arm-fan-hyperthreading ARM kriitika HT tehnoloogiale.
  17. http://www.top500.org/blog/2010/10/13/about_mips_and_mips ARM hakkab HT tehnoloogiat tulevikus kasutama.
  18. www.novell.com/support/viewContent.do?externalId=3407939 HT tehnoloogia tingitud probleemid.
  19. 19,0 19,1 http://www.overclockers.com/forums/showthread.php?t=609734.
  20. http://www.zdnet.co.uk/news/processors/2005/11/18/hyperthreading-hurts-server-performance-say-developers-39237341/ HT tehnoloogia probleemid serveritega.
  21. http://support.microsoft.com/kb/322385 HT serverites.

Välislingid[muuda | redigeeri lähteteksti]