Hızlı tek iş parçacığı performansı ve çok yüksek çok iş parçacığı verimi, Intel'in Xeon E5-2699v4 gibi bir CPU ile elde ettiğiniz şeydir .
22 çekirdekli bir Broadwell. Sürekli saat hızı, tüm çekirdeği etkin (örneğin video kodlaması) olan 2.2GHz'dir , ancak tek çekirdekli maksimum turbo 3.6GHz'dir.
Paralel bir görevi yürütürken, 145W güç bütçesini 22 6.6W çekirdek olarak kullanır. Ancak yalnızca birkaç iş parçacığı olan bir görevi çalıştırırken, aynı güç bütçesi birkaç çekirdeğin 3.6GHz'e kadar turbo yapmasına izin verir. (Büyük bir Xeon'daki düşük tek çekirdekli bellek ve L3-önbellek bant genişliği , 3.6GHz'de masaüstü dört çekirdekli kadar hızlı çalışamayacağı anlamına gelir. toplam hafıza bant genişliği.)
2.2GHz dereceli saat hızı, termal sınırlamalar nedeniyle düşüktür. Bir CPU'nun çekirdeği ne kadar fazlaysa, hepsi aktifken o kadar yavaş çalışması gerekir. Bu etki, soruda bahsettiğiniz 4 ve 8 çekirdekli işlemcilerde çok büyük değil, çünkü 8 o kadar fazla çekirdek değil ve çok yüksek güç bütçeleri var. Meraklı masaüstü işlemcileri bile bu etkiyi belirgin bir şekilde gösteriyor: Intel'in Skylake-X i9-7900X tabanı 3.3GHz, maksimum turbo 4.5GHz olan 10c20t'lik bir parça . Bu i7-6700k'den (4.0GHz sürekli / 4,2GHz turbo overclock olmadan turbo) çok daha fazla tek çekirdekli turbo tavan odası.
Frekans / gerilim ölçeklendirme (DVFS), aynı çekirdeğin geniş bir performans / verimlilik eğrisi aralığında çalışmasına izin verir. Ayrıca , CPU'ların verimli bir şekilde neler yapabileceği hakkında birçok ilginç ayrıntıya sahip olan ve hem tasarım zamanında hem de DVFS ile anında performansa karşı verimlilikle ticaret yapan Skylake güç yönetimi hakkındaki IDF2015 sunumuna bakın.
Spektrumun diğer ucunda, Intel Core-M CPU'lar 4.5W'ta 1.2GHz gibi çok düşük bir sürekli frekansa sahip , ancak 2.9GHz'e kadar gidebiliyor. Birden fazla çekirdek etkinken, çekirdeklerini tıpkı dev Xeon'lar gibi daha verimli bir saat hızında çalıştırırlar.
Faydadan en iyi şekilde yararlanmak için heterojen bir big.LITTLE tarzı mimariye ihtiyacınız yok. ARM big.LITTLE'deki küçük çekirdekler, bilgi işlem işleri için iyi olmayan sıralı çekirdeklerdir. Mesele sadece çok düşük güce sahip bir UI çalıştırmak. Bunların birçoğu video kodlama veya diğer ciddi sayıların sıkıştırılması için mükemmel olmaz. ( @ Lưu Vĩnh Phúc, x86'nın neden büyük olmadığına dair bazı tartışmalar buldu . LITTLE . Temel olarak, çok düşük güçte çalışan ekstra yavaş bir çekirdeğe fazladan silikon harcamak buna değmez.)
video düzenleme gibi uygulamalar ise çekirdek sayısına göre belirlenir. [2x 4.0 GHz + 4x 2.0 GHz, çok iş parçacıklı iş yüklerinde 4x 4GHz'den daha iyi olmaz mıydı?]
Bu senin anahtar yanlış anlamaların. Saniyede aynı sayıda toplam saat kenesinin, daha fazla çekirdek üzerine yayıldığında daha kullanışlı olduğunu düşünüyor gibi görünüyorsunuz. Asla durum böyle değil. Daha çok
cores * perf_per_core * (scaling efficiency)^cores
( perf_per_core
saat hızı ile aynı şey değildir, çünkü bir 3GHz Pentium4 saat döngüsü başına bir 3GHz Skylake'den çok daha az çalışacaktır.)
Daha da önemlisi, verimin 1.0 olması çok nadirdir. Bazı utanç verici paralel görevler neredeyse doğrusal olarak ölçeklenir (örneğin, birden fazla kaynak dosyayı derlemek). Ancak video kodlama böyle değildir . X264 için ölçekleme birkaç çekirdeğe kadar çok iyi, ancak daha fazla çekirdekle daha da kötüleşiyor. örneğin 1 ila 2 çekirdeğe gitmek hızı neredeyse iki katına çıkaracak, ancak 32 ila 64 çekirdeğe gitmek tipik bir 1080p kodlama için çok daha az yardımcı olacaktır. Hız platosunun hangi nokta olduğu ayarlara bağlıdır. ( -preset veryslow
her karede daha fazla analiz yapar ve olduğundan daha fazla çekirdek tutabilir -preset fast
).
Çok yavaş çekirdekli çok sayıda x264'ün tek dişli parçaları tıkanıklık yaratacaktır. (örneğin, son CABAC bit akışı kodlaması. hızlı çekirdekler).
x265, x264'ten daha fazla çekirdekden faydalanabilir, çünkü yapılacak daha fazla analiz vardır ve h.265'in WPP tasarımı, daha fazla kodlama ve kod çözme paralelliği sağlar. Fakat 1080p için bile, bir noktada sömürüde paralellik tükeniyor.
Kodlamak için birden fazla videonuz varsa, L3 önbellek kapasitesi ve bant genişliği ve bellek bant genişliği gibi paylaşılan kaynaklar için rekabet dışında, paralel ölçeklerde birden fazla video yapmak. Daha az sayıda daha hızlı çekirdek aynı anda L3 önbellekten daha fazla yararlanabilir, çünkü bir kerede sorunun çok farklı bölümlerinde çalışmaya ihtiyaç duymazlar.