Amdahl’s law (阿姆达尔定律)的演化和思考
?G.M.Amdahl在1967年提出了Amdahl’s law,針對(duì)并行處理的scalability給出了一個(gè)模型,指出使用并行處理的提速由問題的可并行的部分所決定。這個(gè)模型為并行計(jì)算系統(tǒng)的設(shè)計(jì)者提供了指導(dǎo)。
其形式如下:
f為問題中可被并行處理的部分的比例,m為并行處理機(jī)的數(shù)量,Speedup為并行后相比串行時(shí)的提速。
Amdahl’s law表明在問題的可并行部分不大時(shí),增加處理機(jī)的數(shù)量并不能顯著地加快解決問題的時(shí)間。這讓計(jì)算機(jī)界產(chǎn)生了悲觀的情緒,有人認(rèn)為搞多處理器的機(jī)器沒什么前途。但是,Amdahl’s law忽略了一些重要的事實(shí)。Amdahl’s law是一個(gè)fixed-size model,就是要解決的問題的大小是固定的,可并行化的比例是固定的。而在實(shí)際中,我們不會(huì)用1000個(gè)處理機(jī)來處理一個(gè)小問題,當(dāng)我們的計(jì)算能力的總和增加之后,可以也應(yīng)該去解決更大的問題。當(dāng)問題更大的時(shí)候,通常情況下,這個(gè)問題也有更大的可能被分為可并行化的小問題(或者說處理多個(gè)相互獨(dú)立的問題),也就意味著f更大(更接近1),能得到更大的Speedup。
直到1988年,Gustafson提出了一個(gè)fixed-time model,也即Gustafson’s Law,人們對(duì)重拾對(duì)大規(guī)模并行計(jì)算的信心。Gustafson’s Law可表示為以下公式:
對(duì)一個(gè)在單處理機(jī)上的工作w,我們將其擴(kuò)大到m個(gè)核上,scaled workload為w’=(1-f)w+fmw。對(duì)在串行條件下對(duì)w’的處理時(shí)間比上在并行條件下對(duì)w’的處理時(shí)間即為Speedup。在這個(gè)模型中,問題的規(guī)模是可以被擴(kuò)大(scale)的。從這個(gè)公式可以看到,f固定時(shí),speedup顯線性增長(zhǎng)。
在1990年,Sun and Ni提出了memory-bounded model,即Sun and Ni’s law。形式如下:
在這個(gè)模型下,workload被scale的方式不同,workload跟隨著memory的增長(zhǎng)而以某種方式增加(G(n))。在這個(gè)模型里,Speedup也隨處理機(jī)的數(shù)量的增長(zhǎng)而線性增長(zhǎng),而且比Gustafson’s Law的增長(zhǎng)情況更樂觀。
其實(shí),這幾個(gè)模型其實(shí)在本質(zhì)上是一致的,并沒有沖突,那為什么Speedup會(huì)有那么大的不同呢?這是因?yàn)樘幚頇C(jī)的使用率。當(dāng)workload被scale,而不是fix時(shí),增加的處理機(jī)就會(huì)有事可做,保持一個(gè)比較高的使用率。也就是這些computing capacity沒有被浪費(fèi)掉。如果沒有被浪費(fèi)掉,這些computing capacity就在一定的時(shí)間多完成了一些工作,完成整個(gè)工作的時(shí)間就縮短了。所以,Speedup就變大了。
結(jié)論是,多搞些處理機(jī)是沒錯(cuò)的,但是要有具有好的scalability的系統(tǒng)支持,以提高處理機(jī)的使用率。
本文轉(zhuǎn)自cnn23711151CTO博客,原文鏈接:http://blog.51cto.com/cnn237111/536508?,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Amdahl’s law (阿姆达尔定律)的演化和思考的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 压缩以及归档
- 下一篇: iscsi网络存储介绍及客户端配置操作