SORU
17 EYLÜL 2008, ÇARŞAMBA


Paralel programlama modeli bugün yarın manycore işlemcileri yararlanmak için ne tavsiye edersiniz?

Eğer yazılı bir yeni uygulama sıfırdan bugün, ve bunu istediğini ölçek için tüm çekirdek olabilir atmak yarın, ne paralel programlama modeli/sistem/dil/kütüphane seçerdin? Neden?

Bu eksende cevaplar özellikle ilgi duyuyorum

  1. Programcı verimlilik kullanım kolaylığı (ölümlüler başarıyla kullanabilir mi?) /
  2. Hedef uygulama etki alanı (sorun (değil) en iyi nedir?)
  3. (Görevler, boru hatları, veri paralelliği, mesajları destekler mi...?)eşzamanlılık tarzı
  4. Sürdürülebilirliği / geleceği sağlama (kimse 20 yıl sonra hala kullanmadan olacak?)
  5. Performansı nasıl ne tür donanım ölçekte mı?)

Kasıtlı olarak iyi bir genel cevaplar çeşitli uygulamalar için kullanışlı alma beklentisiyle uygulama yapısına göre muğlak oluyorum.

CEVAP
17 EYLÜL 2008, ÇARŞAMBA


Çok çekirdekli programlama aslında birden fazla paradigma gerektirebilir. Bazıları, mevcut aday var:

  1. MapReduce. Bu sorun kolayca paralel parçalar halinde çürümüş olabilir iyi çalışıyor.
  2. Nested Data Parallelism. Bu MapReduce benzer, ama aslında özyinelemeli parçalar düzensiz boyutu bile bir sorun, özyinelemeli ayrıştırma destekler. Tamamen işlevsel dil büyük ölçüde paralel ama sınırlı donanım üzerinde çalışan büyük bir kazanç olacak NDP (GPU gibi) bak.
  3. Software Transactional Memory. Eğer geleneksel bir iş parçacığı ihtiyacınız varsa, STM onları katlanılabilir hale getirir. % 50 performans kritik bölümlere isabet ödeme yaparsınız, ama acı olmadan işlemciler 100'ler için karmaşık kilitleme düzenleri ölçek. Bu, ancak, dağıtılmış sistemler için çalışmaz.
  4. Parallel object threads with messaging. Çok zeki bu modeli Ayrık tarafından kullanılır. Her" basit bir konu olur, ve nesneleri asenkron mesajları ile iletişim kurmak ve eşleşen deseni. "nesne Temelde doğru paralel YAYINLANIYOR. Bu güzel gerçek dünyadaki çeşitli uygulamalar başarılı oldu ve güvenilmez dağıtılmış sistemler için harika çalışıyor.

Bu paradigmaların bazı maksimum performans verir, ama eğer sorun temiz bir şekilde çözer yalnızca çalışır. Diğer bazı performans feda, ama algoritmalar daha çeşitli sağlar. Bunların bir kombinasyonuna sonuçta standart bir araç haline geleceğini düşünüyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007