Egyidejű többszálú feldolgozás

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. március 17-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A szimultán többszálú feldolgozás [1] ( eng.  Simultaneous Multithreading  - SMT ) a processzorok hardverében megvalósítható többszálú feldolgozás két fő formájának egyike . A második forma az ideiglenes többszálú . Az egyidejű többszálú feldolgozás technológiája lehetővé teszi több független végrehajtási szálból származó utasítások végrehajtását egy szuperskaláris mikroprocesszor funkcionális modulján egy ciklusban.

Előzmények és megvalósítások

A szimultán többszálú feldolgozást először Dean Tullsen vezette be kutatási cikkeiben 1995 -ben ( UC San Diego ) [2] [3] [4] [5] .

Az első processzor, amely megvalósítja a szimultán többszálú feldolgozást, a DEC Alpha 21464 mikroprocesszora lenne , amelyet 1999 -ben jelentettek be. A processzort Joel Emer főépítész által vezetett csapat fejlesztette ki . A processzor egymagos, szuperskaláris volt, 8 csővezetékkel, 4 regiszterkészlettel rendelkezik a környezetváltáshoz, és potenciálisan 4 szálat tudott egyszerre végrehajtani. A logikai elemek számának mindössze 10%-os növekedésével kétszeres teljesítménynövekedést értek el. A processzor sok tekintetben megtestesítette a Dean Tallsen munkájában felvázolt javaslatokat és megközelítéseket, akinek munkáját az Alpha csapat néhány tagja (Joel Emer és Rebecca Stamm) társszerzőként írta. Az Alpha 21464 azonban soha nem került piacra, vállalati összeolvadások és felvásárlások áldozata lett [6] .

Így a szimultán többszálú feldolgozás első megvalósítása a piacon az Intel Hyper-threading technológiája volt, amelyet 2002-ben vezettek be a Xeon szerverprocesszorokban és a Pentium 4 -ben [7] ( NetBurst mikroarchitektúra ).

Amikor az Intel a többmagos mikroprocesszoros architektúra felé fordult, a tervezés egyszerűsítése érdekében nem portolta át a hyper-threading technológiát új processzorokra. Ennek eredményeként az első többmagos processzor, amelyen minden magon egyidejűleg többszálas volt, az IBM POWER5 processzor volt (2004) [8] . Végül az Intel a Nehalem architektúrával (2008) [9] visszahozta processzoraiba a Hyper-threading szolgáltatást .

Kritika

2021-ben egy kutatócsoport, köztük a Graz Tech University , a Georgia Institute of Technology és a Lamarr Security Research, egy non-profit kutatóközpont, az AMD Zen , Zen 2 és Zen 3 processzoraiban megvalósított SMT technológia sebezhetőségét fedezte fel . Az SQUIP [10] nevű sebezhetőség (Scheduler Queue Usage via Interference Probing – az ütemezősor használata interferenciaelemzésen keresztül ) lehetővé teszi a támadók számára, hogy hozzáférjenek a bizalmas adatokhoz, amelyet 2021 decemberében jelentett be az AMD. A sebezhetőség kimutatása során a kutatók „feltörték” az RSA-4096 titkosítási kulcsot [11] [12] . Az AMD a CVE-2021-46778 sebezhetőségi azonosítót és a "közepes" súlyossági besorolást követően 2022 augusztusában közzétett egy enyhítő közleményt [13] .

Összehasonlítás más technológiákkal

A szuperskaláris mikroprocesszorok teljesítményét több utasítás egyidejű végrehajtása növeli egy ciklusban, de korlátozzák az utasítások közötti függőségek (amelyek korlátozzák a párhuzamos végrehajtás lehetőségeit, aminek következtében nem hajtható végre a maximális számú utasítás ciklus) és magas késleltetésű műveletek egyetlen végrehajtási szálon belül (amelyek olyan ciklusok megjelenéséhez vezetnek, amelyekben egyetlen utasítást sem hajtanak végre - folyamat leáll ).

A hardveres többszálú architektúrák több szálat hajtanak végre, és gyorsan válthatnak közöttük kontextust. Az ilyen "hagyományos" többszálú feldolgozás elrejti a memória- és funkcióblokk-késleltetéseket (csökkenti az "üres" ciklusok számát), bár egy szál utasításai minden egyes ciklusban végrehajtásra kerülnek. Az egyidejűleg végrehajtható utasítások számának növekedése azonban csökkenti a hagyományos többszálú kezelés képességeit.

A szimultán multithreading a szuperskaláris architektúra utasítások párhuzamos végrehajtását kombinálja a hardveres többszálas kezeléssel. Az egyidejű többszálú feldolgozás a processzor funkcionális moduljainak szálak közötti dinamikus eloszlása ​​miatt növeli a processzor használatát memóriakésések és a szálon belüli utasítások párhuzamos végrehajtásának korlátozott képessége esetén.

Szervezetükben a többmagos mikroprocesszorok állnak a legközelebb az egyidejű többszálú mikroprocesszorokhoz - több regiszterkészlettel, több funkcionális modullal és az egyes magok szuperskalaritásával rendelkeznek. A fő különbség a kettő között az erőforrások elosztása - egy többmagos processzorban minden szál fix számú processzor funkcionális modult kap, míg egy szimultán többszálú processzorban a modulok eloszlása ​​minden ciklusban változik. Ennek eredményeként az egyidejű többszálú processzorok nagyobb teljesítményt mutatnak maximális szálterhelés mellett, és a szálak számának csökkenésével lassabban csökken a teljesítmény a többmagos processzorokhoz képest.

Jegyzetek

  1. Kettő az egyben //Computerra (2001.09.11.) . Letöltve: 2016. november 21. Az eredetiből archiválva : 2016. november 21..
  2. Egyidejű többszálú projekt . Letöltve: 2017. május 31. Az eredetiből archiválva : 2017. június 1.
  3. Dean Tullsen kiadványai . Letöltve: 2017. június 4. Az eredetiből archiválva : 2017. június 9..
  4. Lásd Dean M. Tullsen, Susan J. Eggers és Henry M. Levy. Egyidejű többszálú feldolgozás: Maximalizálja a chipen belüli párhuzamosságot. In Proceedings of the International Symposium on Computer Architecture, 1995. június
  5. doktori disszertáció Simultaneous Multithreading, DM Tullsen, Ph.D. Szakdolgozat, Washingtoni Egyetem, 1996. augusztus.
  6. Nemirovsky Tullsen, 2013 , p. 72.
  7. Nemirovsky Tullsen, 2013 , p. 74.
  8. Nemirovsky Tullsen, 2013 , p. 34.
  9. Nemirovsky Tullsen, 2013 , p. 81.
  10. SQUIP: Az ütemező várólista versenyoldali PDF csatorna kihasználása
  11. Anton Shilov. Új sebezhetőség az összes AMD Zen CPU-t érinti: Lehet, hogy a szálakat le kell  tiltani . Tom's Hardware (2022. augusztus 11.). Letöltve: 2022. augusztus 12.
  12. Vlagyimir Fetisov. Kiderült, hogy az SMT technológia a Ryzen és az EPYC processzorokban lehetővé teszi a bizalmas adatok ellopását . 3DNews (2022. augusztus 11.). Letöltve: 2022. augusztus 12.
  13. ↑ Végrehajtási egységütemező versenyoldali csatorna biztonsági rése AMD  processzorokon . AMD (2022. szeptember 8.). Letöltve: 2022. augusztus 12.

Irodalom

Linkek