Amdahl定律

Overview

Amdahl 定律(Amdahl’s law)是並行計算領略一個非常著名的定律。由 Gene Amdahl 於1967年提出。Amdahl 定律描述的是數據規模固定時,漸進加速比的變化趨勢。

image_1e1ar843h180s15oft7c1rnmm2b13.png-19.8kB

image_1e1ar9g291o0t1e3q1ngj5qol791g.png-20.1kB

Time=s+fpTime = s + \frac{f}{p}

  • ss 串行部分
  • ff 並行部分
  • pp 核數

如下圖所示。

image_1e19ss99j5prlrk165ab8r1rcq9.png-97.3kB

Introduction

假設我們有一個任務 task 裏有25%的代碼是並行的。那麼在單機多核的情況下,我們可以獲得怎樣的加速比呢?

  • ii 核數
  • mim_{i} 有用 ii 核數的機器

單機單核的效率。

m1=25%+75%=100%m_{1} = 25\% + 75\% = 100\%

單機雙核是單機單核的 78\frac{7}{8}

m1=25%×12+75%=78m_{1} = 25\% \times \frac{1}{2} + 75\% = \frac{7}{8}

單機4核是單機單核的 1316\frac{13}{16}

m1=25%×14+75%=1316m_{1} = 25\% \times \frac{1}{4} + 75\% = \frac{13}{16}

單機8核是單機單核的 2532\frac{25}{32}

m1=25%×18+75%=2532m_{1} = 25\% \times \frac{1}{8} + 75\% = \frac{25}{32}

單機1000核是單機單核的 30014000\frac{3001}{4000}

m1=25%×11000+75%=30014000m_{1} = 25\% \times \frac{1}{1000} + 75\% = \frac{3001}{4000}

單機無數核是單機單核的 34\frac{3}{4}

m1=25%×1++75%=34m_{1} = 25\% \times \frac{1}{+\infty} + 75\% = \frac{3}{4}

從以上推算,可以知道,當並行代碼所佔的百分比固定的情況下,隨着核數 ii 增加,對並行效率的提升會固定在一定比例。

image_1e19t1b35krelmh12m21gpt1vmfm.png-112.1kB

Reference

  1. Introduction to HPC with MPI for Data Science
  2. https://www.youtube.com/watch?v=ViMI_ciiC2A
  3. https://www.youtube.com/watch?v=Axx2xuB-Xuo
發佈了84 篇原創文章 · 獲贊 14 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章