Amdahl Yasası Nedir? Thread Performans Sınırlaması
Bilgisayar Mimari Gene Amdahl’ın ortaya koyduğu bir teoremdir. Bu teoremin amacı yazılımımızda kullandığımız paralel thread’lerin aslında ne kadar verimli olabileceği açıklamaktadır.
Nedir?
Yazılımlarımızı daha performanslı hale getirmek için paralel çalıştırma işlemini gerçekleştirebiliriz evet doğru işlemlerimizi paralel hale getirerek daha verimli çalıştırabiliriz ancak bunun bir sınırı var ve o sınır üzerinden daha fazla verim almamız mümkün olmamaktadır. Yazılımımızı analiz ederek maksimum paraleleştirme edebileceğimiz kısmını bularak ne kadar performans artışı olduğunu hesaplayabilmemiz mümkün olmaktadır.
Yazılımımızın ne kadar verimli olabileceğine dair bir hesaplama var bu hesaplama yöntemi ile yazılımımız paralel çalışma ile en fazla ne kadar verimli çalışabileceğini göstermektedir.
Amdahl Formül
MaxPerformans = 1 / [(1 - p) + (p / s)]
- p, yazılımın paralelleştirilebilir bölümünün oranını temsil eder.
- s, paralelleştirilebilir bölümde elde edilen hızlanmayı temsil eder.
Amdahl Örnek
Yazılımlarımızda bu hesaplama nasıl yapılabilir bir örnek ile açıklamaya çalışalım.
Yazılımızın %80’i paralelleştirilebilir, geri kalan %20’si ise paralelleştirilemez diye analiz etmemiz gerekiyor. Ayrıca, paralelleştirilebilir bölüm, paralel olarak yürütüldüğünde 4 kat daha hızlı hale geliyor.
Bu durumda, p = 0.8 (paralelleştirilebilirlik oranı) ve s = 4 (paralelleştirilebilir bölümün hızlanması) olarak kabul ederiz.
Amdahl’ın Yasası’nı kullanarak, potansiyel hızlanmayı hesaplayalım:
MaxPerformans = 1 / [(1 - p) + (p / s)]
MaxPerformans = 1 / [(1 - 0.8) + (0.8 / 4)]
MaxPerformans = 1 / [0.2 + 0.2]
MaxPerformans = 1 / 0.4
MaxPerformans = 2.5
Bu durumda, programımızın potansiyel hızlanması 2.5 olarak bulunur. EN uygun ve en verimli şartlarda bu yazılımımız 2.5 kat hızlanabilir ve daha yükseği mümkün olamaz.
No Comment! Be the first one.