Çok çekirdekli CPU'lar günümüz dünyasında hala azalan getiriden muzdarip mi?


8

Gösterilmiştir diğer sorular nedeniyle bilgisayar uygulamaları durumuna, çok çekirdekli işlemciler de azalan kazancı muzdarip. Bugünün dünyasında durum hala böyle mi?

Yeni uygulamaların çoğu çoklu iş parçacığı içerir ve bu nedenle birden çok çekirdeğe sahip olma avantajından yararlanır mı? Değilse, daha yeni 64 bit işletim sistemi yardımı farklı çekirdeklere görev / süreç atayarak çekirdeklerden faydalanıyor mu? Veya çok çekirdekli işlemciler hala aynı (veya benzeri) azalan getiriden muzdarip mi?

Lütfen tüm talepleri referanslarla yedekleyin.


2
Birden çok iş parçacığı olan bir programınız olduğunda, x64 işletim sisteminde olmak bir fark yaratmaz. 2008-2012 yılları arasındaki derleyici peyzaj farkları çok büyük. Birden çok iş parçacığı arasında bir eylem gerçekleştirmenin kolay bir yolu bulunana kadar, aynı anda birden çok iş parçacığı gerçekleştirebilen bir CPU'ya sahip olmak anlamsızdır. Bugün bile bunu yapmak için yeterince kolay değil.
Ramhound

Yanıtlar:


7

Büyük ölçüde ne yaptığınıza bağlıdır.

Düzenli Word ve Excel ve Mayın Tarlası ve annenizin kullandığı her şey için, bir çekirdek hala yeterlidir ve ikiden fazlası aşırı bir ölümdür. Bu tür uygulamalar çoğu zaman boşta kalır ve kullanıcı girdisini bekler.

Oyun oynamak için en az iki oyundan yararlanacaksınız. Bundan sonra oyuna bağlıdır. Teorik olarak her bir AI rakibini ayrı bir iş parçacığında çalıştırabilirsiniz, ancak merkezi oyun mantığı kolayca paralelleştirilemez - tutarlı bir oyun durumu oluşturmak için tüm sonuçların bir araya getirildiği bir yere ihtiyacınız vardır. Yani genellikle herkesin beklediği bir "ana" iş parçacığı vardır.

Multimedya, gerçek sayı çatırtısı ve bilim için her çekirdek önemlidir. Bunlar ya doğal olarak çok iş parçacıklı ya da kolayca yapılabilen görevlerdir ve geliştiriciler mevcut tüm işlem gücünden yararlanmak için güçlü bir teşvike sahiptir.

Uzman kullanıcılar çoklu görev yapmayı sever. Torrent, VirtualBox, ekran yakalama, video, minecraft ve web'de gezinme aynı anda çalışıyor. Yani kendi çekirdeğine sahip her CPU-aç uygulamadan yararlanacaksınız. Günümüzde oyununuzu canlı yayınlamak popülerdir. Bu, oyun için iki çekirdek, kodlayıcı ipliği için en az bir tane ve sistemin geri kalanı için en az bir tane daha. Bu en az 4 çekirdek.


1
Genel olarak, iyi oyun AI çoklu eylemleri uzlaştırmaktan çok daha zordur. Bu sadece süslü bir ek. İkinci olarak, tek bir merkezi oyun durumuna sahip olan oyunları varsayarsınız. Bu da her zaman doğru değil. Olsa bile, bu da diş çekme için bir engel olmak zorunda değildir. Örneğin fizik hesaplamaları tipik olarak paralel olarak yapılır. Ve son olarak, oyunların da büyük bir grafik oluşturma kısmı vardır, bu da kendisini diş açmaya yönlendirir.
MSalters

Tek bir çekirdeğin her zaman doğru seçim olduğundan şüphe ediyorum (sadece Excel'e gerçekten yavaş bir formül koyun ...) ve bence aşırı basitleştirdiğinizi düşünüyorum. Örneğin, yeni işlemcilerdeki Turbo Core (AMD) / Turbo Boost (Intel) özelliğine ne dersiniz? Onaltılı çekirdekli AMD'm çekirdeklerinin yarısını park etmesine ve diğer yarısını daha hızlı bir saat hızında çalıştırmasına izin veriyor - ve Intel'in versiyonu daha da ince taneli, inanıyorum - böylece işlemci gerekli iş için anında yeniden optimize edebilir o. Bu onları daha iyi bir seçim yapıyor mu? Sorun ancak gerçek dünyadaki ölçümler ve karşılaştırmalar ile doğru bir şekilde ele alınabilir.
DMA57361

@ DMA57361 ile tamamen aynı fikirdeyim Birkaç yıl önce Amcam, ergenlik öncesi çocukları için birkaç adet tek çekirdekli AMD bilgisayar satın aldı. Arka plan süreçleri (Windows Update en berbat suçludur) CPU'yu en üst düzeye çıkararak bunları düzenli olarak dakikalarca kullanılamaz hale getirdi.
Dan Is Fiddling By Firelight

Hiper-işlev oluşturmayı unutmayın. Daha gelişmiş Intel işlemciler, her çekirdeğe fazladan bir kayıt kümesi sağlayarak ve iş parçacıklarının çoklu görev performansını daha da artırmak için her bir işlemci çekirdeğinin farklı parçalarını aynı anda kullanmasına izin vererek ekstra işlemci çekirdeğini simüle edebilir.
bwDraco

3D render, büyük bir avantaj gösteren başka bir şeydir. Bir animatör veya grafik tasarımcıysanız ve çok fazla yorum yaparsanız; tüm profesyonel düzey yazılımlar, makinenizin sunduğu her çekirdekten (ve ağa bağlı kümeler durumunda daha fazlasından) yararlanma avantajına sahiptir. Performans, çekirdek sayısı ile doğrusal olarak ölçeklenir.
Jason C

5

Korkarım cevap hala, her zaman olduğu gibi, "bu ne yaptığınıza bağlıdır".

Evet, gittikçe daha fazla çekirdek ekleyerek azalan geri dönüşler var ve her seferinde yalnızca tek bir uygulama çalıştırırsanız her zaman olacaktır .

İyi yapılmış çok iş parçacıklı bir uygulamada bile, işlenen birçok görev, makinedeki en yavaş bileşenleri - sabit sürücü, ağ oluşturma - kullanıcıya görünen performansı etkilemeden beklemek için yapılır. Bunlar daha fazla paralellik ile geliştirilemez, bu nedenle herhangi bir teorik hızlandırma sınırına pratik amaçlar için ulaşılamaz.

Çok iş parçacıklı olmayan birkaç "büyük" uygulama olduğunu belirtmek gerekir (sadece işletim sisteminizin Görev Yöneticisi eşdeğerine bakın, her bir işleme kaç tanesinin ait olduğunu söyleyebilmelidir - Firefox'um şu anda 31 kullanıyor, örneğin, ).

Elbette, birbirine bağlı olmayan birden fazla uygulama çalıştırmak bu sınırlar kadar kısıtlı değildir. Daha fazla çekirdek ekledikçe, işlem performansındaki küçük düşüşle eşzamanlı olarak daha fazla uygulama çalıştırabilirsiniz (sabit disk, ağ, vb. Performans güzel bir şekilde ölçeklenmez). Uygulamada, çekirdekler, iletişim boru hatları, vb. Arasındaki iş dağılımını yönetmek için kaçınılmaz bir yük olduğu için, bu da azalan getirilere tabidir.

Örneğin, bu Tom's Hardware post (2009'dan itibaren), eşzamanlı uygulamalar altında birkaç çok çekirdekli işlemcinin performansına bakmaya çalışıyor - bir oyunu bir AVG taraması boyunca (her ikisi de muhtemelen çok iş parçacıklı) çalıştırıyor. Dört, üç ve çift çekirdekli işlemcilerin hepsi sadece oyuna benzer şekilde performans gösterir, ancak eşzamanlı AVG taramasını ekler ve performans (ortalama FPS ile ölçülür) sırasıyla% 22,% 40 ve% 59 düşer.

Bu nedenle, dört çekirdekli bir yoğun uygulamayı çalıştırırken çift çekirdekten daha fazla performans artışı sunmasa da, başka bir yoğun görev ortaya çıkar çıkmaz performansın iki katı oldu. Ne yazık ki, bunun daha fazla çekirdek ve daha yoğun görevlerle ne kadar iyi ölçeklendiğini araştıran başka bir şey bulamıyorum.


Ve sonra Intel'in Turbo Boost / AMD'nin Turbo Core'u gibi işlemcilerin modern özelliklerini not etmelisiniz. Bu özellikler çekirdek çektiği çok çekirdekli bir işlemciye izin verir (bunları daha yavaş, düşük güce, moda geçirir) ve aktif kalan çekirdeklerin hızını aşmak için yedek enerjiyi kullanır - işlemcinin çok fazla işlem gücü sağlayacak şekilde kendisini optimize etmesini sağlar sunduğu görev sayısı için mümkün olduğunca.


2

Ateşe yakıt eklemek için, burada Android'in birden fazla çekirdeğe sahip olmasının yavaşladığını okudum :

Android'in çoklu iş parçacığı yeteneğini veya eksikliğini işletim sisteminin güçlü CPU'ları etkin bir şekilde ele alma zorluğu nedeniyle suçlayan Intel'in mobil ve iletişim grubunun genel müdürü Mike Bell, çok çekirdekli işlemcilerin kullanımının aslında Android cihazlarını yavaşlatabileceğini söyledi.

Bir cihaz ne kadar fazla çekirdeğe sahip olursa, o kadar fazla güç gerektirir - ve şu an için, bu miktar güç Android cihazların dengelenmesi için çok fazladır.


Hmm, bunu orijinal sorunuzda düzenlemek daha iyi olmaz mıydı?
Journeyman Geek

Bu konunun bir topluluk wiki / SSS'ye dönüştürüleceğini düşünüyorum ve soruyu olduğu gibi bırakmak ve ayrı olarak eklemek en iyisi olacağını düşündüm. @ Moderatörler - Bu cevap soru ile birleştirilmeli mi yoksa olduğu gibi bırakılmalı mı?
rishimaharaj

0

Tabii ki, ne yaptığınıza bağlı, ancak evet, azalan geri dönüşler var.

Kelime işlem veya Web'de gezinme gibi basit, günlük uygulamalar, ikiden fazla işlemci çekirdeğine sahip olmaktan çok az fayda sağlar. Bilimsel bilgi işlem ve oyun uygulamaları, modern donanımdan en iyi şekilde yararlanmak üzere tasarlandıkları için dört (veya daha fazla) çekirdeği ve / veya hiper iş parçacığı özelliğini daha iyi kullanma eğilimindedir, ancak dörtten fazla çekirdeğin faydası sınırlıdır.

Buna ek olarak, her şey hesaplamaya bağlı değildir. İş yükünüz G / Ç bağlıysa işlemci çekirdeği eklemek yardımcı olmaz. Mekanik bir sabit sürücüyü değiştirmek için şimdiye kadar bir SSD taktıysanız, muhtemelen günlük bilgi işlem performansının bilgisayarınızın depolama biriminden daha sık olmadığını biliyorsunuzdur. Sistemin çok sayıda kullanıcı ve isteği aynı anda işlemesini sağlamak için çok sayıda çekirdeğin kullanıldığı yoğun sunucu ortamlarında, yük altında maksimum performans sağlamak için özel disk dizileri, SSD ve diğer depolama sistemleri kullanılır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.