You are on page 1of 9

Univerzitet u Zenici

Politehnički fakultet
Odsjek: Softversko inženjerstvo
Semestar:zimski
Školska godina: 2019/2020.

SEMINARSKI RAD
Tema: Hyper-Threading

Student: Kolić Mirhad,


broj indexa: 136
Profesor: Doc.dr. Nevzudin Buzađija
Asistent: V.as.mr. Alen Čečo
Naziv predmeta: Računarske arhitekture
Datum: 29.11.2019. godine
Broj riječi: 1897
Ključne riječi: Hyper-threading,Thread, Simultaneous multithreading, Symmetric
multiprocessing,Intel,Core
Sadržaj
Uvod ................................................................................................................................................ 3
Pregled ............................................................................................................................................ 4
Historija ........................................................................................................................................... 5
Performanse.................................................................................................................................... 6
Nedostaci ........................................................................................................................................ 8
Sigurnost ......................................................................................................................................... 8
Zaključak.......................................................................................................................................... 9
Literatura i izvori ............................................................................................................................. 9
Reference ........................................................................................................................................ 9

2
Uvod
Hyper-threading (službeno nazvan Hyper-Threading Technology ili HT Technology i skraćeno
HTT ili HT) je Intelova posjednička simultaneous multithreading (SMT) implementacija koja se
koristi za poboljšanje paralelizacije računanja (obavljanje više zadataka odjednom) izvedena na
x86 mikroprocesorima. Prvi put se pojavio u februaru 2002. na Xeon server procesorima i u
novembru 2002 na Pentium 4 desktop procesorima. Kasnije je Intel tu tehnologiju uključio u
procesore Itanium, Atom i Core 'i' Series, između ostalih.
Za svaku jezgru procesora koja je fizički prisutna, operativni sistem adresira dvije virtualne
(logičke) jezgre i dijeli radno opterećenje između njih kad je to moguće. Glavna funkcija hyper-
threading-a je povećati broj nezavisnih instrukcija u, ona koristi superskalarnu arhitekturu u
kojoj višestruke instrukcije paralelno djeluju na odvojenim podacima. Kod HTT-a se jedna fizička
jezgra pojavljuje kao dva procesora u operativnom sustavu, omogućujući istovremeno
planiranje dva procesa po jezgri. Pored toga, dva ili više procesa mogu koristiti iste resurse. Ako
resursi za jedan proces nisu dostupni, drugi se proces može nastaviti ako su njegovi resursi
dostupni.
Pored toga što u operativnom sistemu zahtijeva podržavanje simultaneous multithreading-a
(SMT), hyper-threading se može pravilno koristiti samo s operacijskim sistemom koji je za njega
posebno optimiziran. Osim toga, Intel preporučuje da se HTT onemogući kada koristi operativne
sisteme koji nisu svjesni ovog hardverskog svojstva.i

U ovom prikazu HTT-a na visokoj razini, upute se preuzimaju iz RAM-a (različito obojeni kvadrati predstavljaju
upute četiri različita procesa), i prosljeđuju se u jezgru izvršenja koja može izvršavati instrukcije iz dva različita
programa tokom istog ciklusa.

3
Pregled
Hyper-Threading tehnologija je oblik istovremene multithreading tehnologije koju je uveo Intel,
dok je koncept koji stoji iza te tehnologije patentirao Sun Microsystems. Arhitektonski gledano,
procesor s tehnologijom Hyper-Threading sastoji se od dva logička procesora po jezgri, od kojih
svaki ima svoje arhitektonsko stanje procesora. Svaki logički procesor može se pojedinačno
zaustaviti, prekinuti ili uputiti da izvrši određen thread, nezavisno od drugog logičkog procesora
koji dijeli istu fizičku jezgru.
Za razliku od tradicionalne konfiguracije dvostrukog procesora koja koristi dva zasebna fizička
procesora, logički procesori u hyper-threading jezgri dijele resurse izvršenja. Ti resursi uključuju
motor izvršenja, predmemorije i interfejs sistemske magistrale; dijeljenje resursa omogućava
dva logička procesora da efikasnije rade jedni s drugima, i omogućava logičkom procesoru da
posuđuje resurse iz zaustavljene logičke jezgre (pod pretpostavkom da su obje logičke jezgre
povezane s istim fizičkim jezgrom). Procesor se zaustavlja kad čeka podatke koje mu je poslao
kako bi mogao završiti obradu sadašnjeg thread-a. Stepen koristi koji se vidi kada se koristi
hyper-threading ili višejezgreni procesor ovisi o potrebama softvera i tome koliko su oni i
operativni sistem dobro napisani za efikasno upravljanje procesorom.ii
Hyper-threading radi duplikacijom određenih dijelova procesora - onih koji pohranjuju
arhitektonsko stanje - ali ne dupliranjem glavnih resursa izvršenja. To omogućava hyper-
threading procesoru da se pojavi kao uobičajeni "fizički" procesor i dodatni "logički" procesor
operativnom sistemu (HTT-ovi neobjavješteni operativni sistemi vide dva "fizička" procesora),
omogućujući operativnom sustavu da zakaže dva thread-a ili procesuira istovremeno i na
odgovarajući način. Kad se resursi izvršenja ne bi koristili trenutnim zadatkom u procesoru bez
hyper-threading, a posebno kada je procesor u zastoju, procesor opremljen hyper-threading-
om može koristiti te resurse izvršenja za izvršavanje drugog zakazanog zadatka. (Procesor može
zastati zbog nedostatka predmemorije, pogrešne prognoze grana ili ovisnosti o podacima.)
Ova tehnologija je transparentna za operativne sisteme i programe. Minimum koji je potreban
za iskorištavanje hyper-threading-a je symmetric multiprocessing (SMP) podršku u operativnom
sistemu, jer se logički procesori pojavljuju kao standardni odvojeni procesori.
Moguće je optimizirati ponašanje operativnog sistema na višeprocesorskim sistemima s hyper-
threading-om. Na primjer, ako uzmemo u obzir SMP sistem s dva fizička procesora koja su oba
hyper-thread-ovana (za ukupno četiri logička procesora). Ako planer thread-a operativnog
sistema nije svjestan hyper-threading-a, tretirat će sva četiri logička procesora isto. Ako su samo
dva thread-a prihvatljive za pokretanje, možda će odlučiti rezervisati one thread-ove na dva
logička procesora za koja se čini da pripadaju istom fizičkom procesoru, taj procesor bi postao
izuzetno zauzet dok bi drugi bio slobodan, što bi dovelo do loših performansi nego što je
moguće raspoređivanjem thread-ova na različite fizičke procesore. Ovaj se problem može

4
izbjeći poboljšanjem planera koji tretira logičke procesore drugačije od fizičkih procesora, u
određenom smislu, to je ograničeni oblik promjena planera koji su potrebni za NUMA sisteme.iii

3 GHz model Intel Pentium 4 procesora koji uključuje Hyper-Threading tehnologiju

Historija
Prvi objavljeni rad koji je opisivao ono što je danas poznato kao hyper-threading u računaru
opšte namjene bio je na Univerzitetu Stanford u disertaciji 1973. godine.
Denelcor je uveo multi-threading s procesorom heterogenih elemenata (HEP) 1982. godine.
Američki patent za tehnologiju koja stoji iza hyper-threading-a odobren je Kenneth Okin-u u Sun
Microsystems-u u novembru 1994. godine. U to vrijeme tehnologija CMOS procesa nije bila
toliko napredna da bi omogućila isplativu implementaciju.
Intel je 2002. godine uveo hyper-threading na procesoru arhitekture x86 sa Xeonom baziranom
na Foster MP. Takođe je iste godine uključen u Northwood-ovom Pentium 4 3.06 GHz , a zatim
je ostao kao karakteristika u svakom Pentium 4 HT, Pentium 4 Extreme Edition i Pentium
Extreme Edition procesoru. Prethodne generacije Intelovih procesora zasnovanih na Core
mikroarhitekturi nemaju hyper-threading, jer je Intel Core mikroarhitektura potomak P6
mikroarhitekture koja se koristi u petljama Pentiuma, od Pentiuma Pro preko Pentijuma III i
Celerona (Covington, Mendocino, Coppermine i na bazi Tualatina) i modela Pentium II Xeon i
Pentium III Xeon.

5
Intel je u novembru 2008. objavio Nehalem (Core i7) u kojem je hyper-threading ostvario
povratak. Nehalem prve generacije sadržavao je četiri jezgre i efikasno je skalirao osam thread-
ova. Od tada su objavljeni i dvojezgreni i šestojezgreni modeli koji povlače četiri i dvanaest
thread-ova. Ranija Intel Atom jezgra bila su “redni” procesori, ponekad s hyper-threadingom, za
mobilne računare male snage i desktop računare niskih cijena. Itanium 9300 pokrenut je s osam
thread-ova po procesoru (dva thread-a po jezgri) kroz poboljšanu tehnologiju hyper-threadinga.
Sljedeći model, Itanium 9500 (Poulson), ima 12-tipičnu arhitekturu, sa osam CPU jezgara s
podrškom za još osam virtualnih jezgara putem hyper-threading-a. Intel Xeon 5500 server čipovi
takođe koriste dvosmjerni hyper-threading.iv

Intel Xeon

Performanse
Prema Intel-u, prva implementacija hyper-threading-a koristila je samo 5% više matrice od
uporedivog procesora bez hyper-threadinga, ali performanse su bile 15-30% bolje. Intel tvrdi i
do 30% poboljšanja performansi u odnosu na inače identičan, non-simultaneous multithreading
Pentium 4. Tom's Hardware navodi: "U nekim slučajevima P4 koji radi na 3,0 GHz s HT-om može
čak i nadmašiti P4 koji radi na 3,6 GHz s isključenim HT-om. " Intel takođe tvrdi značajna
poboljšanja performansi s Pentium 4 procesorom koji omogućuje hyper-threading, u nekim
algoritamima umjetne inteligencije.
Sve u svemu, historija performansa hyper-threading bila je mešovita u početku. Kao jedan
komentar na računare visokih performansi iz novembra 2002. napominje se:
Hyper-Threading može poboljšati performanse nekih MPI aplikacija, ali ne svih. Ovisno o
konfiguraciji clustera i, što je najvažnije, prirodi aplikacije koja se pokreće na clusteru,
performanse mogu varirati ili čak biti negativni. Sljedeći korak je korištenje alata za
performanse da biste shvatili koja područja doprinose poboljšanju performansi i koja područja
doprinose degradaciji performansi.

6
Kao rezultat, poboljšanja performansi ovise o aplikaciji. Međutim, pri pokretanju dva programa
koja zahtijevaju potpunu pažnju procesora, može izgledati kao da se jedan ili oba programa
malo usporavaju kada se Hyper-Threading tehnologija pokrene. To je zbog sistema ponovne
reprodukcije sistema Pentium 4, koji povezuje vrijedne resurse izvršenja, izjednačavajući
resurse procesora između dva programa, što dodaje različito vrijeme izvršenja. Procesori
Pentium 4 "Prescott" i Xeon "Nocona" dobili su red čekanja za ponovno punjenje koji smanjuje
vrijeme izvršenja potrebnog za sistem ponovne reprodukcije i potpuno prevazilazi kaznu za
performanse.

Prema Intel-ovoj analizi iz novembra 2009. godine, učinci hyper-threadinga rezultiraju


povećanim kašnjenjem u slučaju da izvođenje thread-a ne rezultira značajnim ukupnim
dobicima propusnosti, a koji se razlikuju u aplikaciji. Drugim riječima, ukupno vrijeme čekanja
obrade znatno se povećava zbog hyper-threadinga, pri čemu negativni učinci postaju manji jer
postoje više istovremenih thread-ova koja mogu učinkovito koristiti dodatnu upotrebu
hardverskog resursa koju pruža hyper-threading. Slična analiza performansi dostupna je za
efekte hyper-threadinga kada se koristi za rukovanje zadacima vezanim za upravljanje mrežnim
prometom, poput obrade zahtjeva za prekid generiranih od strane network interface
controllers (NIC). Druga studija tvrdi da nema poboljšanja performansi kada se hyper-threading
koristi za isprekidanu upotrebu.v

Softveru Hyper-Threading tehnologija izgleda kao 2 procesora

7
Nedostaci
Kad su izbačeni prvi HT-ovi procesori, mnogi operativni sustavi nisu optimizirani za tehnologiju
hiper-navoja (npr. Windows 2000 i Linux stariji od 2.4).
U 2006. godini, hyper-threading bio je kritiziran zbog energetske neučinkovitosti. Na primjer,
specijalizirana tvrtka za dizajn CPU-a male snage ARM izjavila je da simultaneous multithreading
(SMT) može koristiti do 46% više snage od uobičajenih dvojezgrenih dizajna. Osim toga, tvrdili
su da SMT povećava razmjernu količinu predmemorije za 42%, dok dual core rezultira
smanjenjem za 37%. Intel je osporio ovu tvrdnju, navodeći kako je hyper-threading vrlo
učinkovit jer koristi resurse koji bi u suprotnom bili u praznom hodu ili nedovoljno iskorišteni.
ARM je 2010. godine rekao da bi u svoje buduće čipove mogao uključivati simultaneous
multithreading , međutim, to je odbijeno zbog njihovog 64-bitnog dizajna iz 2012.
U 2013. Intel je odustao od SMT-a zbog Silvermont procesorskih jezgara, jer su otkrili da ovo
daje bolje performanse i bolju energetsku učinkovitost od manjeg broja jezgara sa SMT-om.
U 2017. godini otkriveno je da su Intelovi procesori Skylake i Kaby Lake imali problema s
njihovom primjenom hyper-threadinga koji bi mogao uzrokovati gubitak podataka. Kasnije su
objavljena microcode ažuriranja da bi se riješio problem.
2019. godine,Intel se s Coffee Lakeom, počeo udaljavati od uključivanja hyper-threadinga u
mainstream Core i7 desktop procesore, osim za Core i9 dijelove ili Pentium Gold GPU-ove.
Također je preporučio onemogućivanje Hyper-Threadinga kada su otkriveni novi napadi
ranjivosti CPU-a koji bi se mogli ublažiti onemogućavanjem HT-a.vi

Sigurnost
U maju 2005. godine Colin Percival demonstrirao je da se štetni thread na Pentiumu 4 može
upotrijebiti vremenski napad za kontroliranje obrazaca pristupa memoriji drugog thread-a s
kojom dijeli predmemoriju, omogućavajući krađu kriptografskih podataka. Potencijalna rješenja
za to uključuju procesor koji mijenja strategiju brisanja iz predmemorije ili operativni sistem
sprječavajući istovremeno izvršenje, na istoj fizičkoj jezgri,threadova s različitimprivilegijama.
2018. godine operativni sistem OpenBSD onesposobio je hyper-threadinge "kako bi se izbjegli
podaci koji mogu potencijalno propuštati iz aplikacija na drugi softver" uzrokovani Foreshadow
ranjivošću. U 2019. godini, niz ranjivosti doveo je do sigurnosnih stručnjaka koji su preporučili
onemogućivanje hyper-threadinga na svim uređajima.vii

8
Zaključak
Hyper-Threading tehnologija se oslanja na činjenicu kako pojedini resursi procesora nikad nisu
istovremeno aktivni niti potpuno iskorišteni, pa se udvostručavanjem pojedinih dijelova te
optimalnim (zajedničkim) iskorištenjem drugih poboljšavaju performanse. Kod aplikacija
optimiranih za rad s višeprocesorskim sustavima (multi-threaded aplikacije) dolazi do povećanja
performansi, pa čak i pri istovremenom korištenju dvije aplikacije koje ne podržavaju
multithreaded način rada - svaki će virtualni procesor preuzeti dio poslova pojedine aplikacije.
Sve u svemu, povećanja performansi u različitim su aplikacijama prilično nedosljedna (od
gubitaka performansi pa do povećanja od 30% u odnosu na isti procesor s isključenim Hyper-
Threadingom), no prirodom rada modernih operativnih sustava (multitasking...) ipak je
pokazana prednost (barem u većini aplikacija). Budućom implementacijom multi-threaded
načina rada u sve veći broj aplikacija ova će se tehnologija pokazati još zanimljivijom.

Literatura i izvori

 https://www.intel.com/pressroom/archive/releases/2001/20010828comp.htm
 https://www.intel.com/content/www/us/en/homepage.html
 https://docs.microsoft.com/en-us/archive/msdn-magazine/2005/june/juice-up-your-
csharp-app-with-the-power-of-hyper-threading
 https://web.archive.org/web/20090227123128/http://www.osdcom.info/content/view
/30/39/
 https://arstechnica.com/features/2002/10/hyperthreading/
 https://web.archive.org/web/20121101135128/http://download.intel.com/technology/
itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf

Reference
i
https://arstechnica.com/features/2002/10/hyperthreading/
ii
https://www.anandtech.com/show/6355/intels-haswell-architecture/6
iii
https://ark.intel.com/content/www/us/en/ark.html?sSpec=sl6wk
iv
https://www.computer.org/csdl/magazine/co/1974/02/4251/13rRUyoyhIt
v
https://www.intel.com/content/www/us/en/products/processors/atom.html?iid=pr_smrelease_Pinetrail_rellinks
4
vi
https://www.theinquirer.net/inquirer/news/1037948/arm-fan-hyperthreading
vii
https://www.tomshardware.com/uk/news/intel-disable-hyper-threading-spectre-attack,39333.html

You might also like