From: Baris Metin (baris.metin@frontsite.com.tr)
Date: Sat 08 Feb 2003 - 19:34:10 EET
Selamlar,
Oncelikle ozur dilerim, istemcimden kaynaklanan bir sorun nedeni ile
mektubu birkac defa gondermisim...
> Hmmm.. Simdi hyperthreading aslinda tek CPU yu lojical olarak cift gibi
> gosterme durumu bunda hem fikiriz. Bu sayede multhread yazilmis
> uygulamalar -alt duzeyde- hyperthread in sayesinde yaratilmis olan
> *lojik SMP* uzerinde makina sanki SMP iymis gibi calisabiliyor. Yani tek
> bir CPU uzerinde multhread uygulamalar calisabiliyor. SMP de
> uygulamalarda ozellikle multithreading uygulamalarin kostugu fiziksel
> coklu CPU tarlasi. Dolayisiyla SMP icin yazilmis bir uygulamanin
> hyperthread bir platforma da kosarken performans vermemesi durumu ancak
> o urun SMP uzerinde de verimli calismadigi bir durumda gecerlidir.
Bu cogu durum icin dogru, yalniz bazi durumlarda ne yazikki olay tam
olarak bu sekilde gerceklesmiyor/gerceklesemiyor.
Bunu aciklamak icin hyperthreading'in nasil calistigina biraz olsun
deginmek gerekiyor.
Hyperthreading'de bazi kaynaklar paylasilir(shared); mesala cache...
Bazi kaynaklar calisan thread'ler arasinda bolunur(partitioned); mesela
bufferlar...
Bazi kaynaklar ise kopyalanarak (replicated) kullanilir; mesela
instruction pointers...
Yani sizin de bahsettiginiz gibi islemcilerde bazi bolumler logical
olarak coklanirken bazi bolumler ise paylasilir, ortak kullanilir...
Hal boyleyken Hyperthreading'de ortak kaynaklar icin yarisan(compete)
thread'lerin varligi HyperThreading teknolojisinden istenilen verimin
alinamamasina neden olur. Buna bir ornek de bir onceki mektubumda
bahsettigim spin-wait loops gosterilebilir. Bu konu ile ilgili de
detayli bilgi intel.com'dan alinabilir. Hatirladigim kadari ile bir
"hyperthreading icin kod hazirlamak" gibi bir baslik altinda
anlatiliyordu.
iyi calismalar,
-- ----------------------------------------------------------------------- Baris Metin mail:baris.metin@frontsite.com.tr IT Consultant and Application DeveloperFrontsite Bilgi Teknolojisi A.S. tel: +90 212 222 68 42 - 63 fax: +90 212 222 68 35 -----------------------------------------------------------------------
-- Attached file included as plaintext by Ecartis --
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+RT+RxyezEhU1oVARAkeyAJwKdZjSGrk9wWJCgWv2T/i4JT0oxwCfdIq9 pSnz1yZ3jY14CWviJxy3JG8= =sGYJ -----END PGP SIGNATURE-----
----------------------------------------------------------------------- Liste üyeliğiniz ile ilgili her türlü işlem için http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.
Listeden çıkmak için: 'linux-request@linux.org.tr' adresine, "Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz. -----------------------------------------------------------------------