背景資料
相關名詞
SMP
對稱多處理器
LTSP
Linux終端服務器項目 (Linux Terminal Server Project)
Kernel
內核
Ramdisk
內存虛擬盤
Etherboot
以太啟動
Bootrom
網卡啟動芯片
大型主機(Mainframes)
超級計算機(Supercomputers)和集群(Clusters)
縱觀計算機的歷史
最先讓人了解的就是大型主機和超級計算機
這是計算機歷史的一部分
沒有這些大家伙
就沒有今天的個人電腦
這些大家伙通常是一個或幾個有強大研發隊伍和資金的廠商完成
最初的目的是軍方或政府的需要
很多大學的研發也促成了這些大家伙更強大
一般情況下
大型主機和超級計算機都使用超過
個
多達上百個的CPU和自己的專用操作系統
計算機歷史上很多的重要成員都和這些大家伙有關
IBM
DEC
Cray
SGI
HAL
大型主機已經成為歷史
而超級計算機成了各國技術實力的爭奪焦點
但是目前個人電腦的發展使集群成為競爭超級計算機的強大對手
集群的CPU數和浮點能力和超級計算機的差距已經越來越近
Cluster
集群系統
也有成為機群和群集系統的
集群主要分為三類
容錯集群(Fail
over Cluster)
負載均衡集群(Load balancing Cluster)
高性能計算集群(High Performance Computing)
容錯集群是指兩台主機通過兩個或兩個以上網路連接的系統
其中一個連接稱為心跳線(heartbeat)
利用每台主機上的服務進程監控對方主機的狀態
一旦發現對方主機宕機或出現不能正常工作的情況
心跳線會反映給互為備份的另外一台主機
該主機則會接替出問題的主機
典型的使用場景是空軍的雷達追蹤系統
負載均衡集群一般用於相應網絡請求的網頁服務器
代理服務器
這種集群可以在接到請求時
檢查接受請求較少
不繁忙的服務器
並把請求轉到這些服務器上
從檢查其他服務器狀態這一點上看
負載均衡和容錯集群很接近
不同之處是數量上更多
高性能計算集群是指具有響應大量計算的性能
可以作為數據中心使用的計算機的集合
比如壓縮mp
氣象雲圖的分析等
集群模式
(N)UMA非一致性內存訪問(Non
)Uniform Memory Access一般是指通過執行特殊的程序代碼對內存的共享訪問
在Linux內核中
可以執行對訪問時間內的不同內存區域進行交叉訪問
也就是內核進程可以使用接近CPU使用時的內存
對正在使用內存區域的訪問
才可以共享
線性的內存訪問是無法共享的
PVM/MPI是指並行虛擬機(Parallel Virrual Machine)和信息傳遞界面(Message Passing Interface)
在Beowulf的世界裡最常提到的就是這兩個概念
該軟件包已經提供了多平台的版本
通過開放式的標准信息傳遞庫
並行機之間可以通訊
事實上PVM也是一組庫
程序可以使用這些編譯庫來改造程序適應並行系統
但是這些都要相應的修改源程序
系統內核事實上並沒有發生改變
其他模式
Turbo Linux EnFuzion
Platform等網格計算(Grid Computing)不必討論這類集群不是單純意義的集群
以Enfuzion為例
EnFuzion是Turbo Linux收購的一個軟件改良版(前身就叫Cluster)
因為使用了Java
可以跨平台
使用駐留系統服務來監控集群間的通訊
事實上是任務分發和監控器
依賴於計算數據離散性
對於數據不可分的程序
無能為力
也就是說每個節點都運行相同的程序
但處理的數據是不同的
該集群提供了控制這些程序的界面
跨平台性也只是依賴於計算的應用有跨平台版本
而其只提供跨平台的監控
主要集中在CPU空閒的監控和計算的再分配
數據可分和程序可分
集群計算中最重要的就是分布
根據不同的應用
分為兩種
數據可分和程序可分
數據可分是指數據間沒有必然聯系或聯系在結果的基礎上
比如mp
的壓縮
每個單獨的mp
互不關聯
或者有限元計算的某個步驟
單一的曲面計算生成結果再參加後面的關聯計算
更著名的是SETI@home通過分析射電望遠鏡的信號尋找外星人
這是典型的將中間分析結果傳遞給下一部分析
這就是數據可分
這最適合網格計算
程序可分
用過ANSYS的人都知道商業軟件分為單處理器和多處理器版本
因為計算量大
所以支持SMP的計算軟件和使用單一CPU的軟件是不同的
多CPU共同運算時也要考慮到內存的訪問
處理通訊和負載均衡
除非操作系統支持
不然使用DOS和Windows
x很難用到第二個CPU(甚至不可見)
有了操作系統的支持
應用程序也要支持
即使操作系統支持並行
應用程序不可分的話
只能使用
/n(n=CPU數量)的處理能力
典型的例子就是
CPU的WindowsNT/
下使用單處理器版本的ANSYS
處理器進程顯示
%
但是
CPU共同生效
而使用多處理器版本時
CPU都可以在
%的使用率
因此程序可分是集群重要的應用基礎
即使程序本身不可分
而集群支持子進程的遷移
也意味著類似SMP系統支持程序可分
SETI@home
在家尋找外星人計劃
這是NASA全球計劃之一
位於波多黎各西北的一個火山口中垂直對天的射電望遠鏡Arecibo(
黃金眼中最後決戰的地點和X
files第二部第一集中收到外星人電波的天線
直徑
米
接收器高約
米
約位於
米高處)
用於收集來自宇宙的無線電信號
就像TCP/IP網中的sniffer
這是宇宙中的一個嗅探器
通過收集信號
來分析由智慧生物發出的
有一定規律的無線電
比如
第一台電視的信號和貓王歌曲在多年前通過收音機發送的無線電信號
至今還在宇宙中遨游
雖然可能很微弱了
但是還可以接收到
這個計劃就是接受類似外星人的無線電信號
具體的步驟是讓個人電腦的用戶下載客戶端程序
一個屏幕保護程序
或一個命令行程序
然後在連接互聯網時下載大約
KB的數據包
然後利用處理器空閒時間計算
該數據包只是龐雜數據中的一小部分
但是全球目前加入的上億台計算機就構成了最大的超級計算機
當計算完成後
在連接互聯網時上載結果
並下載新的數據包
根據其目前的計算形式
Intel稱為P
P計算
其實是網格計算的一種
上載的數據不是最終數據
經過和其他人加工的數據整合
會產生新的結果
這時可能要繼續計算
也可能就此產生階段報告
每天SETI@home的主頁上都會有新的成果
當然不一定是發現外星人的報告
筆者的成績因為借助了自己設計的網格計算
全球
位排名
名左右
還在向前靠攏
大約是完成了
個數據包
在中國目前第一
圖
SETI◎home作為屏幕保護時軟件運行界面
圖
位於波多黎各一個火山口中的Arecibo射電望遠鏡
圖
記得那個著名的
鏡頭嗎
相關連接
SETI@home的主頁
筆者的成績
&cmd=user_stats_new
openMosix小組的成績
波多黎各Arecibo射電望遠鏡
需要強大計算的應用
財務與社會行為分析
使用數學模型模擬的計算
音樂
圖象等多媒體數據處理
例如mp
壓縮
動畫渲染
後期處理
流體力學
有限元分析
例如樂高玩具的數字模擬強度分析
編譯
數據庫挖掘
醫學研究
例如AIDS和DNA的結構分析
成功運作的有UD(United Devices )
天文研究
例如SETI@home
在家尋找外星人項目()
天氣和海浪預報
電子電路數字模擬分析
例如研發新的處理器
窮舉解密
例如破解DES密碼(
en)
正在研發的分布式計算系統
Beowulf
是目前開放源碼世界中最大的高性能計算項目
該項目就在探尋能適應於不同需要
不同處理速度的計算組合
但是這個項目並不是指單一的某個軟件包或者一種技術
而是整個研發方向的綜合
你可以在該項目中尋找適合你的技術和軟件
還有很多項目成員並未找出通用的方法
而是將已經在使用的專門系統公開到Beowulf項目中
讓大家參考
其中有用於分布式編譯
數據采集
還有多媒體處理等很多領域
相關連接
Plan
年源於貝爾實驗室(Computing Sciences Research Center of Bell Laboratories) 開發的新分布式操作系統
建立在Unix和C與C++基礎上
支持的處理器有Intel x
Sparc
Alpha
Power PC
和arm
目前沒有象KDE漂亮的圖形界面
使用上接近UNIX
標准UNIX工具也可以使用
但是從設計原理和基礎上不同於UNIX
核心已經完全重寫並設計成網絡操作系統
就像設計完UNIX後的補充
其中設計元素包括用戶端的終端
存儲固定文件的服務器和提供更快CPU的計算服務器
提供用戶驗證和網關特性
目前吸引人的焦點是Plan
的文件系統可以支持所有的系統服務進程
也就是說所有任何用戶可以使用的資源在文件系統中都可以找到唯一的命名
已經可以稱為命名空間了
通過網絡層的協議
P來訪問所有的
From:http://tw.wingwit.com/Article/program/Oracle/201311/18715.html