EMZETT.
Giriş yap

Eşzamanlı çoklu iş parçacığı (SMT)

Kısaca: Eşzamanlı çoklu iş parçacığı (SMT), yürütme birimlerini daha iyi kullanarak tek bir fiziksel işlemci çekirdeğinin aynı anda iki (veya daha fazla) iş parçacığı çalıştırmasını sağlar. Intel buna Hyper-Threading der.

Biraz daha ayrıntılı: Bir çekirdekte, tek iş parçacığıyla çoğu zaman boş duran birçok yürütme birimi vardır; çünkü iş parçacığı bellekten veri bekler veya bağımlılıklar yüzünden yavaşlar. SMT ek yazmaçlar ve durum ekler, böylece ikinci bir iş parçacığı boş aralıklarda çalışır. İşletim sistemi bu yüzden çekirdek başına iki mantıksal işlemci görür.

Ayrıntılı

Nasıl çalışır:

  • Çekirdek başına çoğaltılmış yazmaç kümeleri ve denetim vardır, ancak yalnızca bir ALU, FPU ve önbellek kümesi (paylaşılan).
  • Zamanlayıcı, her çevrimde boş yürütme yuvalarını sırayla her iki iş parçacığından doldurur.
  • Bir iş parçacığı beklerse diğeri hesaplamaya devam eder.

Avantajlar:

  • İyi paralelleşebilen yükte yaklaşık %10 ila 30 daha fazla verim (oluşturma, derleme, sunucular, sanallaştırma). Kazanç yalnızca küçük bir ek çip alanına mal olur (~%5).
  • Çok sayıda küçük görevde daha düşük gecikme, yük altında daha iyi yanıt verme.

Sınırlar ve dezavantajlar:

  • İki katına çıkma yok: İki iş parçacığı yürütme birimlerini ve önbelleği paylaşır. Çekirdeği zaten tüketen işlem yoğun programlarda SMT az fayda sağlar, hatta yavaşlatır (önbellek rekabeti).
  • İkinci iş parçacığı birlikte çalıştığında tek iş parçacığı hızı biraz düşebilir.
  • Güvenlik: Paylaşılan kaynaklar yan kanal saldırılarını mümkün kıldı (Spectre, MDS, “PortSmash”). Bazı bulut sağlayıcıları ve sistemler bu yüzden SMT’yi kapatır veya müşterileri çekirdek başına ayırır.
  • Oyunlar: Çoğu zaman pek yararlanmaz. Bazıları SMT olmadan daha kararlı çalışır.

Adlar:

ÜreticiAd
IntelHyper-Threading (HT)
AMDSMT
IBM Powerçekirdek başına 8 iş parçacığına kadar SMT
Apple, ARM mobil çekirdeklerçoğunlukla SMT’siz, onun yerine daha çok gerçek çekirdek

Açma/kapatma: UEFI’de (“SMT mode”, “Hyper-Threading”). Yalnızca özel durumlarda mantıklıdır.

Ayrıca bak: Hyper-threading ve çekirdekler, İşlemci çekirdekleri, mantıksal işlemciler ve iş parçacıkları, İşlemci ardışık düzeni (pipeline)