Hyper-Threading – mantıklı mıydı?

Aralık 2013’te (aslında Grivna’nın çöküşünden önce), platformu değiştirdi – Celeron E3200’den i3 4330’a. Ruh AMD işlemciler yönünde yatmadı, ancak Intel’den bile seçim yeterince geniş ve belirsizdi. Bir veya başka bir model seçmek için. İlk olarak, platform – bütçe anakartları arasındaki küçük fiyat farkı göz önüne alındığında, seçim H81 yonga seti ile 1150 yönüne düştü. İkincisi, işlemcinin kendisi – Celeron’ları ve Pentiumları dikkate almanın özel bir anlamı yoktu (o zaman 3258’inci güdük yoktu). i3 4330 modeline karar verdim.Tabii ki, i3 bir kütükten daha pahalı ama bir takım avantajları var: Hyper-Threading, 4 MB önbellek, biraz daha geniş komut seti, 1600 MHz bellek, HD4600 grafik kartı, ve çekirdek frekansı biraz daha yüksektir. Anakart ve işlemci ile birlikte 4GB DDR3-1600 bellek çubuğu satın alındı, daha sonra aynısı eklendi. Pasifteki işlemciye Zalman 10X Optima koydum. Genel olarak, monte edilmiş konfigürasyondan fazlasıyla memnun kaldım.

Bir işlemci seçerken bile, hyper-threading’in artılarını ve eksilerini incelemek zorunda kaldım. Belli miktarda kaynak üzerinde çalıştıktan sonra, Hyper-Threading’in bazı yerlerde iyi bir artış sağladığını ve bazı yerlerde kesinlikle hiçbir şeyin, hatta daha da kötüsü performansı “yediğini” fark ettim.

Ve bu hiper iş parçacığının esas olarak ne verdiğine ilgi duyuldu, çünkü bugün isteyerek birçok çekirdeği kullanan daha fazla uygulama ve oyun var. İnternet, modern oyunlarda Hyper-Threading’in yeteneklerini gösteren çeşitli testlerle doludur. Her şey güzel olurdu, ama öyle oldu ki, son zamanlarda “böyle” oyunları çok sık / çok değil, çoğunlukla WoT veya stalker modları oynuyorum (şimdi Dying Light oynamaya karar vermiş olsam da, oyunu bitirecek miyim? ). Böylece, çok çekirdekli / iş parçacıklı bir işlemci kullanma amacı ortadan kalkıyor, aynı Pentium böyle bir buçuk iş parçacıklı oyunlarla iyi başa çıkabilirdi.

Zadrotstvo ile her şey açık, peki ya uygulamalar? Daha sonra, bir PC’nin günlük kullanımında hyper-threading’in ne sağladığından bahsedeceğiz. Bu fikri uygulamak için bazı testler yapıldı ve kıyaslamaların kullanılmasına değil, bir şekilde uğraşmak zorunda olduğu “canlı” programları test etmeye karar verildi.

Test şu şekilde yapıldı:

– hazırlanan program ve mod seti, görevin süresi ölçülerek test edildi;

— 4 işlemci çalışma modu için test yapıldı: 1C, 1C+HT, 2C, 2C+HT;

– BIOS’ta işlemci çalışma modları ayarlandı;

— her CPU çalışma modu için en az 2 kez test yapıldı, sonuçlar arasındaki fark %1’i geçmiyorsa ortalama değer alındı, aksi takdirde 3 ek çalışma yapıldı ve ortalama değer alındı;

– her test çalışmasından sonra sistem yeniden başlatıldı;

– Windows, programların çalıştığı programlar ve dosyalar SSD’deydi;

– okuyucularla çakışma durumlarından kaçınmak için (“ama benim programım bu görevi X zamanında gerçekleştirir ve sizin programınız Y alır”) ve ayrıca görüntüleme ve karşılaştırma kolaylığı için, sonuçlar mutlak zaman değerlerinde verilmez , ancak göreceli olanlar – görevi 1C modunda ve diğer modlar için 1C’ye göre tamamlamak için% 100 alınır (yani ne kadar az o kadar iyi).

O zaman hadi gidelim)

Herhangi bir PC kullanıcısının karşılaştığı ilk şey, başlangıcıdır. Aşağıda Windows 10 Pro 10240 x64’ü çalıştırmak için testler bulunmaktadır. Logonun görünümü geri sayımın başlangıcı, masaüstünün görünümü ise bitiş olarak alınır. Bu testin basitliğine rağmen zor olduğunu itiraf ediyorum. Windows 2,5 s veya 12 s içinde başlamayı başardı ve dağılım kaotik. Ah bu Win10. 5 değil, 10 koşu yapmak zorunda kaldım:


Gördüğünüz gibi, yalnızca fiziksel çekirdeklerdeki artış Win’in lansmanını hızlandırmakla kalmıyor, aynı zamanda Hyper-Threading’i de hızlandırıyor. Kötü bir başlangıç ​​değil.

Hemen, mantıklı bir bakış açısıyla, işin tamamlanması için testler eklemek gerekir. Burada test ile ilgili herhangi bir sorun yoktu:


Ek iş parçacıklarının ortaya çıkmasından performans artışı gözlemlenmesine rağmen, Win’i kapatmanın sonucu pratikte değişmez.

3DMark 13 ve oyunların kurulumunu kontrol edelim – STALKER – Shadow of Chernobyl ve Dying Light:


3DMark’ı kurmak, ek iş parçacıklarının varlığına fazla bağlı değildir.


Orijinal Stalker oyununun kurulumu ile aynı resim.


Ancak bir korsan kurarken (ama bundan kimseye bahsetmeyeceğiz) Dying Light, çoklu okuma aktif olarak kullanılmaya başlandı. 2C ve 2C + HT için sonuç daha da iyi olabilirdi, ancak görünüşe göre sabit disk darboğaz haline geldi – bu modlardaki işlemci sadece ara sıra %100’de, ancak disk çoğu zaman %100’de yüklendi.

Meraktan, bu oyunu HDD’den aynı HDD’ye yüklemeye çalıştım ve biraz şaşırdım – mevcut dört akışla, kurulum 1 çekirdek + SSD modundan %90 daha uzun sürdü.

Uninstall Tool 3.2 programını kullanarak kaldırma testleri ekleyelim (kaldırma, kalıntı arama ve kaldırma). Burada sadece bir diyagram vereceğim, çünkü. silme için gereken süre hemen hemen aynıdır ve esas olarak kayıt defteri taramasının hızına bağlıdır:


Ve işte hiper iş parçacığının ilk gafı – 2 çekirdek %5,6 artış sağlıyorsa, o zaman HT’li 1 çekirdek, tam tersine, %11,5 “yavaşlıyor”.

Devam edelim – FineReader 12’de metin tanıma. Ve yine bir olay – 4 iş parçacığı modunda, program tüm iş parçacıklarıyla çalışmayı reddediyor ve dörtte sadece 3’ünü kullanıyor. Bu programın tam teşekküllü çalışmasını daha önce görmemiş olsaydım, bununla uzlaşırdım. Bunların hepsi Win10 veya ayarlarda bir yerde yanlış bir şey olup olmadığını söyleyemem. Olduğu gibi vereceğim, ancak 2C + NT modunda 3 akışın dahil olduğunu düşünmeye değer:


Fiziksel çekirdekler için iyi ölçeklenebilirlik ve NT için iyi bir destek gözlemliyoruz. Ama yine, “ama”: 1C + HT, 1C’ye göre 100 / 80.6 = 1.24 kat daha hızlıdır ve 2C + HT (ama aslında 3 akış) 2C’ye göre 56.4 / 45 = 1, 25 kat daha hızlıdır. İlginç bir nokta, ama nedenini henüz anlamadım.

Ardından, bir Word belgesi başlatın. Bu test için 2 ölçüm yapılmıştır – belgeye çift tıklamadan ilk sayfanın görünümüne ve belgeye çift tıklamadan belgenin son sayfasını yüklemeye kadar:


Genel olarak, bir Word belgesinin ilk sayfasını açmak oldukça hızlıdır ve tek çekirdektedir, ancak herhangi bir biçimde ek bir iş parçacığı bu işlemi daha da rahat hale getirir. Ancak dişlerde daha fazla artış, gözle görülür bir kaymaya yol açmaz, iki çekirdek yeterlidir.


Yaklaşık olarak aynı durum, belgedeki tüm sayfaların açılması, ancak daha az belirgin olması durumundadır.

Başka bir test, C++ projesini Visual Studio 13’te derlemekti:


Bir Word belgesinin açılmasıyla benzer bir resim gözlemliyoruz – ikinci akış yeterli.

cdw çizimini jpg görüntüsüne kaydetme (Pusula 16):


İş parçacıkları/çekirdekler pratikte hiçbir şey vermez, tek iş parçacıklı bir süreç.

Gelelim multimedyaya. Ses dönüştürme ile başlayalım. Testler iki programda gerçekleştirildi: AIMP3 ve Movavi Video Converter 14. Daha fazla nesnellik için 1 ve 4 dosya için ölçümler yapıldı:


Burada bir programın 1 çekirdeğe dönüşüm süresi ve ona göre ikinci programın sonuçları %100 olarak alınmıştır. İlginç çıkıyor – 1C / 1C + HT modlarında AIMP3’ü ve 2C / 2C + HT – MVC14’ü kullanmak daha iyidir. Ve AIMP3 için modlar arasındaki fark minimum ise (tek iş parçacığı), o zaman MVC14 için ikinci fiziksel çekirdek %20’lik bir artış sağlar. 4 dosyayı dönüştürmeye bakmak ilginçtir:


Bu programların dönüştürme mekanizmasının farklı olduğu hemen belirtilmelidir, yani: AIMP3 aynı anda bir akışta 1’den fazla dosyayı dönüştürmez. MVC14 “İbranicedir” – tüm dosyaları paralel olarak olabildiğince çok akışa gönderir (örneğin, 5 dosya 4 veya 2 akışa). Ve bundan MVC, tek çekirdekli sistemlerde büyük ölçüde zarar görüyor – AIMP’ye %37 kayıp. Kullanıcı aniden 20 dosyayı dönüştürmeye karar verirse ne olur? Bu arada, dört ses dosyasının paralel dönüştürülmesi, bir HDD (Hitachi 320 GB, 7200 rpm) kullanırken işlemciyi artık tam olarak yükleyemez.

Yukarıdakileri atlayarak, fiziksel ve sanal çekirdekler için hala iyi ölçeklenebilirlik gözlemliyoruz.

Şimdi grafik dosyalarıyla çalışın – ACDSee Pro 7’de görüntüleri dönüştürün ve işleyin. bmp’yi jpg’ye dönüştürme (toplu işleme):


Tek iş parçacıklı bir süreç, ancak çok iş parçacıklı bir süreç için umutlar vardı (sonuçta 100 dosya). Görünüşe göre, dönüştürücünün başka bir şey aranması gerekiyor. Şimdi, özünde: ikinci fiziksel çekirdek biraz destek veriyor, ancak sanal iş parçacıkları durumu biraz daha kötüleştiriyor. Başka bir hiper iş parçacığı gaf.

Görüntü işleme (gürültü giderme, toplu işleme):


Fiziksel çekirdekler için mükemmel ölçeklenebilirlik ve NT’den iyi bir destek.

Video dosyalarına gelince, burada birkaç test daha var. Her şeyden önce, her şey de dönüşüyor:


İlginç bir nokta, hiper iş parçacığının bir çekirdeği biraz yavaşlatması, ikinci fiziksel çekirdeğin performansı biraz artırması ve 2C + HT modunun somut bir destek sağlamasıdır.

Ve şimdi aynı dosya, ancak 4 adet miktarında:


Çekirdeklerin iyi ölçeklenebilirliği ve sanal çekirdekler de yararlıdır. Bu bir MJPEG codec’iydi, H.264’e bakın:


Mükemmel çekirdek ölçeklenebilirliği, bir çekirdek için iyi NT kazancı, ancak iki çekirdek için hiper iş parçacığı daha az destek getirdi. Dört dosya için test sonuçları vermiyorum, çünkü 4 akış kullanılsa bile dosyalar tek tek dönüştürülür.

MKV’yi MP4’e (H.264) dönüştürmek önceki teste benziyor, ancak MKV’den AVI’ye (MJPEG), sıkıştırmasız AVI’den AVI’ye (MJPEG) biraz farklıdır:



Gördüğünüz gibi, bu durumda program sadece 4 dosyayı dönüştürmek için değil, aynı zamanda daha az ölçüde olsa da 1 dosya için çoklu okuma kullanır, ancak hiç yoktan iyidir.

Video dosyalarıyla çalışan başka bir programa dönelim – Nero Vision – hızlı video düzenleme için basit bir program:


İkinci çekirdek / iş parçacığının görünümünden iyi bir artış, ancak 2C + HT modu artık pek bir şey yapmıyor, burada iki çekirdek yeterli.


Ve H.264, 4 akışı da isteyerek kullanır.

Multimedya bittiğinde, birkaç farklı test kaldı, bunlardan biri bir RAR arşivinin oluşturulması:


Çekirdeklerin ölçeklenebilirliği fena değil, arşivleyici 4 iş parçacığı kullanıyor, ancak bir şekilde NT ile ilgili olmasına rağmen, “balık, balıksızlık ve kanser için balıktır”.

Dahili antivirüs ile arşivin oluşturulduğu klasörü tarayalım:


Durum bana AVI’yi sıkıştırmadan AVI’ye (MJPEG), Movavi Video Converter 14, 1 dosyasına dönüştürmeyi hatırlattı, alıntı yapıyorum: “hyperthreading bir çekirdeği biraz yavaşlatıyor, ikinci fiziksel çekirdek performansı biraz artırıyor ve 2C + HT modu bir gözle görülür bir artış.”

Şimdi aynı klasör, ancak daha önce test ettiğimiz arşivde:


Tipik tek iplik.

AusLogics BoostSpeed ​​5’te kayıt defterini tarama:


NT, bir çekirdeği biraz hızlandırdı, ancak iki çekirdeği yavaşlattı. Genel olarak, çift çekirdekli bir işlemci yeterlidir.

Ve son olarak, her biri 300 baytlık 13824 dosya içeren klasörü silelim:


Durum önceki teste benzer.

Çözüm

Test için program setinin kendi ihtiyaçlarına göre seçildiğine dikkat edilmelidir. Bazı programlar başlangıçta hariç tutuldu çünkü açık bir tek iş parçacığını temsil eder (Gwyddion, MatLab’da Wavelet dönüşümü, vb.). Tabii ki, bu tür programlar dikkate alındığında, “koğuştaki ortalama sıcaklık” daha düşük olacaktır, ancak bu gibi durumlarda fiziksel çekirdekler çok az kullanışlıdır.

Başlangıçta söylenenlere ek olarak (“… Bazı yerlerde Hyper-Threading iyi bir destek sağlar ve bazı yerlerde kesinlikle hiçbir şey, hatta daha da kötüsü – performansı “yer” …”), açıkça ortaya çıktı. NT’nin etkisi, yalnızca kullanılan programa değil, aynı zamanda uygulanması için belirli bir göreve veya koşullara da bağlıdır. Belki bazı programlar bir yedek aramalıdır, ancak bu durumda bile NT, en azından i3 için, zarardan çok yarar sağlar.

Genel olarak görevi tamamladım, kısmen de olsa kendi merakımı giderdim (bazı anlar/modlar hala kontrol etmeye değer), ancak yine de Hyper-Threading ile işlemci almanın bir anlamı olduğunu söyleyebilirim.

Similar Posts

Leave a Reply

Your email address will not be published.