paint-brush
Amdahl Yasası ve Gustafson Yasasına Derin Bir Bakışile@durganshu
6,181 okumalar
6,181 okumalar

Amdahl Yasası ve Gustafson Yasasına Derin Bir Bakış

ile Durganshu Mishra14m2023/11/11
Read on Terminal Reader

Çok uzun; Okumak

Gustafson Yasası, bir algoritmanın mevcut paralelleştirmeye uyacak şekilde hesaplama miktarını dinamik olarak ayarlayabildiği durumlarda uygundur. Buna karşılık Amdahl Yasası, hesaplama yükünün sabit olduğu ve paralelleştirmeyle önemli ölçüde değiştirilemediği durumlarda daha uygundur. Sorunun niteliğine göre zayıf ve ölçeklendirme testleri yapılmalıdır.
featured image - Amdahl Yasası ve Gustafson Yasasına Derin Bir Bakış
Durganshu Mishra HackerNoon profile picture

Şunu hayal edin: Nefis bir ziyafet hazırlamak için acele ediyorsunuz, ancak mutfağınızın büyüklüğü ve güvertedeki kişi sayısı nedeniyle kısıtlısınız. Paralel hesaplama dünyasında Amdahl Yasası ve Gustafson Yasası, mutfak şaheserinizi optimize etmek için ihtiyacınız olan güvenilir tariflerdir. Bunlar, onlarca yıldır bilgisayarların performansını geliştiren ve giderek artan işlem hızlarının tadını çıkarmamıza olanak tanıyan gizli bileşenler gibidir. Bu iki prensip paralel hesaplamanın yin ve yang'ı olabilir ve teknoloji meraklısı sihirbazlara çok çekirdekli işlemciler ve yüksek performanslı bilgi işlem alanını fethetme arayışlarında rehberlik ediyor. Peki Amdahl ve Gustafson yasaları nelerdir ve sihirlerini ayrı ayrı veya birlikte nasıl çalıştırırlar? Paralel programlamanın öneminin bilincinde olarak, bugün bu yasaların inceliklerine dalacağız ve bunların bilgili programcıların ellerinde nasıl güçlü araçlar olarak kullanılabileceğini keşfedeceğiz.

Kaynak: iOS ve Android için Demic'ten Hazırım Lets Go Etiketi | GIPHY



İçindekiler

  • Amdahl Yasası: Arka Plan

    – Maksimum Hızlandırma

    – Uyarılar

  • Gustafson Yasası: Arka Plan

    – Ölçeklendirilmiş Hızlandırma

    – Uyarılar

  • Güçlü ölçeklendirme ve zayıf ölçeklendirme

    – Ölçeklendirme testleri

    — Güçlü ölçeklendirme

    — Zayıf ölçeklendirme

  • Sonuçlar

Amdahl Yasası: Arka Plan

67'de, Bahar Ortak Bilgisayar Konferansı'nda, IBM'de ciddi bilgisayar sihirbazlığı yapan Dr. Gene Amdahl, aralarında Illiac-IV'ün iç işleyişinin arkasındaki dahi olan zeki Daniel Slotnick'in de bulunduğu üç teknoloji meraklısı insanla bir araya geldi. Ne yaptıklarını mı soruyorsunuz? Bilgisayar mimarisinin geleceğini tartışıyorlardı. Bu konferans sırasında Dr. Gene Amdahl, gerçek dünya sorunları ve bunların tüm karmaşık tuhaflıkları ile uğraşırken "çoklu işlemci yaklaşımının" karşılaştığı engeller üzerine düşüncelerini ortaya koydu. Ve tahmin edin, bu tür sorunlar için "tek işlemci yaklaşımına" büyük önem verdi!


Amdahl, IBM'deyken, hesaplama işinin önemli bir kısmının, kendi yerinde " veri yönetimi yönetimi " olarak adlandırdığı şey tarafından üstlenildiğini keskin bir şekilde fark etti. Bu özel kesimin kabaca on yıl boyunca oldukça tutarlı kaldığını ve üretim süreçlerinde yürütülen talimatların %40'ını tutarlı bir şekilde yuttuğunu kesin bir şekilde savundu.


Bu “temizlik” işinin şemsiyesi altına neler giriyor? Temel bilgi işlem görevine doğrudan katkıda bulunmayan, çok çeşitli hesaplama görevlerini kapsar. Belirli algoritmaya ve uygulamaya bağlı olarak bu, veri giriş/çıkışını, ön işlemeyi, bellek yönetimini, dosya işlemeyi ve daha fazlasını içerebilir. Bu tutarlılık, birçok uygulamada işlem süresinin önemli bir kısmının bu görevlere harcandığını göstermektedir. Belirli bir düzeyde veri yönetimi bakımı neredeyse kaçınılmazdır ve önemli ölçüde en aza indirilmesi zordur. Amdahl, bu ek yükün sıralı göründüğünü, yani adım adım gerçekleştiğini ve paralel işleme teknikleri için uygun olmadığını belirtiyor.


"Bu noktada çıkarılabilecek oldukça açık bir sonuç, yüksek paralel işlem hızlarına ulaşmak için harcanan çabanın, hemen hemen aynı büyüklükteki sıralı işlem hızlarında başarılar eşlik etmediği sürece boşa olduğudur." - Dr. Gene Amdahl [1]


Orijinal makalesinde [1] Amdahl, "temizlik" görevleri alanının, "çoklu işlemci" yaklaşımının karşılaştığı zorluklarla ilgili olarak buzdağının sadece görünen kısmı olduğunu ekliyor. Doktora derecesine sahip, eğitimli bir teorik fizikçi olarak etkileyici geçmişiyle Amdahl, bilgisayarların üstesinden gelmek üzere tasarlandığı gerçek dünyadaki fiziksel zorluklara dair derinlemesine bir anlayışa sahipti. Düzensiz sınırlar, tekdüze olmayan iç kısımlar ve değişken durumlara mekansal ve zamansal bağımlılıklar gibi birçok komplikasyonun altını çiziyor ve bunların hepsi "çoklu işlemci" paradigması için zorlu engeller sunuyor.


Örneğin, 2 boyutlu Kartezyen ızgarada ısı dağılımını hesaplamayı düşünün. Herhangi bir noktada sıcaklık (T), komşu noktaların sıcaklıklarına bağlıdır. Paralel hesaplama modeli kullanıldığında, bu değerlerin ayrı işlemcilerde depolanabilecek bitişik noktalarla iletilmesi önemlidir. Bu sorunlar çağdaş senaryolarda yaygın olmaya devam ediyor.

Neyse ki, hesaplama uzmanlarının kolektif yaratıcılığı, bu karmaşık zorlukların doğrudan üstesinden gelmek için uyarlanmış çok sayıda sayısal yöntem ve programlama tekniğini ortaya çıkardı.

Amdahl yasası: Maksimum Hızlanma

Orijinal çalışmasında Amdahl'ın formülasyonu matematiksel denklemlere değinmiyordu; maksimum hızlanma ancak sonraki analizlerde ölçüldü.


Amdahl Yasası, bir seri programın yürütme süresinin f kesirinin herhangi bir iletişim veya senkronizasyon yükü olmadan ideal olarak paralelleştirilebileceği varsayımına dayanmaktadır. s = 1 − f olarak gösterilen tamamlayıcı kısım tamamen sıralıdır.


Dolayısıyla, eğer T sıralı programın yürütme süresi ise, p çekirdek üzerindeki yürütme süresi T(p), şu şekilde verilir:

p çekirdekte yürütme süresi


Sıralı yürütme süresinin paralel yürütme süresine oranı olan Speedup şunu verir:

Hızlanma Oranı


Böylece hızlanmanın üst sınırı şu şekilde tanımlanabilir:

Hızlanmanın üst sınırı

Uyarılar

Basitliğine rağmen Amdahl yasasının sınırlamaları da vardır. Model, bellek bant genişliği, gecikme ve G/Ç kısıtlamaları gibi kritik donanım darboğazlarını göz ardı eder. Ayrıca iş parçacığı oluşturma, senkronizasyon, iletişim yükü ve diğer gerçek dünya faktörlerinin performans dezavantajlarını da dikkate almaz. Ne yazık ki, hesaba katılmayan bu faktörler genellikle gerçek performans üzerinde zararlı bir etkiye sahiptir.


Aşağıdaki şekil, Amdahl yasasına göre belirlenen paralelleştirmenin hızlanma üzerindeki etkisini göstermektedir. %95'lik önemli bir paralel oran ve çok çeşitli işlemcilerle bile ulaşılabilecek maksimum hızlanma sınırlarının yaklaşık 20 kat olduğu açıktır. Paralelleştirme yüzdesini %99'a çıkarmak ve sonsuz sayıda işlemci kullanmak, daha etkileyici bir 100 kat hızlanma sağlayabilir ki bu da umut vericidir.

Orijinal kaynak: Quantum Accelerator Stack: Bir Araştırma Yol Haritası — ResearchGate'teki Bilimsel Figür. Şu adresten ulaşılabilir: https://www.researchgate.net/figure/The-Amdahl-and-Gustafson-Barsis-law_fig3_349026057


Ancak bu kadar çok işlemciye sahip olmanın nadir görülen bir durum olduğunun farkına varmak çok önemlidir . Çoğu zaman 64 veya daha az gibi çok daha mütevazı bir sayıyla çalışıyoruz.


Amdahl yasasını 64 işlemci kullanan bir programa uyguladığımızda (f %95 olmak üzere) maksimum hızlanma 15,42x civarında seyrediyor. Kuşkusuz bu rakam pek umut verici değil!


Bu görüş, bu ifadede kullanılan sınır nedeniyle bir şekilde belirsizleştirilmiştir:


Sınır


Bu sınır, pratik, gerçek dünyadaki işlemci sayıları dikkate alındığında hızlanma rakamlarının oldukça düşük olduğu gerçeğini gizleme eğilimindedir.


Bununla birlikte Amdahl yasasının en önemli dezavantajı, bir uygulamayı yürütmek için daha fazla çekirdek kullanıldığında sorun boyutunun sabit kalacağı varsayımında yatmaktadır.


Temel olarak, paralelleştirilebilir oranın, kullanılan çekirdek sayısına bakılmaksızın değişmeden kaldığı varsayılmaktadır. Bu sınırlama, şu anda Gustafson yasası olarak bilinen değiştirilmiş bir perspektif öneren John L. Gustafson tarafından kapsamlı bir şekilde ele alındı ve genişletildi. Bununla birlikte, kabul edilen bu sorunlara ve uyarılara rağmen, Amdahl yasasının paralelleşmenin karmaşıklığı konusunda değerli bilgiler sunarak kendi yararlarına sahip olduğunu kabul etmek önemlidir. Amdahl yasası, daha sonra inceleyeceğimiz bir konu olan güçlü ölçeklendirme testleri şeklinde uygulama alanı bulur.

Gustafson Yasası: Arka Plan

Dr. John L. Gustafson ve ekibi, Sandia Ulusal Laboratuarlarındaki devasa paralel bilgi işlem sistemleri üzerinde çalışırken, 1024 işlemcili bir hiperküpte üç farklı uygulama için etkileyici hızlanma faktörleri elde etti. Seri kodunun oranı %0,4-0,8'e karşılık geliyordu.


“…1024 işlemcili bir hiperküpte benzeri görülmemiş olduğuna inandığımız hızlanma faktörlerine ulaştık: eşlenik gradyanları kullanan ışın gerilimi analizi için 1021, açık sonlu farkları kullanan şaşkın yüzey dalgası simülasyonu için 1020 ve akı düzeltmeli kullanarak kararsız sıvı akışı için 1016 Ulaşım." — Dr. John L. Gustafson [2]


Son bölümde Amdahl yasasına göre çok sayıda işlemci için ulaşılabilecek maksimum hızlanmanın 1/s olduğunu açıkça gördük. Peki bu şaşırtıcı 1021x hıza nasıl ulaşılabilir?


Gustafson [2] , matematiksel ifadenin, f değişkeninin p ile ilişkisiz olduğunu ima eden ince bir varsayıma sahip olduğunu vurguladı. Ancak bu senaryo nadiren karşılaştığımız gerçekliktir. Gerçek dünya senaryolarında, akademik araştırmanın kontrollü ortamı dışında, genellikle sabit boyutlu bir problemi alıp farklı sayıda işlemcide çalıştırmayız. Bunun yerine, pratik uygulamalarda problem boyutu, işlemci sayısına göre artma eğilimindedir.


Daha güçlü işlemciler kullanıma sunulduğunda kullanıcılar, gelişmiş yeteneklerin tüm avantajlarından yararlanmak için sorunun karmaşıklığını genişleterek uyum sağlar. Programın istenilen zaman diliminde yürütülebilmesini sağlamak için ızgara çözünürlüğü, zaman adımlarının sayısı, fark operatörünün karmaşıklığı ve diğer parametreler gibi hususlara ince ayar yapabilirler.


Gustafson'a göre pratikte problem boyutundan ziyade çalışma zamanının nispeten sabit kaldığını varsaymak genellikle daha gerçekçidir.


Gustafson, bir programın paralel veya vektör kesrinin problem boyutuyla orantılı olarak büyüdüğünü fark etti. Program çalıştırma süresinin bileşenine toplu olarak katkıda bulunan vektör başlatma, program yükleme, seri darboğazlar ve G/Ç işlemleri gibi öğeler genellikle nispeten sabit kalır ve sorun boyutuyla birlikte önemli bir büyüme göstermez.


Gustafson, fiziksel bir simülasyonda serbestlik derecelerini iki katına çıkardığımız senaryolarda, işlemci sayısının da buna karşılık gelen iki katına çıkmasının genellikle gerekli olduğunu vurgulayarak argümanı daha da ileri götürdü. Bir ön tahmin olarak, paralel olarak etkili bir şekilde dağıtılabilen iş hacmi, işlemci sayısıyla birlikte doğrusal olarak büyüme eğilimindedir.


Bahsedilen üç uygulamayı derinlemesine inceleyen Gustafson ve meslektaşları, paralel bileşenin kabaca 1023,9969, 1023,9965 ve 1023,9965 ölçeklendirme faktörleri sergilediğini ortaya çıkardı.

Gustafson Yasası: Ölçeklendirilmiş Hızlanma

Gustafson'un varsayımı, p çekirdek üzerindeki normalleştirilmiş çalışma süresinin dikkate alınmasında yatmaktadır; bunun toplamı (1 − f) + f olup, genel değer 1 olur. Bu mantıkla, eğer (1 − f) + f , p çekirdek üzerindeki çalışma süresini belirtirse ise tek çekirdekteki çalışma süresi (1 − f) + p*f olarak ifade edilebilir. Sonuç olarak Gustafson'un " ölçeklendirilmiş hızlanma " olarak adlandırdığı hızlanma şu şekilde hesaplanabilir:


Ölçeklendirilmiş hızlanma


Gustafson yasasını 64 işlemci kullanan bir programa uyguladığımızda (f %95 olmak üzere) öngörülen hızlanma 60,85x'tir (Amdahl yasasıyla 15,42x ile karşılaştırıldığında). Şimdi konuşuyoruz😉

Aşağıdaki şekiller iki yasa arasındaki farkları vurgulamaktadır.

Sabit Boyutlu Model (Amdahl Yasası) [2]



Ölçeklendirilmiş Boyut Modeli (Gustafson Yasası) [2]


Uyarılar

Amdahl ve Gustafson'un bakış açıları paralelleşme konusunda farklı görüşler sunuyor ve her biri kendi varsayımlarına sahip.


Amdahl yasası, paralelleştirilebilecek iş miktarının sabit ve işlemci sayısından bağımsız olduğunu varsayar, bu da onu oldukça kötümser kılar. Gustafson'un paralelleştirilebilecek iş miktarının çekirdek sayısıyla doğrusal olarak arttığını varsayan bakış açısı, şüphesiz birçok senaryo için pratiktir. Ancak bazen aşırı iyimser olabiliyor.


Gerçek dünya uygulamaları sıklıkla bu doğrusal ölçeklenebilirliği sınırlayabilen kısıtlamalarla karşılaşır. Örneğin çekirdek sayısı arttıkça paralel işlemedeki karmaşıklıklar, veri bağımlılıkları ve iletişim yükü nedeniyle getirilerde azalma meydana gelebilir. Ayrıca donanım sınırlamaları, tek bir çipe etkili bir şekilde entegre edilebilecek çekirdek sayısını pratik olarak kısıtlıyor. Gustafson yasası, gerçek dünyadaki bu karmaşık zorlukları her zaman açıklayamayabilir, bu da uygulanabilirliğini etkileyen uyarıların dikkate alınmasını gerekli kılmaktadır.


Gustafson yasasının etkinliği aynı zamanda uygulamanın doğasına da bağlı olabilir. Bazı uygulamalar artan çekirdek sayısıyla doğal olarak doğrusal ölçeklenebilirliğe katkıda bulunurken, diğerleri içsel kısıtlamalar veya sorunun doğası nedeniyle çok daha kısa sürede durağanlaşabilir. Pratik uygulamalarda doğrusal ölçeklenebilirliğin fizibilitesini değerlendirirken programlama karmaşıklıkları ve azalan getiri potansiyeli dikkate alınmalıdır.


Esasen, paralelleştirme konusunda daha iyimser bir bakış açısı sunarken, Gustafson yasasının, modern bilgi işlemin gerçek dünyadaki karmaşıklıklarına uyum sağlamak için uygulamanın, donanım kısıtlamalarının ve paralel programlamanın karmaşıklıklarının derinlemesine anlaşılmasıyla uygulanması gerekir.

Güçlü Ölçeklendirme ve Zayıf Ölçeklendirme

Özünde ölçeklenebilirlik, bir sistemin veya uygulamanın boyutu büyüdükçe artan iş yüklerini verimli bir şekilde yönetme kapasitesini ifade eder.


Bilgi işlemde, ister donanım ister yazılım olsun, ölçeklenebilirlik, mevcut kaynakları artırarak hesaplama gücünü artırma yeteneğini ifade eder.


Yüksek Performanslı Bilgi İşlem (HPC) kümeleri bağlamında ölçeklenebilirliğin sağlanması çok önemlidir; ek donanım bileşenlerini entegre ederek sistemin genel kapasitesini sorunsuz bir şekilde genişletme yeteneğini ifade eder. Yazılım açısından ölçeklenebilirlik genellikle paralelleştirme verimliliğiyle eş anlamlıdır; gerçekleştirilen gerçek hızlanma ile belirli sayıda işlemci kullanıldığında elde edilebilecek ideal hızlanma arasındaki oranı temsil eder. Bu ölçüm, yazılımın performansı artırmak için paralel işlemeden ne kadar etkili bir şekilde yararlanabileceğine dair bilgiler sunar.

Ölçeklendirme testleri

Büyük uygulamaların tipik geliştirme sürecinde, teste en baştan itibaren tam sorun boyutu ve maksimum işlemci sayısıyla başlamak genellikle pratik değildir. Bu yaklaşım, uzun bekleme sürelerini ve kaynakların aşırı kullanımını gerektirir. Bu nedenle, daha pragmatik bir strateji başlangıçta bu faktörlerin ölçeğini küçültmeyi içerir; bu da test aşamasını hızlandırır ve nihai tam ölçekli çalıştırma için ihtiyaç duyulan kaynakların daha kesin bir tahminine izin vererek kaynak planlamasına yardımcı olur.


Ölçeklenebilirlik testi, bir uygulamanın farklı sorun boyutlarına ve değişen işlemci sayılarına ne kadar iyi uyum sağlayabildiğini değerlendirme aracı olarak hizmet ederek optimum performansı sağlar.


Ölçeklenebilirlik testinin, uygulamanın genel işlevselliğini veya doğruluğunu incelemediğini unutmamak önemlidir; öncelikli odak noktası, hesaplama kaynakları ayarlanırken performans ve verimliliktir.


Paralel hesaplamada güçlü ve zayıf olmak üzere iki standart ölçeklendirme testi yaygın olarak kullanılmaktadır.

Güçlü Ölçeklendirme

Güçlü ölçeklendirme, problem boyutunu sabit tutarken işlemci sayısını artırmayı içerir. Bu yaklaşım, işlemci başına iş yükünü azaltır; bu, özellikle uzun süreli CPU yoğun uygulamalar için değerlidir. Güçlü ölçeklendirmenin temel amacı, kaynak maliyetlerini yönetilebilir bir aralıkta tutarken makul yürütme süreleri sağlayan bir yapılandırma belirlemektir.


İşleme elemanlarının sayısı artırılırken problem boyutu sabit kalarak güçlü ölçeklendirme Amdahl yasasına dayandırılmıştır. Bu metodoloji genellikle önemli miktarda CPU'ya bağlı iş yüküne sahip programlar için uygundur.


Güçlü ölçeklendirmenin nihai amacı, hesaplamaların makul bir zaman çerçevesinde tamamlanmasına olanak tanıyan en uygun "etkili noktayı" bulmak ve aynı zamanda paralel ek yük nedeniyle işlem döngüsü israfını en aza indirmektir.


Güçlü ölçeklendirmede, birim zaman başına tamamlanan iş birimleri cinsinden hızlanma, kullanılan işlem öğelerinin sayısı (N) ile aynı hizadaysa, programın doğrusal olarak ölçeklendiği kabul edilir. Benzer şekilde, işlemci sayısına göre nasıl ölçeklendiğine bağlı olarak hızlanma alt doğrusal veya hatta süper doğrusal olabilir.


Son olarak kodlarımdan birinde güçlü ölçeklendirme testleri yapmayı denedim. Fluidchen-EM, birçok akışkanlar dinamiği problemini çözebilen bir Hesaplamalı Akışkanlar Dinamiği Çözücüsüdür. Aşağıdaki sonuçlar kapakla çalıştırılan boşluğun simülasyonuna karşılık gelir. Son zaman damgasındaki (yakınsama sonrası) hız görselleştirilir ve yürütme çalışma süresi hesaplanır. Fluidchen-EM, hesaplama alanını iproc*jproc işlemcilere dağıtmak için MPI'yı kullanır.


Not : Sonuçlar kişisel bilgisayarımda çalıştırıldı ve tüm çekirdekler yalnızca bir işlemciye karşılık geliyor. Simülasyonun daha büyük ve daha iyi bir makinede çalıştırılması durumunda sonuçlar farklılık gösterebilir!


Kapak tahrikli boşluk: ParaView'da oluşturulan dağılım [3]


Hesaplama alanı toplam imax*jmax ızgara noktalarına bölünmüştür.

iproc: x yönündeki işlemci sayısı

jproc: Y yönündeki işlemci sayısı


Sonuçlar Intel® Core™ i7–11. Nesil Dizüstü Bilgisayarda toplandı [3]


Sonuçlar Intel® Core™ i7–11. Nesil Dizüstü Bilgisayarda toplandı [3]


Şekilde gösterildiği gibi, işlemci sayısı 1'den 2'ye çıktıkça yürütme süresi keskin bir şekilde azalır. Ancak, işlemcilerin 2'den 4'e bir sonraki ikiye katlanmasında hızlanma o kadar dramatik değildir ve hatta daha fazla artış için doymaya başlar. işlemci sayısında. Ancak sonuçlar sekiz çekirdekli bir işlemcide derlendiğinden, uygulamanın daha büyük ve daha güçlü bir makinede yapılması durumunda bu sonuçlar değişebilir.

Zayıf Ölçeklendirme

Zayıf ölçeklendirmede işlemci sayısı ve sorun boyutu artar ve işlemci başına iş yükü sabit kalır. Zayıf ölçeklendirme, sabit bir sorun boyutuna odaklanan Amdahl yasasının aksine, ölçeklendirilmiş hızlanmanın ölçekli sorun boyutunun iş yüküne göre hesaplandığı Gustafson yasasıyla uyumludur.


Her bir işleme elemanına tahsis edilen problem boyutu sabit kalarak, ek elemanların, tek bir düğümün hafıza kapasitesini aşabilecek daha büyük bir genel problemi toplu olarak çözmesine olanak tanır.


Zayıf ölçeklendirme, tek bir düğümün sağlayabileceğinden daha fazla bellek gerektiren önemli miktarda bellek veya kaynak gereksinimlerine (belleğe bağlı olanlar) sahip uygulamaları haklı çıkarır. Bu tür uygulamalar, bellek erişim stratejileri yakındaki düğümlere öncelik vererek onları daha yüksek çekirdek sayıları için uygun hale getirdiğinden genellikle verimli ölçeklendirme sergiler.


Zayıf ölçeklendirme durumunda, işlemci sayısıyla doğru orantılı olarak iş yükü arttıkça çalışma süresi sabit kaldığında doğrusal ölçeklenebilirlik elde edilir.


Bu modu benimseyen programların çoğu, kullanılan işlem sayısına bakılmaksızın iletişim ek yükleri nispeten tutarlı kaldığından, özellikle en yakın komşu iletişim modellerini kullananlar olmak üzere daha yüksek çekirdek sayılarına uygun ölçeklendirme sergiler. Bu eğilimin istisnaları arasında büyük ölçüde küresel iletişim modellerine dayanan algoritmalar yer alıyor.


Son olarak zayıf ölçeklendirme testlerini Fluidchen-EM kullanarak gerçekleştirdim. Aşağıdaki sonuçlar Rayleigh-Bénard konveksiyonunun simülasyonuna karşılık gelir. Yine son zaman damgasındaki (yakınsama sonrası) hız görselleştirilir ve yürütme çalışma süresi hesaplanır. Fluidchen-EM, hesaplama alanını iproc*jproc işlemcilere dağıtmak için MPI'yı kullanır.


Not: Sonuçlar kişisel bilgisayarımda çalıştırıldı ve tüm çekirdekler yalnızca bir işlemciye karşılık geliyor. Simülasyonun daha büyük ve daha iyi bir makinede çalıştırılması durumunda sonuçlar farklılık gösterebilir!



Rayleigh – Bénard konveksiyonu: ParaView'da oluşturulan dağılım [3]



Hesaplama alanı toplam imax*jmax ızgara noktalarına bölünmüştür.

iproc: x yönündeki işlemci sayısı

jproc: Y yönündeki işlemci sayısı

imax: Kanalın uzunluğu boyunca ızgara noktalarının sayısı

jmax: Kanalın yüksekliği boyunca ızgara noktalarının sayısı

xlength: kanalın uzunluğu

yuzunluğu: kanalın yüksekliği


Sonuçlar Intel® Core™ i7–11. Nesil Dizüstü Bilgisayarda toplandı [3]


Sonuçlar Intel® Core™ i7–11. Nesil Dizüstü Bilgisayarda toplandı [3]


Yukarıdaki şekilde gösterildiği gibi, yürütme çalışma süresi, hem problem boyutunun hem de işlemci sayısının büyümesiyle birlikte bir artış göstermektedir. Bu davranış çeşitli faktörlere bağlanabilir. Tüm çekirdekler tek bir işlemcide yer aldığından, sorun boyutu büyüdükçe ve daha fazla işlemci devreye girdikçe, işlem süresinin bir kısmı MPI (Mesaj Aktarma Arayüzü) iletişiminin kurulumunda harcanır. Ek olarak, daha büyük problem boyutu, çekirdekler arasında daha fazla veri alışverişini gerektirir ve iletişim ağının sınırlı bant genişliği nedeniyle iletişim gecikmesini artırır.


Dolayısıyla bu test sonuçları problemin paralelliğine dair önemli bilgiler sağlıyor.

Çözüm

Algoritma paralelleştirmesinde Gustafson Yasası ile Amdahl Yasası arasındaki seçim, hesaplama iş yükünün uyarlanabilirliğine bağlıdır. Gustafson Yasası, bir algoritmanın mevcut paralelleştirmeye uyacak şekilde hesaplama miktarını dinamik olarak ayarlayabildiği durumlarda uygundur. Buna karşılık Amdahl Yasası, hesaplama yükünün sabit olduğu ve paralelleştirmeyle önemli ölçüde değiştirilemediği durumlarda daha uygundur. Gerçek dünya senaryolarında, paralelleştirme için bir algoritmanın uyarlanması genellikle bir dereceye kadar hesaplama değişikliği gerektirir ve her iki yasa da, öngörülen hızlanma için üst ve alt sınırlar sunan değerli kıyaslamalar olarak hizmet eder. Aralarındaki seçim, paralelleştirme sırasında ortaya çıkan hesaplama değişikliklerinin boyutuna bağlıdır ve potansiyel hızlanma kazanımlarının kapsamlı bir değerlendirmesini mümkün kılar.


Kaynak: Joe Sestak End GIF - GIPHY'de Bul ve Paylaş

Önerilen Okuma

[1] Büyük Ölçekli Bilgi İşlem Yeteneklerine Ulaşmak İçin Tek İşlemci Yaklaşımının Geçerliliği, AFIPS Conference Proceedings, Cilt. 30 (Atlantic City, NJ, Nisan. 18–20), AFIPS Press, Reston, Va., 1967, s. 483–485, Dr. Amdahl, International Business Machines Corporation, Sunnyvale, California'dayken | IEEE Dergileri ve Dergileri | IEEE Xplore

[2] Amdahl yasasını yeniden değerlendirmek | ACM'nin iletişimleri

[3] Durganshu/Fluidchen-EM

[4] Çok çekirdekli işlemcilerin geleceğini tahmin etmeye yönelik Amdahl yasasının zararlı olduğu düşünülüyor (tu-berlin.de)

[5] Ölçeklendirme — HPC Wiki (hpc-wiki.info)

[6] Amdahl vs. gustafson by r1parks — Infogram


Unsplash'ta Marc Sendra Martorell'in Öne Çıkan Fotoğrafı


Burada da yayınlandı.