Hüperhargtöötlus

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

Hüperhargtöö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 väheneb. Intel soovitab hüperhargtöötluse välja lülitada, kui kasutatav operatsioonisüsteem seda ei toeta.

## Ajalugu
Hüperhargtöötlust hakati välja töötama Digital Equipment Corporationi käe all, kuid selle tõi turule Intel. HT-tehnoloogiat tutvustati esmakordselt Foster MP Xeon protsessoris 2002. aastal. Samal aastal ilmus see ka Pentium 4 Northwood 3,06&nbsp;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 Pentiumi seerias alates Pentium Pro loomisest kuni Pentium III-ni ning Celeroni seerias (protsessorites koodnimedega Covington, Mendocino, Coppermine ja Tualatini), Pentium II Xeon ja Pentium III Xeon mudelites.

Novembris 2008 turule toodud Inteli Nehalemi mikroarhitektuuriga protsessoritega tuli HT-tehnoloogia tagasi. HT-tehnoloogia on leitav nii kahe, nelja kui ka kuue tuumaga protsessorite mudelites.

Intel Atom, mis on mõeldud vähese elektritarbega personaalarvutitele, kasutab HT-tehnoloogiat.

Intel Xeon protsessorid, mis põhinevad Nehalemi arhitektuuril, kasutavad HT-tehnoloogiat.

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

### Turvalisus
Aastal 2005 demonstreeris Colin Percival turvariski, mille ta leidis kasutades HT-tehnoloogiaga P4-protsessorit. Piiratud privileegidega pahatahtlikul lõimel on võimalik jälgida teise lõime käitamist ja varastada krüptovõtmeid, kasutades selleks jagatud vahemälu. Eelkõige ohustab risk servereid. Viga pole ainult hüperhargtöötlusele omane, vaid ohustab kõiki protsessoreid, mis jagavad ressursse samal viisil nagu HTT. Intel väitis, et turvaviga pole siiski kriitiline ja vajab eelnevalt serveri turvalisuse murdmist, mis omakorda annab lihtsamad meetodid andmete varastamiseks, viga parandatakse aga sellest hoolimata.

## Tehnoloogia
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 üle jää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:
* 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
Hüperhargtöötluse eelised on parem tugi mitmelõimelistele programmidele, võime mitmel lõimel samaaegselt käia ning kiiremad toimingud ja reageerimine. Hüperhargtöötlus võimaldab protsessori ressursse efektiivsemalt kasutada. See tagab süsteemi reageerivuse nõudlike programmidega töötamisel.

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

### Jõudlus
Pentium 4 seeria puhul tõestasid katsed, et P4 3,0&nbsp;GHz HT toega protsessor võis teatud juhtudel olla kiirem kui ilma HT-tehnoloogiata P4 3,6&nbsp;GHz protsessor. Jõudluse kasv oleneb siiski väga palju protsessorit kasutatavast tarkvarast. Käitades kahte ressursinõudlikku programmi samal ajal, võivad mõlemad programmid aeglasemalt töötada.

HT-tehnoloogia Nehalemi 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. Jõudluse muutus protsentuaalselt Nehalemi arhitektuuril põhinevatel HT-tehnoloogia toega protsessoritel pole aga muutunud – olenevalt kasutatavast programmist ja programmi lõimede arvust võib jõudlus HT-tehnoloogiaga suureneda kuni 30% võrra, mõnel üksikul juhul isegi 50%. Samas võib jõudlus ka väheneda kuni 20%. Mitmelõimeliste programmide puhul on üks loogiline protsessor võrdne keskmiselt 1/3-ga ühest lisatuumast. Tehnoloogia käitumist igas olukorras on raske välja selgitada keeruliste mitmetuumaliste protsessorite puhul, kuid üldjuhul on HT-tehnoloogia näol tegemist eelisega.

## Puudused
### Tarkvaraline HT tugi
Pentium 4 3,06&nbsp;GHz HT toega protsessori väljastamisel oli mõnedel programmeerijatel algul raske otsustada, kas kasutada HT-tehnoloogiat oma rakenduste loomisel või mitte. Programmeerijad kasutasid rakenduste testimiseks veel operatsioonisüsteeme, mis polnud optimeeritud HT-tehnoloogia jaoks. 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 Nehalemi hüperhargtöötlusega protsessoritel probleemiks vähene tarkvaraline tugi HT-tehnoloogiale, sest tarkvaraarendajad ei pidanud HT-tehnoloogia tuge oma rakendustes tähtsaks.

### Voolutarve
Aastal 2006 kritiseeriti hüperhargtöö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. Aastal 2010 teatas ARM siiski, et hakkab tulevikus SMP-töötlusega lahendusi oma kiipides kasutama.

Suurem voolutarve on tingitud asjaolust, et kõik protsessori tuuma osad peavad olema sisse lülitatud ja seda isegi ooteolekus. Suur voolutarve on aga halb nähtus, eriti serveriruumide ja sülearvutite puhul. Sellest hoolimata võib hüperhargtöö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
Kuigi üldiselt HT-tehnoloogia annab kasvu jõudluses, võib jõudlus ka väheneda. Sel juhul on lahenduseks lihtsalt HT väljalülitamine. Probleemid on tingitud kas arvuti riistvara konfiguratsioonist või kasutatava tarkvara eripäradest. 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 suureneb märgatavalt, samal ajal kui serveri jõudlus väheneb. Hüperhargtöö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 vähendab kogu süsteemi võimekust protsessidega tegelemises.

### Soojuseraldus
HT-tehnoloogia kasutamisel on märgatud ka suuremat soojuse eraldust protsessorist täiskoormuse all. Protsessori temperatuur võib tõusta 5–10&nbsp;°C.

## Viited

## Välislingid
* [ftp://download.intel.com/technology/itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf Intel Technology Journal] (PDF)
* Performance Insights to Intel® Hyper-Threading Technology
* Intel Hyper-Threading Technology Review
* Hyper-Threading Security Flaw Not Critical, Says Intel.
* Improving Performance by Disabling Hyper-Threading