因為你把單一jib 分拆
跑完 在 合起來都須要浪費時間
除非你軟體本身是 可以平行跑
但一般軟體很難 ..
2. multi thread
不一定 如果切太多 thread下
可能 8 core 比較快
以教科書說法 cpu pipeline 超過 12 stage 後 overhead會變差
因為一直切 所以 k8 和 p4 (20 stage ??)
就設計來說就不同 ..
3. 一般來說 multi cpu 跑出來能力
如果是 dual core 就算是軟體可以使用 dual core cpu加速
兩顆cpu 有到 1.3~1.5 speed up 就已經算不錯了
但是 多cpu 還是有用 如 cluster方式
或是 cuda 一開始軟體就是多 cpu 想法來設計下
多 cpu 會比較快 ..
但是目前 cpu 最快有到 8GHZ ?
到是 3Ghz cpu 比較容易買到
試問2600K在超頻後,CPU的本質(支援的指令集、L1-L3 cache等)有變化嗎?沒有!超頻後的效能提昇,完全就是因為頻率拉高而已!以渦輪車來說,例如Audi A4,同一台車,只要修改監理程式,就會有明顯的馬力差別,如果有人問,200hp的A3、跟兩部100hp的A3何者較強?我想各位不會立刻下斷語,因為要比什麼呢?喔,就來比個:將100個人、從台北送到高雄吧!縱使前者有很高的極速,但是它一趟只能載4人(不含司機)、而對後者來說,雖然馬力不高,但是每趟可以運輸8人;談到這裡,我想大家會有更多的思考。
以近期的Intel架構來看,單核心擁有L1+L2+L3,但多核心卻是n*(L1+L2)+L3;單核心只有一個通道、但多核心可能有n個各自獨立的通道(例如QPI);撇開架構性的差異,我想再次強調,如果是相同的核心技術,超頻後的處理器並不會"變態"(註:這個用詞在昆蟲領域是很正式的用法喔),也就是說,增壓後、audi還是audi、toyota還是toyota;CPU在超頻後,該怎麼說呢?其實根本沒有變化、但就是手腳變快罷了,這讓超頻後的CPU,可以在相同時間執行更多個指令。
有架設伺服器經驗的人,一定了解到,兩部分開的伺服器(即使等級很低),一定運作的比單一電腦、跑兩個服務要佳(虛擬化技術)。從軟體的觀點來看,如果你有8個工作要執行,理論上,8個工作可以平均分給8 cores,但對於single core來說,它必須分段來服務那8個工作,這會造成context switching的overhead,而這個overhead有多大呢?如果我告訴你,一般的RTOS的損耗多達20%,你會覺得驚訝嗎?喔!對了,我們都還沒談到OS耶,因為最後的效能分數,OS的寫法更是關鍵,不知到版上的高手們,有沒有興趣繼續探討。