資訊科技

永不當機的電腦

科學家決定不再嘗試降低電腦當機的機率,反而把重心放在撰寫程式,讓電腦在當機時可以自行修復。

撰文/福克斯(Armando Fox,美國史丹佛大學助理教授)、帕特森(David Patterson,加州大學柏克萊分校教授)
翻譯/鍾樹人

資訊科技

永不當機的電腦

科學家決定不再嘗試降低電腦當機的機率,反而把重心放在撰寫程式,讓電腦在當機時可以自行修復。

撰文/福克斯(Armando Fox,美國史丹佛大學助理教授)、帕特森(David Patterson,加州大學柏克萊分校教授)
翻譯/鍾樹人

尋找高度可靠的運算方法


數位運算效能在過去20年中提升了一萬倍:1983年時需耗費一年才能處理完畢的數據,如今不到一小時就可解決;在那個年代的桌上型電腦所具有的處理能力,甚至還比不上今天的掌上型電腦。然而,這樣的進步是要付出代價的。隨著複雜度的提高,數位系統的運作也變得容易受阻且不可信賴。


與電腦相關的失誤比比皆是,個人電腦經常故障或是當機,網站經常從線上消失;新升級的軟體原本是為了擴充效能而設計的,但可能讓事情變得更糟。姑且不論種種的不便,電腦還會導致昂貴的開銷:不論是個人還是公司,每年花費在電腦維修與運作上的支出,都遠高於軟體與硬體的總成本。對於這個問題,如今有了新的解決方法。


我們研究小組的成員,分別來自美國史丹佛大學與加州大學柏克萊分校。我們採取一種新的方針,把電腦故障與操作者的疏失,全都視為生命中必然會發生的事實。小組的重心則是放在設計出可從故障中快速復原的系統,而不再試圖降低電腦當機的機率(這大概是不可能的任務)。這個方法就稱做「復原導向運算」(recovery-oriented computing, ROC)。


我們決定把主力放在網站軟體的改進上。這種高度動態的運算系統必須可快速演化及擴張,以因應消費者的需求與市場壓力,同時還必須服務隨時想要立刻上網的使用者。想想Google搜尋引擎的例子,它的搜尋範圍原本只包括數億個英文網頁,但短短數年之間,卻已擴大到30億個網頁,其中涵括20種以上的語言、10幾種格式,還外加圖片。值此同時,Google每日的搜尋次數也從15萬成長為1億5000萬,這個網站比一開始的時候還要忙碌1000倍。


由於網站的軟硬體必須常常升級,若是採用過去的工程技術來維持系統運作的可靠性,開支就會變得過於昂貴;因此我們預期,網際網路軟體是可以印證我們想法的大好領域,而且或許可成為其他運算系統的模型,包括桌上型與筆記型電腦。如果ROC原則可協助電腦叢林裡的大型動物,那麼或許也能幫助較小型的物種。


我們的第一步,是看看能夠從過去的錯誤中學到什麼。這是一項被證實有效的工程策略,早在鑄鐵桁架鐵路橋樑盛行的19世紀,就已經受到採用。我們尤其想問:為什麼網路系統會故障?又如何改善?有點令人驚訝的是,我們發現系統會發生問題的首要原因,竟然是操作人員的疏失。傳統用來改善軟硬體可靠性的方法,大多忽略了人為失誤的可能性,然而有許多的例子顯示,因為操作人員出差錯所導致的停機時間,要比其他原因來得更長(參見《科學人》2003年7月號〈系統故障該怪誰?〉)。