Paralel ve dağıtılmış bilgi işlem


15

Paralel ve dağıtılmış hesaplama arasındaki farklar nelerdir? Ölçeklenebilirlik ve verimlilik söz konusu olduğunda, makine kümelerindeki hesaplamalar ile ilgili çözümleri görmek çok yaygındır ve bazen paralel işleme veya dağıtılmış işleme olarak adlandırılır.

Belirli bir şekilde, hesaplama her zaman paralel görünüyor, çünkü eşzamanlı olarak çalışan şeyler var. Ancak dağıtılmış hesaplama basitçe birden fazla makinenin kullanımı ile mi ilgili, yoksa bu iki tür işlemi ayıran başka özellikler var mı? Örneğin, bir hesaplamanın paralel VE dağıtılmış olduğunu söylemek gereksiz olmaz mı?

Yanıtlar:


16

Basitçe ayarlamak gerekirse, 'paralel' farklı kaynaklarda (CPU) aynı anda çalışmak anlamına gelirken, 'dağıtılmış' ağlarla ilgili sorunları içeren farklı bilgisayarlarda çalışmak anlamına gelir.

Örneğin OpenMP kullanan paralel bilgi işlem dağıtılmazken, İleti Geçişi ile paralel bilgi işlem genellikle dağıtılır.

'Dağıtılmış fakat paralel olmayan' bir ortamda olmak, kaynakların az kullanılması anlamına gelir, bu nedenle nadiren karşılaşılır, ancak kavramsal olarak mümkündür.


4

"Paralel hesaplama" ve "dağıtılmış hesaplama" terimleri kesinlikle büyük bir örtüşmeye sahiptir, ancak daha fazla ayırt edilebilir. Aslında, bunu daha sonra "paralel işleme" ve "dağıtılmış işleme" hakkında sorarak sorunuzda zaten yaptınız.

"Dağıtılmış bilgi işlem" terimi, "dağıtılmış işleme" ve "dağıtılmış depolama" gibi daha genel bir terim olarak düşünülebilir. Yaygın olarak kullanılan "dağıtılmış" terimi, genellikle fiziksel olarak ayrılmış makineler arasında bir ağ üzerinden bir tür İleti Geçişi anlamına gelir .

Burada kullanılan "paralel hesaplama" açık bir şekilde açısından "paralel" arasında ayrım ve örn ayrıca tanımlanan sürecinde, aynı zamanda "eş zamanlı", burada - yaklaşık - ilk gelir veri paralellik ve ikinci görev paralellik de, orada neredeyse katı ve bağlayıcı tanımlamalar değildir.

Yani biri şunu söyleyebilirdi:

  • "dağıtılmış işleme" genellikle (zorunlu olmamakla birlikte) aynı zamanda "paralel işleme" anlamına da gelir
  • "dağıtılmış bilgi işlem" daha geneldir ve paralellik ile ilgili olmayan hususları da kapsar
  • ve açık bir şekilde, "paralel hesaplama" / "paralel işleme", "dağıtılmış" olduğu anlamına gelmez

3

Şimdiye kadar sunulan cevaplar çok güzel, ama aynı zamanda paralel ve dağıtılmış işleme arasındaki belirli bir farka vurgu yapmayı bekliyordum: yürütülen kod. Paralel süreçler göz önüne alındığında, yürütülen kod, paralellik seviyesinden (talimat, veri, görev) bağımsız olarak aynıdır. Tek bir kod yazarsınız ve bu kod , örneğin matris ürünleri hesaplanırken veya permütasyonlar oluşturulurken farklı iş parçacıkları / işlemciler tarafından yürütülür.

Öte yandan, dağıtılmış hesaplama farklı işlemcilerde (bir veya daha fazla makineden) farklı algoritmaların / programların aynı anda yürütülmesini içerir. Bu tür hesaplamalar daha sonra mevcut veri iletişimi / senkronizasyonu araçları (paylaşılan hafıza, ağ) kullanılarak bir ara / nihai sonuçta birleştirilir. Ayrıca, dağıtılmış bilgi işlem, disk paralelliğinden (genellikle büyük veritabanları için darboğazdan) yararlanılmasına izin verdiği için BigData işlemesi için çok caziptir.

Son olarak, paralellik düzeyi için, senkronizasyon üzerinde bir kısıtlama olarak ele alınabilir. Örneğin, tek komutlu çoklu veri (SIMD) olan GPGPU'da, paralellik, tek bir komut için farklı girişlere sahip olarak oluşur, her bir çift (veri_i, komut) farklı bir iş parçacığı tarafından yürütülür. Farklı dallar durumunda, iplikler yeniden birleşene kadar çok sayıda gereksiz hesaplamayı atmanın gerekli olduğu kısıtlama budur. Ancak CPU iş parçacıkları için genellikle birbirlerinden ayrılırlar; yine de, kodun belirli bölümlerinin aynı anda yürütülmesini sağlamak için senkronizasyon yapıları kullanılabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.