Paralel algoritmaların analizi - Analysis of parallel algorithms

Bu makale, analiz nın-nin paralel algoritmalar. Sıradan, sıralı algoritmaların analizinde olduğu gibi, tipik olarak asimptotik kaynak tüketimini sınırlar (esas olarak hesaplama için harcanan zaman), ancak analiz, hesaplamaları gerçekleştirmek için işbirliği yapan çok sayıda işlemci biriminin varlığında gerçekleştirilir. Böylece, bir hesaplamanın sadece kaç "adım" alacağı değil, aynı zamanda işlemci sayısı arttıkça ne kadar hızlı olacağı da belirlenebilir. Analiz yaklaşımı, önce işlemci sayısını baskılayarak (veya soyutlayarak) çalışır. Bir sonraki arka plan paragrafı, işlemci sayısının soyutlanmasının ilk olarak nasıl ortaya çıktığını açıklıyor.

Sözde bir çalışma zamanı (WT) (bazen iş derinliği veya çalışma aralığı olarak da adlandırılır) çerçevesi ilk olarak Shiloach ve Vishkin tarafından tanıtıldı [1]paralel algoritmaları kavramsallaştırmak ve açıklamak için. WT çerçevesinde, paralel bir algoritma ilk olarak paralel turlar açısından tanımlanır. Her tur için, gerçekleştirilecek işlemler karakterize edilir, ancak birkaç konu bastırılabilir. Örneğin, her turdaki işlem sayısının net olması gerekmez, işlemcilerden bahsedilmesi gerekmez ve işlemcilerin işlere atanmasına yardımcı olabilecek herhangi bir bilginin hesaba katılması gerekmez. İkinci olarak, bastırılmış bilgiler sağlanır. Bastırılmış bilginin dahil edilmesi, aslında, Brent'e bağlı bir zamanlama teoreminin ispatı tarafından yönlendirilir,[2] Bu makalenin sonraki bölümlerinde açıklanacaktır. WT çerçevesi yararlıdır çünkü paralel bir algoritmanın ilk tanımını büyük ölçüde basitleştirebilirken, bu ilk açıklama tarafından bastırılan ayrıntıları eklemek genellikle çok zor değildir. Örneğin, WT çerçevesi, paralel algoritmalar kitaplarında temel sunum çerçevesi olarak benimsenmiştir ( Paralel rastgele erişimli makine PRAM modeli) [3]ve ,[4] yanı sıra sınıf notlarında.[5] Aşağıdaki genel bakış, WT çerçevesinin açıklamaları WT çerçevesinde bulunmadığında bile daha genel paralel algoritmaları analiz etmek için WT çerçevesinin nasıl kullanılabileceğini açıklamaktadır.

Genel Bakış

Hesaplamaların aşağıdaki özelliklere sahip bir makinede yürütüldüğünü varsayalım. p işlemciler. İzin Vermek Tp Hesaplamanın başlangıcı ile sonu arasında geçen süreyi belirtir. Hesaplamanın analizi çalışma süresi aşağıdaki kavramlara odaklanır:

  • tarafından yürütülen bir hesaplamanın p işlemciler, işlemcilerin gerçekleştirdiği toplam ilkel işlem sayısıdır.[6] İşlemcileri senkronize etmekten kaynaklanan iletişim ek yükünü göz ardı ederek, bu hesaplamayı tek bir işlemci üzerinde çalıştırmak için kullanılan zamana eşittir. T1.
  • derinlik veya açıklık nedeniyle sırayla gerçekleştirilmesi gereken en uzun işlem serisinin uzunluğudur. veri bağımlılıkları ( kritik yol). Derinlik aynı zamanda kritik yol uzunluğu hesaplamanın.[7] Derinlik / açıklığın en aza indirilmesi, paralel algoritmaların tasarlanmasında önemlidir, çünkü derinlik / açıklık, olası en kısa yürütme süresini belirler.[8] Alternatif olarak, aralık, zaman olarak tanımlanabilir T sonsuz sayıda işlemciye sahip ideal bir makine kullanarak harcadı.[9]
  • maliyet hesaplamanın miktarı pTp. Bu, tüm işlemciler tarafından hem hesaplama hem de bekleme için harcanan toplam süreyi ifade eder.[6]

İş, süre ve maliyet tanımlarından birkaç faydalı sonuç çıkar:

  • Çalışma kanunu. Maliyet her zaman en azından iştir: pTpT1. Bu gerçeğinden kaynaklanıyor p işlemciler en fazla performans gösterebilir p paralel işlemler.[6][9]
  • Açıklık kanunu. Sonlu bir sayı p işlemcilerin sayısı sonsuz bir sayıdan daha iyi performans gösteremez, bu nedenle TpT.[9]

Bu tanımları ve yasaları kullanarak aşağıdaki performans ölçüleri verilebilir:

  • Hızlanma sıralı yürütmeye kıyasla paralel yürütmeyle elde edilen hız kazancıdır: Sp = T1Tp. Hızlanma olduğunda Ω (n) giriş boyutu için n (kullanarak büyük O notasyonu ), hızlanma doğrusaldır ve bu, basit hesaplama modellerinde optimaldir çünkü çalışma yasası şunu belirtir: T1Tpp (süper doğrusal hızlanma nedeniyle pratikte ortaya çıkabilir bellek hiyerarşisi Etkileri). Durum T1Tp = p mükemmel doğrusal hızlanma olarak adlandırılır.[9] Doğrusal hızlanma sergileyen bir algoritmanın, ölçeklenebilir.[6]
  • Verimlilik işlemci başına hızlanma, Spp.[6]
  • Paralellik oran T1T. Herhangi bir sayıda işlemcide olası maksimum hızlanmayı temsil eder. Aralık yasasına göre, paralellik hızlanmayı sınırlar: eğer p > T1T, sonra:

.[9]

  • gevşeklik dır-dir T1 ∕ (pT). Birden az bir gevşeklik, (açıklık yasasına göre) mükemmel doğrusal hızlanmanın mümkün olmadığı anlamına gelir. p işlemciler.[9]

Sınırlı sayıda işlemci üzerinde yürütme

Paralel algoritmaların analizi genellikle sınırsız sayıda işlemcinin mevcut olduğu varsayımı altında gerçekleştirilir. Bu gerçekçi değildir, ancak bir sorun değildir, çünkü paralel olarak çalışabilen herhangi bir hesaplama N işlemciler çalıştırılabilir p < N her işlemcinin birden fazla iş birimini yürütmesine izin vererek işlemciler. Bir sonuç çağrıldı Brent kanunu Zamanla böyle bir "simülasyon" yapılabileceğini belirtir Tp, sınırlanmış[10]

veya daha az kesin olarak,[6]

Yasa sınırlarının alternatif bir ifadesi Tp yukarıda ve aşağıda

.

açıklığın (derinlik) T ve iş T1 birlikte hesaplama süresinde makul sınırlar sağlar.[2]

Referanslar

  1. ^ Shiloach, Yossi; Vishkin, Uzi (1982). "Bir Ö(n2 günlükn) paralel maksimum akış algoritması ". Algoritmalar Dergisi. 3 (2): 128–146. doi:10.1016 / 0196-6774 (82) 90013-X.
  2. ^ a b Brent, Richard P. (1974-04-01). "Genel Aritmetik İfadelerin Paralel Değerlendirilmesi". ACM Dergisi. 21 (2): 201–206. CiteSeerX  10.1.1.100.9361. doi:10.1145/321812.321815. ISSN  0004-5411. S2CID  16416106.
  3. ^ JaJa, Joseph (1992). Paralel Algoritmalara Giriş. Addison-Wesley. ISBN  978-0-201-54856-3.
  4. ^ Keller, Jorg; Kessler, Cristoph W .; Traeff, Jesper L. (2001). Pratik PRAM Programlama. Wiley-Interscience. ISBN  978-0-471-35351-5.
  5. ^ Vishkin, Uzi (2009). Paralel Düşünme: Bazı Temel Veri Paralel Algoritmalar ve Teknikler, 104 sayfa (PDF). 1992'den beri Maryland Üniversitesi, College Park, Tel Aviv Üniversitesi ve Technion'da verilen paralel algoritmalarla ilgili ders notları.
  6. ^ a b c d e f Casanova, Henri; Legrand, Arnaud; Robert, Yves (2008). Paralel Algoritmalar. CRC Basın. s. 10. CiteSeerX  10.1.1.466.8142.
  7. ^ Blelloch, Guy (1996). "Paralel Algoritmaları Programlama" (PDF). ACM'nin iletişimi. 39 (3): 85–97. CiteSeerX  10.1.1.141.5884. doi:10.1145/227234.227246. S2CID  12118850.
  8. ^ Michael McCool; James Reinders; Arch Robison (2013). Yapısal Paralel Programlama: Verimli Hesaplama Modelleri. Elsevier. sayfa 4–5.
  9. ^ a b c d e f Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009) [1990]. Algoritmalara Giriş (3. baskı). MIT Press ve McGraw-Hill. sayfa 779–784. ISBN  0-262-03384-4.
  10. ^ Gustafson, John L. (2011). "Brent Teoremi". Paralel Hesaplama Ansiklopedisi. s. 182–185. doi:10.1007/978-0-387-09766-4_80. ISBN  978-0-387-09765-7.