ScholarGate
Asistan

Paralel Programlama Modelleri

Paralel programlama modelleri, programcıların hız kazanmak amacıyla birçok işlemci arasında hesaplamayı ifade etme ve koordine etme biçimlerini sağlayan soyutlamalardır.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Paralel programlama modeli, bir paralel bilgisayarın soyutlaması olup, hesaplamanın eşzamanlı görevlere nasıl ayrıştırıldığını, bu görevlerin nasıl iletişim kurduğunu ve senkronize olduğunu, verilerin işlemciler arasında nasıl paylaşıldığını veya dağıtıldığını tanımlayarak, birden fazla işlem birimi kullanarak bir problemin daha hızlı çözülmesini sağlamaktadır.

Kapsam

Bu alan, başlıca paralel programlama modellerini—paylaşımlı bellek ve veri paralelliği (iş parçacıkları, OpenMP), mesajlaşma (MPI) ve hızlandırıcı/GPU programlama (CUDA, OpenCL)—Flynn'in paralel mimariler taksonomisi, paralel algoritmaların tasarımı ve faydalarını sınırlayan ve ölçen performans yasaları (Amdahl ve Gustafson yasaları) ve metrikleri (hızlanma, verimlilik, ölçeklenebilirlik) ile birlikte kapsamaktadır. Bu, alt alanın dağıtık sistemler tarafına paralel hesaplama tamamlayıcısıdır.

Alt konular

Temel sorular

  • Bir hesaplama görevlere nasıl ayrıştırılmalı ve işlemcilere nasıl eşlenmelidir?
  • Hangi programlama modeli—paylaşımlı bellek, mesajlaşma veya hızlandırıcı—belirli bir mimariye ve probleme uygun düşmektedir?
  • Paralellikten elde edilebilecek hızlanmayı ne sınırlamaktadır ve ölçeklenebilirlik nasıl ölçülmektedir?

Temel kuramlar

Flynn'in taksonomisi
Paralel mimariler, komut ve veri akışlarına göre SISD, SIMD, MISD ve MIMD olarak sınıflandırılmaktadır; bu çerçeve, vektör, GPU ve çok çekirdekli makineler hakkındaki düşünceyi hala organize etmektedir.
Amdahl ve Gustafson yasaları
Amdahl yasası, sabit bir problem boyutu için programın seri kısmına göre hızlanmayı sınırlarken, Gustafson'ın yeniden çerçevelemesi, daha büyük problemlerin daha fazla işlemciyi faydalı bir şekilde meşgul edebileceğini belirtmektedir; bu iki yasa, paralelliğin sınırlarını ve vaadini birlikte çerçevelemektedir.
Paralel tasarım kalıpları
Tekrarlayan stratejiler—görev ve veri ayrıştırma, boru hatları, geometrik ayrıştırma ve ana-işçi—modeller arasında paralel programlar tasarlamak için yapılandırılmış bir kelime dağarcığı sağlamaktadır.

Klinik önem

Paralel programlama modelleri, yüksek performanslı ve bilimsel hesaplamanın, GPU'lar üzerinde makine öğrenimi eğitiminin ve çok çekirdekli işlemcilerin günlük kullanımının temelini oluşturmaktadır; model seçimi, donanımlar arası ulaşılabilir performansı ve taşınabilirliği belirlemektedir.

Tarihçe

Flynn'in 1972 taksonomisi ve Amdahl'ın 1967 hızlanma argümanı, paralel hesaplamayı başlangıçtan itibaren çerçevelemiştir; standartlaştırılmış modeller 1990'larda MPI ve OpenMP ile, 2000'lerde ise GPU hesaplaması ile ortaya çıkmıştır. Grama ve meslektaşlarının ders kitapları ise paralel algoritmaların tasarımını ve analizini kodifiye etmiştir.

Tartışmalar

Varsayılan model olarak paylaşımlı bellek ve mesajlaşma
Paylaşımlı bellek modellerinin programlanması daha kolaydır ancak daha az kolay ölçeklenir ve hassas veri yarışları riski taşır; mesajlaşma ise açık iletişim maliyetiyle büyük kümelere ölçeklenebilmektedir. Hibrit modeller her ikisini birleştirmekte olup, doğru varsayılan model iş yüküne ve mimariye bağlı kalmaktadır.

Öne çıkan isimler

  • Gene Amdahl
  • Michael Flynn
  • Vipin Kumar
  • John Gustafson

İlgili konular

Temel eserler

  • grama2003
  • amdahl1967
  • flynn1972

Sıkça sorulan sorular

Neden daha fazla işlemci eklemek herhangi bir programı keyfi olarak hızlandıramamaktadır?
Amdahl yasası, bir hesaplamanın seri kısmının—paralelleştirilemeyen işin—toplam hızlanmayı sınırladığını göstermektedir. Küçük bir kısım bile doğası gereği sıralıysa, işlemci sayısı arttıkça bu kısım baskın hale gelmekte ve elde edilebilir hızlanmayı sınırlamaktadır.

Bu kavram için yöntemler

İlgili kavramlar