SORU
11 Kasım 2009, ÇARŞAMBA


Çekirdek başına en iyi iş parçacığı sayısı

Hadi ben 4 çekirdekli bir İŞLEMCİ var diyelim, ve minimum süre içinde bazı işlemler yapmak istiyorum. İşlem iş parçacığı sonsuz sayıda parçaları koşabilirim ve her iş parçacığı aynı süreyi alır bu yüzden en iyisi parallelizable.

4 çekirdek var bu yana, tek bir çekirdek, belirli bir anda tek bir iş parçacığı çalıştırabilen beri çekirdek daha fazla iş parçacığı çalışan tarafından herhangi bir hızlanma bekliyoruz, bilmiyorum. Donanım hakkında fazla bir bilgim yok, bu sadece bir tahmin.

Çekirdek daha fazla iş parçacığı üzerinde parallelizable bir süreç çalışan için bir yararı var mı? Diğer bir deyişle, benim süreç daha hızlı bitirecek, daha yavaş, ya da eğer kaçarsam zaman aynı miktarda hakkında 4 iş parçacığı yerine 4000 parçacıkları kullanarak?

CEVAP
11 Kasım 2009, ÇARŞAMBA


Eğer iş parçacığı, G/Ç, senkronizasyon, vs, yapmak istemezsen ... ve bir şey çalışan başka çekirdek başına iş parçacığı en iyi performansı alırsınız. Ancak bu pek olası bir ihtimal değil. Daha fazla iş parçacığı genellikle yardımcı olur ekleyerek, ama bir süre sonra, bazı performans düşüşü neden olur.

Çok uzun zaman önce değil, performans dört çekirdekli bir makine 2 üzerinde test oldukça iyi bir yük altında Mono ASP.NET bir uygulamanın çalışmasını yapıyordum. Konuları en küçük ve en büyük sayı ile oynadık ve sonunda belirli bir yapılandırma belirli bir uygulama için en iyi verimi arasında 36 ve 40 iş parçacığı bir yerde olduğunu öğrendik. Bu sınırların dışında hiçbir şey kötü bir performans. Ders? Eğer senin yerinde olsaydım, uygulamanız için doğru numarayı bulana kadar konuları farklı sayıda test edeyim.

Kesin olan bir şey var: 4k konuları daha uzun sürer. Bu bağlamda bir sürü düğme var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • Jason Parker

    Jason Parker

    14 Aralık 2009
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012