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

  • New Scientist

    New Scientis

    27 Kasım 2006
  • ShoSho

    ShoSho

    20 Ocak 2010
  • Shylo Sharity

    Shylo Sharit

    27 EKİM 2011