由於使用多工作業(yè)系統(tǒng),電腦可以同時做很多事情,只要有一顆以上低價CPU就可以達到最自然的平行化 。;
處理器的速度每十八個月就增加一倍,但是記憶體和硬碟的速度呢?很不幸地,它們的速度增加地并沒有CPU快,我們必須記得,大多數(shù)的應用軟體都利用到cache以外的記憶體和硬碟,平行化是可以擺脫這些限制的一種方法 。;
預計在2005年之後,處理器的速度將不會再每十八個月就增加一倍,要達到這種曾加速度的趨勢,中間還有許多障礙 。;
平行計算可以有2倍到500倍速度的提升(有時更快),這全看執(zhí)行的應用程式 。這種提升是無法單靠單一處理器,即使是曾經(jīng)一度使用特別設計超快處理器的超級電腦,如今也是用多顆市售且隨手取得的CPU所組成 。;
假如你因為遇到計算限制(computer;bound)或是輸出□輸入限制(I/O;bound)而需要速度,平行是值得考慮的方法,因為平行計算可以有很多方式,平行地解決你的問題將要思考許多重要的抉擇,這些抉擇會嚴重影響應用程式的可攜性、效能和你所花的時間、精神以及金錢 。;
在我們了解平行計算的技術之前,讓我們先看看熟悉的真正平行計算問題的實例□在店門前大排長龍 。;
平行計算的商店
想想看一個柜臺前有八臺同時使用收銀機的大型商店,假設每個收銀機就是一顆CPU,每個客人就是一個電腦程式,電腦程式的大?。üぷ鞯亩喙眩┚褪敲總€客人選點的多少,接下來所作類比的方式就是要說明平行計算的觀念 。;
單工作業(yè)系統(tǒng)
只有一臺收銀臺打開,一次只能處理一個客人 。;
□例;:;MS;DOS;
多工作業(yè)系統(tǒng)
只有一臺收銀機打開,但是現(xiàn)在一次處理一個客人選點的一部份,然後移到下個客人,處理他選點的一部份,每個人似乎同時都有在移動,假如沒有其他人在排隊,很快就會輪到你 。;
□例;:;UNIX,使用單一CPU的NT 。;
多顆CPU且多工作業(yè)系統(tǒng)
現(xiàn)在我們將其他的收銀機打開,每個客人都有一臺收銀機服務,這時排隊的隊伍移動地很快,這稱為SMP□對稱式多行程 。雖然有額外的收銀機打開,但是絕快不過只有一臺收銀機和一個客人 。;
□例;:;UNIX,使用多CPU的NT;
多工多CPU的緒(thread)
假如將你選點的項目拆開來,多臺收銀機同時使用記帳,你就可以更快一點 。首先我們得假設你買了很多東西,因為你花在拆開項目的時間必須由多臺收銀機補償回來,理論上,你可以比以前快N倍,N是收銀機的臺數(shù) 。當收銀員需要得到其他部份的小計時,他們可以透過交談或觀望其他收銀機,很快地交換他們所需要的資訊,他們甚至可以打探其他的收銀機,找尋需要的資料,使得工作更快些 。無論如何都還是有些限制,也就是這家店在各個地方可以有效地放置多少臺收銀機 。;
Amdals定律也使應用程式增快的速度將受限在循序程式中最慢的部份 。;
□例;:NUIX或是在相同主機板上的多CPU的NT并可以執(zhí)行多緒(multi-threaded)程式 。;
在多工作業(yè)系統(tǒng)上向其他CPU傳遞訊息
為了改善效能,店家在後頭又增加了八臺收銀機,因為新的帳單離前方柜臺很遠,收銀員必須用電話將小計告訴前方柜臺,除了傳遞外,還加上額外時間的負擔,但是假如傳遞時間很短,它將不會造成問題 。假如□要買的東西很多,需要所有的收銀機,這時在使用所有收銀機來改進收帳的速度之前,額外的時間負擔仍須考慮進去 。有時候,某些商店在各個角落只單獨放置一臺收銀機,每個收銀機就只能透過電話聯(lián)系,這時它們所在的位置就不重要了 。;
推薦閱讀
- Sound Blaster AWE 32/64 HOWTO 如何在Linux設定聲卡
- Soundblaster 16 PnP Mini-Howto 如何在Linux設定16位P
- 新聞 Leafsite mini-HOWTO
- 使用LILO做為Win95+WinNT+Linux多重開機 mini-HOWTO
- LINUX modules 模塊安裝 MINI-HOWTO
- Linux + NT OS Loader mini-HOWTO
- The RCS MINI-HOWTO
- Linux+FreeBSD mini-HOWTO
- The Linux+DOS+Win95 mini-HOWTO
- Large Disk mini-HOWTO 大硬盤
