CPU技術變革所引來的軟體開發模式的變化

2021-03-31 19:41:37 字數 1133 閱讀 2012

cpu時鐘頻率趨近上限,摩爾定律(moore『s law)也即將成為經典的過去。我清楚地記得6年前我用的是賽揚333,而如今筆記本頻率已達1.8g。兩年前台式電腦處理晶元頻率達到3g,可現在還是在 3.5g左右徘徊。根據摩爾定律,我們的處理晶元頻率應該已經到達10g了啊!散熱問題、晶元材料問題,已經牽制住時鐘頻率的進一步提公升。對於軟體開發者 來說這,或許是惡夢。

曾經用486啟動win95需要10分鐘,現在市場上能買到最爛的機器都能1分鐘內啟動95完畢。作為開發商的microsoft並沒有做95系統的效率公升級工作啊!其依靠市場規律,「免費」為95「提高」了效能。

多少年來,軟體開發者抱著這種心態來完成程式開發。一年前沒有機器能夠跑得了doom3,id就等著更強勁的顯示卡的發布以支援doom3當時近似**的配置要求。microsoft宣布longhorn的配置要求,也是如此,等待明年硬體效能的提公升。

現在的情形變了,經過了網速限制、記憶體限制、硬碟速度限制後,我們即將引來cpu頻率限制。cpu頻率的提公升將轉變為cpu邏輯單元的增加,和多核心 cpu的研發。這意味著以現有的軟體開發模式去開發高cpu負荷的產品,然後等待cpu的公升級已經將成為過去。我們不得不採用不同的方式去達到開發更先進 產品的目的。

我們或許有兩種不同的策略:

1. 用更高效的演算法實現軟體功能

2. 開發出支援多執行緒的軟體

若你的軟體只支援雙線程,那麼它在雙核心cpu或三核心cpu上執行的效率是一樣的。「等待」硬體公升級不再有效,為了提高效率,你需要將你的軟體分成3個「工作組」來「合作」使得三個執行緒能夠在三核心cpu上高效工作。

另一項值得注意的是面對服務技術(service-oriented)的發展。

所謂面對服務技術是指兩個程式在某種協議(protocol)的支援下提供不同的服務以達到系統的目的。在網速仍然高速發展的今天,我們的有理由相信,現 在很多執行在本地的服務將來很可能執行在伺服器上,通過網路協議來供給服務,以減少個人計算機的計算負荷。這也是microsoft新作業系統 longhorn的乙個探索。配合.***,未來瀏覽器將不再存在,伺服器/客戶端(server/client)模式也將被淘汰。

但軟體開發模式的改變也不是一夜成形的,需要幾年,甚至數十年的變革。至少目前cpu的速度仍在增長,快取(cache)仍在為速度的提高做貢獻。就現在的個人及企業軟體需求來說,我們還不需要如此規模的大變革。只是它或許不遠了……

軟體開發的技 術 門 道

某老程式設計師曾如此訓誡 當你對任何新技術都抱有三日即可上手的藐視心態,說明你在這一行已經達到一定火候了 剛開始聽這話的時候十分不明白,作為乙個靠技術吃飯的人,如何敢對技術抱著藐視心態呢?是不是有點太狂妄了呢?是不是有點固步自封了呢?不理解歸不理解,前輩還是要尊敬的,於是憋在肚子裡慢慢想,終於有一天...

開源軟體運動觸發中國軟體開發模式變革

當你在網際網路上 衝浪 時,或許不會意識到,你所瀏覽的 可能是linux作業系統 是apache伺服器 是mysql資料庫 是php語言 你同樣可以自由地獲取這些軟體的源 並在遵循一定許可規則的情況下可以自由 多數情況下還可以免費 使用而不會被人指控盜版 侵權。如果沒有這些開放源 軟體 open s...

迭代化軟體開發技術

ibm rational 技術 傅純一 ibm中國 軟體部rational中國區技術銷售經理 2004 年 9 月1.傳統開發流程的問題 傳統的軟體開發流程是乙個文件驅動的流程,它將整個軟體開發過程劃分為順序相接的幾個階段,每個階段都必需完成全部規定的任務 文件 後才能夠進入下乙個階段。如必須完成全...