引用:
最初由 Marty 發表
杜個嘈~~~~
應該是Amdahl's Law吧~
不過印象中,Parallel Processing應該指的是多台電腦以
網路的方式連結起來作平型運算(以PVM or MPI),
SMP(一個主機板上有多個處理器)應該不算是Parallel Processing討論的範圍
---
有錯誤請指教
|
果然利害,高手出手就是不一樣.因為忘了正確的拼法,沒錯,就是那一個.
我想在單系統裡面的多處理器應該是一樣的道理.平行處理不一定是用網路方式連結起來的.硬要說網路也是可以,因為是內部的CKT所構成的網路.因為在執行一個instruction的時候.有fetch,decode,execution和restore.像是乘的部分.因為instruction都是一樣的,只是operand不一樣而已.所以就只要fetch 該instruction一次.再來就是對operand的運算了.此時看一個CPU裡面的pipeline有幾條.剩下的部分就可以被平行處理.當多棵CPU時就可以有更多的pipeline去執行.此時就可以加速.可是有個問題.就是現在其實外部IO的動作反而會拖慢整體的performance.因為外部IO的存取是最慢的.雖然可以資料平行化處理可以很快.可是讀取的時候花了蠻多的時間.如果運算量不大的時候.反而效能的提升非常有限.
像Photoshop就有支援多CPU的.為什麼??因為那個其實圖片就是很大的矩陣所構成的.以矩陣來運算的話.變的是運算元.Instruction是一樣的.所以這是
"為什麼" Photoshop支援
"單台電腦裡雙cpu的架構"
所以我想這個和工作站上的多CPU的架構是大同小異的.只是Size的大小而已.
和Performance吧!!
再來那個定理的公式
speed up=1/[(1-fp)+fp/n]
N是CPU的個數
fp是佔總程式裡面可被平行化程式的百分比
例如這樣好了.
這個程式可被平行處理的部分有90%
然後有兩顆CPU來運算.
這樣的Speed up大概是多少呢??
答案是1.81倍
那像是說不可被平行化的是什麼呢???例如IO啦!!
所以看了一下式子.可以很明顯知道那個(1-fp)是很重要的.因為他影響整體的效果蠻大的.不信你帶帶看就知道了!!
大概就這樣了!!我就只懂這些了!!