熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

如何架構高性價比的分布式計算機集群(5)

2013-11-13 22:17:51  來源: Oracle 

  背景資料
  
  相關名詞
  
  SMP對稱多處理器
  LTSPLinux終端服務器項目 (Linux Terminal Server Project)
  Kernel內核
  Ramdisk內存虛擬盤
  Etherboot以太啟動
  Bootrom網卡啟動芯片
  
  大型主機(Mainframes)超級計算機(Supercomputers)和集群(Clusters)
  
  縱觀計算機的歷史最先讓人了解的就是大型主機和超級計算機這是計算機歷史的一部分沒有這些大家伙就沒有今天的個人電腦這些大家伙通常是一個或幾個有強大研發隊伍和資金的廠商完成最初的目的是軍方或政府的需要很多大學的研發也促成了這些大家伙更強大一般情況下大型主機和超級計算機都使用超過多達上百個的CPU和自己的專用操作系統計算機歷史上很多的重要成員都和這些大家伙有關IBMDECCraySGIHAL大型主機已經成為歷史而超級計算機成了各國技術實力的爭奪焦點但是目前個人電腦的發展使集群成為競爭超級計算機的強大對手集群的CPU數和浮點能力和超級計算機的差距已經越來越近
  
  Cluster
  
  集群系統也有成為機群和群集系統的集群主要分為三類容錯集群(Failover 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 EnFuzionPlatform等網格計算(Grid Computing)不必討論這類集群不是單純意義的集群以Enfuzion為例EnFuzion是Turbo Linux收購的一個軟件改良版(前身就叫Cluster)因為使用了Java可以跨平台使用駐留系統服務來監控集群間的通訊事實上是任務分發和監控器依賴於計算數據離散性對於數據不可分的程序無能為力也就是說每個節點都運行相同的程序但處理的數據是不同的該集群提供了控制這些程序的界面跨平台性也只是依賴於計算的應用有跨平台版本而其只提供跨平台的監控主要集中在CPU空閒的監控和計算的再分配
  
  數據可分和程序可分
  
  集群計算中最重要的就是分布根據不同的應用分為兩種數據可分和程序可分
  
  數據可分是指數據間沒有必然聯系或聯系在結果的基礎上比如mp的壓縮每個單獨的mp互不關聯或者有限元計算的某個步驟單一的曲面計算生成結果再參加後面的關聯計算更著名的是SETI@home通過分析射電望遠鏡的信號尋找外星人這是典型的將中間分析結果傳遞給下一部分析這就是數據可分這最適合網格計算
  
  程序可分用過ANSYS的人都知道商業軟件分為單處理器和多處理器版本因為計算量大所以支持SMP的計算軟件和使用單一CPU的軟件是不同的多CPU共同運算時也要考慮到內存的訪問處理通訊和負載均衡除非操作系統支持不然使用DOS和Windowsx很難用到第二個CPU(甚至不可見)有了操作系統的支持應用程序也要支持即使操作系統支持並行應用程序不可分的話只能使用/n(n=CPU數量)的處理能力典型的例子就是CPU的WindowsNT/下使用單處理器版本的ANSYS處理器進程顯示%但是CPU共同生效而使用多處理器版本時CPU都可以在%的使用率因此程序可分是集群重要的應用基礎即使程序本身不可分而集群支持子進程的遷移也意味著類似SMP系統支持程序可分
  
  SETI@home
  
  在家尋找外星人計劃這是NASA全球計劃之一位於波多黎各西北的一個火山口中垂直對天的射電望遠鏡Arecibo(黃金眼中最後決戰的地點和Xfiles第二部第一集中收到外星人電波的天線直徑接收器高約約位於米高處)用於收集來自宇宙的無線電信號就像TCP/IP網中的sniffer這是宇宙中的一個嗅探器通過收集信號來分析由智慧生物發出的有一定規律的無線電比如第一台電視的信號和貓王歌曲在多年前通過收音機發送的無線電信號至今還在宇宙中遨游雖然可能很微弱了但是還可以接收到這個計劃就是接受類似外星人的無線電信號具體的步驟是讓個人電腦的用戶下載客戶端程序一個屏幕保護程序或一個命令行程序然後在連接互聯網時下載大約KB的數據包然後利用處理器空閒時間計算該數據包只是龐雜數據中的一小部分但是全球目前加入的上億台計算機就構成了最大的超級計算機當計算完成後在連接互聯網時上載結果並下載新的數據包根據其目前的計算形式Intel稱為PP計算其實是網格計算的一種上載的數據不是最終數據經過和其他人加工的數據整合會產生新的結果這時可能要繼續計算也可能就此產生階段報告每天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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.