【理論】量化並行效率:阿姆達爾定律
02-02
今天在《代碼的未來》這本書中看到一個定律,叫:阿姆達爾定律
才發現,原來並行效率可以量化的這麼漂亮,它叫加速比,簡單的講就是提升效率的倍數,就很簡單就一個公式:
其中:
- 式中 分別表示問題規模的串列分量(問題中不能並行化的那一部分)和並行分量
- 表示處理器數量
可以很簡單看出來,當 的時候,上面那個公式的極限是
意思就是無論我們如何提高 (並行數),效率提升都是不會超過這個值的
舉兩個例子:
- 有一個 Application,計算(可並行化) 與 I/O(不能並行化) 各佔一半,套公式得:
- 如果計算占 95%,I/O 5%,套公式得:
第一個例子,效率最多提升到之前的 2 倍(是不是突然明白了什麼??)
第二個例子,效率最多提升到之前的 20 倍
圖更直觀
歡迎糾錯,七拐八繞沒關係,只要能使你離真相更進一步,歡迎關注我或者我的專欄
推薦閱讀:
※在中國,量化到底有沒有用?
※國內外的做市商(market maker)有哪些差異?
※成長股的奧秘,PEG選股策略研究丨礦友必讀
※『事件驅動』指數成份股調整帶來的投資機會
※編程小白如何結合量化實例學習python量化建模?