İPUCU

Donanım Bilgisayar Donanımı İle İlgili Yardımlaşma Bölümümüz ...

Seçenekler

Intel’in Hyper Threading Teknolojisi Nedir?

mezardeşen - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2008
Nereden:
izmir
Mesajlar:
322
Konular:
57
Teşekkür (Etti):
7
Teşekkür (Aldı):
42
Ticaret:
(0) %
21-06-2008 17:14
#1
Arrow
Intel’in Hyper Threading Teknolojisi Nedir?


Intel’in Hyper Threading Teknolojisi Nedir?
Intel’in Hyper-Threading teknolojisi, tek bir fiziksel işlemcinin çok sayıda komut zincirini eş zamanlı olarak işlemesi ile performans artışı sağlamasıdır.

Hyper-threading teknolojisine sahip Intel işlemci, mantıksal olarak iki adet işlemciden oluşmaktadır. Herbir işlemci fiziksel olarak aynı çip üzerinde bulunmasına rağmen farklı komut zincirlerini işleyebilir. Geleneksel iki farklı IA-32 mimarisine sahip fiziksel işlemci kullanan sistemlerin aksine, hyper-threading teknolojisinde mantıksal işlemciler tek bir işlemci kaynağını (sistem veri yolu, firmware, bellek) paylaşırlar. Bu yüzden hyper-threading mimarisine sahip bir işlemci, işletim sistemine iki işlemcili bir sistem gibi görünmesine rağmen, iki gerçek fiziksel işlemcinin sağladığı performansı vermeyecektir.


Intel Netburst mimarisine sahip işlemciler tek komut zincirinde optimum performansı vermek üzere tasarlanmalarına rağmen, bir saat çevriminde sadece kaynaklarının %35 kadarını kullanmaktadır. Hyper-threading teknolojisi ise tek işlemci çekirdeği üzerinde çoklu komut zinciri işleme yeteneği ile işlemci kaynaklaırnı daha efektif kullanarak genel performansı arttırmak için geliştirilmiştir. Gelecek senelerde Intel’in masaüstü işlemcilerinde de bu teknolojiyi görmek olasıdır. İki ya da daha fazla işletim sistemi destekleyen işletim sistemleri ve yazılımlarda bu teknolojiyi otamatik olarak desteklemelerine rağmen, işletim sistemi ve yazılım tarafında kod modifikasyonları bizlere maksimum performansı sağlayacaktır.

Nasıl Daha Fazla Performans Sağlarım?
Performans arttırma yarışı hiç durmadan devam etmektedir ve çok sayıda bilim adamı bu konuda çalışmaktadır. Masraf yapmadan performans arttırmak deyince aklımıza işlemcinin overclock edilmesi gelmektedir ki, bu işlemin yan etkilerini tahmin edebiliriz. İşlemci ısısı yükselmesi, uygulamalarda yavaşlamalar ve daha kötüsü kilitlenme problemleri...

İşlemci Kaynaklarının Arttırılması: Örnek olarak işlemci cache belleğinini arttırılması. Bu işlem daha fazla transistor kullanılması ve işlemci çekirdek yüzeyinin daha geniş yüzeye sahip olması anlamına gelecektir ki üretim maliyeti artacaktır. Intel Pentium III Xeon işlemciler piyasaya sürüldüğünde hatırlıyorum 512kb’lik cache belleğe sahip Pentium III XEON 550MHz işlemci 1000$, 1MB cache bellekli olan 2000$ ve 2MB cache bellekli olan ise 4000$ idi. Ancak cache belleğin 2 katına çıkması, hakkaten fiyatının 2 katına çıktığı gibi 2 katı performans sağlıyormuydu. Herşey sadece %10-%30 oranında ilave bir performans artışı için katlanabilir değerlerdi.

Çok sayıda işlemci: Sistemimizde çok sayıda işlemci destekleyen bir anakart üzerine yerleştireceğimiz işlemciler (eğer işletim sistemimiz ve uygularımızda bu özelliği destekliyor ise), toplam yükü bölüşecekleri için performansımızı arttıracaktır ancak bu yapıya sahip sistemlerin fiyatları azımsanacak gibi değildir.

CMP (Chip Multiprocessing): CMP, iki işlemci çekirdeğinin tek bir yüzeye yerleştirilip, ortak veya ayrı cache bellekleri kullanması demek oluyor ki, iki işlemci çekirdeğinin tek bir yüzeye yerleştirilmesi kolay ve ekonomik bir yöntem değildir.

Zaman Dilimli Çoklu Komut İşleme: İşlemci belirli zaman dilimleri ile kendini anahtarlayarak farklı komut zincirlerini işler. Daha verimli kullanıldığından dolayı performans artar. Ancak komutlardan biri bekleme modunda ise gereksiz bir zaman kaybı anlamına gelir ki, bu yapıda bir sistemde ekonomik değildir.

Eşzamanlı Çoklu Komut İşleme (Simultaneous Multithreading): Çoklu komut zincirleri tek bir işlemci üzerinde eşzamanlı olarak işlenir. CPU kaynakları dinamik olarak dağıtılır (sen kullanmıyorsan başkası kullansın mantığı ile). Bu işlemde Intel’in hyper-threading teknolojisinin temelidir.

Hyper-Threading Nasıl Çalışır?

Multitasking, yani aynı anda birçok uygulamanın çalışabilmesi, uzun süredir var olan bir teknoloji. Peki bu işlem nasıl gerçekleşiyor? Gerçekten komut zincirleri eşzamanlı olarak mı işleniyor? Windows NT/2000/XP işletim sistemlerinde Task Manager uygulamasını açtığımızda farklı komut zincirlerinin eşzamanlı olarak işlendiğini görüyoruz. Her ne kadar bu şekilde görsekte işlin teorisinde işlemcinin bu uygulamalar arasında sürekli anahtarlanması ve bir uygulamadan düzenli olarak diğer uygulamayı işlemeye geçmesi söz konusudur.

Hyper-Threading, ilk olarak XEON MP (Foster MP) işlemciler ile birlikte duyuruldu. Ancak XEON (Prestonia, 512kb L2 cache) bu teknoloji ile daha önce pazara sunuldu.

Aşağıdaki şekilde görüldüğü gibi, çift fiziksel işlemcili bir sistemde komut zincirleri farklı fiziksel işlemcilere dağılırken, hyper-threading destekli sistemimizde iki farklı komut zinciri eşzamanlı olarak aynı işlemci üzerinde işlenebilmektedir.



Hangi Uygulamalarda Hyper-Threading Teknolojisini Kullanmalıyım?
Hyper-Threading teknolojisinin performansını her uygulamada beklemek olası değildir. Aşağıda vereceğimiz bazı uygulamalarda hyper-threading’in uygulama performansımıza olumsuz etkilerininde olduğunu göreceğiz.

Testler çift işlemci destekli Intel 860 cipset’li anakart üzerinde gerçekleştirilmiştir. Sistem içeriği; 512MB RDRAM, 64MB Geforce3 DDR ekran kartı, Western Digital WD300BB hard disk, XEON 2.2 işlemci ve 6X DVD. İşletim sistemi olarak Windows 2000 Pro SP2 kullanılmıştır.

Rendering: Yapılan testlerde hyper-threading etkinleştirilmemişken tek komut zinciri ile CPU kullanımı %100’de tutulmuştur.



Rendering uygulamasında, çift CPU’nun sağladığı performans değerlerine ulaşılamamasına rağmen, tek CPU’ya gore azımsanmayacak bir performans artışı gözlenmiştir.

Photoshop ve MP3 kodlama: WAV-MP3 çevirimi için SMP destekleyen GOGO-no-coda 2.39c codec’leri kullanılmıştır. Çift fiziksel CPU kullanımı %34 oranında performans sağlarken, hyper-threading %3’luk bir performans kaybına neden olmuştur



Photoshop 6.01 (çok sayıda komut ve filter destekleyen versiyonu) testinde ise hyper-threading ciddi bir performans kaybı verirken, çift fiziksel işlemci ile yapılan test ise bize %12’lik bir kazanç sağlıyor.

CAD Uygulamaları: Çift fiziksel işlemcili sistemlerin OpenGL ve 3D uygulamalarında tek işlemcili sistemlere gore performans değerlerinin yüksek gelmesi çok nadirdir. Bu yüzden çoğu test uygulamalarında çift fiziksel işlemcili sistemler, tek işlemcili versiyonları yerine rakipleri ile karşılaştırılırlar.
Bir uygulamanın iki işlemcili bir sistemde daha hızlı çalışabilmesi için;
İki veya daha fazla komut zincirinin eşzamanlı işlenebilmesi
Eşzamanlı olarak aynı kaynakları (harici depolama cihazları, ağ arabirimi) kullanmaması gerekmektedir.
SolidEdge V10 ve SolidWorks ile yapılan test sonuçlarına göre hyper-threading’in CAD uygulamalarında şu an içim kullanılmaması gerektiğini saptayabiliriz.



Sunucu Uygulamarında Performans?

Aşağıdaki grafikte Intel mikroişlemci labaratuarlarında yapılan test sonuçlarını görebilirsiniz. Çift XEON MP işlemci ile yapılan testlerde Windows 2000 Server işletim sistemi kullanılmış. Özellikle Microsoft IIS uygulamasında %30’a varan bir performans artışı var. SQL server uygulamasında ise %22’lik bir performans kazancını sadece BIOS üzerinden hyper-threading’i aktif duruma getirmekle elde etmek gerçekten güzel.



Sunucu Uygulamarında Performans?

Aşağıdaki grafikte Intel mikroişlemci labaratuarlarında yapılan test sonuçlarını görebilirsiniz. Çift XEON MP işlemci ile yapılan testlerde Windows 2000 Server işletim sistemi kullanılmış. Özellikle Microsoft IIS uygulamasında %30’a varan bir performans artışı var. SQL server uygulamasında ise %22’lik bir performans kazancını sadece BIOS üzerinden hyper-threading’i aktif duruma getirmekle elde etmek gerçekten güzel.



Windows Tabanlı Sunucular Hyper-Threading İşlemcileri Nasıl Tanır?
Windows tabanlı sunucular işlemci bilgilerini sistem BIOS’undan alır. Sunucu üreticileri, Intel’in sağladığı teknik spesifikasyonlar ile kendi BIOS yazılımlarını üretirler ki Hyper-Threading, çoğu sunucuda BIOS üzerinden aktif veya pasif duruma getirilebilir.

BIOS’un Intel tarafından sağlanan detaylar ile yazıldığını varsayarsak, BIOS önce herbir fiziksel işlemciler üzerindeki birinci mantıksal işlemcileri sayar, daha sonra da fiziksel işlemciler üzerinde ki ikinci işlemcileri sayar.



BIOS’un, Intel’in teknik spesifikasyonlarına göre yazılmadığını varsayarsak, çift fiziksel işlemci kullanan bir uygulama, aynı fiziksel işlemci üzerinde ki iki farklı mantıksal işlemciyi kullanma yoluna gideceği için, ikinci fiziksel işlemcinin bir faydası görülemeyeceği gibi iki fiziksel işlemcinin sağladığı performans değerlerine de ulaşılamayacaktır.



Windows 2000 Sunucu Ailesi ve Hyper-Threading Teknolojisi

Windows 2000 sunucu, fiziksel ve mantıksal işlemcileri birbirinden ayıramaz.Örneğin 4-yollu (4 fiziksel işlemcili) bir sunucuda Windows 2000 Server işletim sistemini çalıştırırsak, Windows 2000 server’un 4 işlemci limiti olduğu için, herbir fiziksel işlemcide ki ilk mantıksal işlemcileri kullanacağı için, 4 fiziksel işlemci kullanmamızın hiçbir anlamı olmayacaktır. Eğer 4 fiziksel işelmcide Windows 2000 server çalıştırmamız gerekiyor ise BIOS üzerinden mutlaka Hyper-Threading’i pasif duruma getirmemiz gerekecektir.



Ancak, 4-yollu sunucumuza 8 işlemci desteği olan Windows 2000 Advanced Server işletim sistemini kurduğumuzda, Hyper-Threading teknolojisinin bize sağlayacağı avantajları tam olarak kullanabiliriz.



Windows 2000 Server işletim sistemi kullanan 2-yolu bir sunucu da sistem tarafından 4 işlemci algılanacağı için 2 fiziksel işlemcinin verdiği poerformansın üzerinde bir performans sağlayacaktır.

Windows .NET Server Ailesi ve Hyper-Threading Teknolojisi

Windows .NET server, Windows 2000 server aksine fiziksel ve mantıksal işlemcileri birbirinden ayrıabilme yeteneğine sahiptir. Windows .NET Standard Server 2 işlemci limiti olmasına rağmen, 2 fiziksel işlemcili bir sunucuda 4 mantıksal işlemciyi de kullanır.



Microsoft Windows 2000 Server Ailesi, Hyper-Threading teknolojisi ile uyumlu olmasına rağmen, Microsoft, bu teknolojinin gerçek performansının .NET server ailesi ile alınabileceğini bildiriyor.

Aşağıdaki tablodaHyper-Threading teknolojisinin aktif olduğu Windows tabanmlı sunucularda kullanılabilen maksimum işlemci değerlerini göstermektedir.


PENTA


alıntıdır paylaşmak istedim konuyu yanlış yere koyduysam üzgünüm özürdilerim inşallah faydalı olmuştur
--------------------- Bayrakları bayrak yapan üstündeki kandır
Toprak,eğer uğrunda ölen varsa vatandır.
krhacker - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2008
Mesajlar:
1.023
Konular:
14
Teşekkür (Etti):
6
Teşekkür (Aldı):
19
Ticaret:
(0) %
21-06-2008 17:20
#2
yaw hepsini okumaya zamanım olmadı ama yinede paylaşım için tşkler
teknikpc - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2008
Mesajlar:
57
Konular:
2
Teşekkür (Etti):
4
Teşekkür (Aldı):
6
Ticaret:
(0) %
24-09-2008 18:26
#3
hepsini okumadım ama kısaca tek kelime ile biliyorum tek çekirdek olmasına rağmen çift çekirdek mantıgıyla calışması olyına hyper teknolojısı denir .

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı