計算集群算力統計
『壹』 雲計算模式及在地質資料集群化、產業化服務中的應用探討
張兆代 王聖潔 劉京鵬 宋宏偉
(青島海洋地質研究所)
摘 要 雲計算繼承和整合了虛擬化技術、海量數據存儲、分布式並行計算框架、智能化與自動管理等多項關鍵技術,形成了具有高性能、可伸縮、低成本及面向服務的新的計算模式。目前學術界及產業界對雲計算的研究和探討均呈快速增長趨勢,大量論文發表在計算機類和圖書情報類期刊,研究的重點集中在雲計算的基礎理論、雲計算的關鍵技術、雲服務的應用領域、雲計算與信息資源管理等多個方面。本文以 2000 ~ 2012 年發表在國內核心期刊上關於雲計算的研究文獻為統計樣本,分析了雲計算的研究熱點及其演化方向,結合我國地質資料集群化產業化服務的發展狀況,探討雲計算應用策略。
關鍵詞 雲計算模式 地質資料 信息共享和服務
1 前言
「雲計算(Cloud Computing)」一詞出現於 2006 年,是谷歌總裁埃里克 施密特(Eric Schmidt)在搜索引擎大會(SES San Jose 2006)首次正式提出的一個概念。它不僅揭開了谷歌搜索背後關鍵技術的神秘面紗,而且在短短的數年內就迅速超越「網格計算(Grid Computing)」並成為新的潮流(圖 1)。
圖 1 網格計算與雲計算搜索量變化趨勢圖
2006 年後,在谷歌、亞馬遜、IBM 等企業的推動下,「雲計算」作為新興的計算模式已經有了廣泛應用。雲計算作為一種基礎設施與服務的交付和使用模式,正深刻地影響著互聯網的發展。近年來,國內外掀起了關於雲計算的研究熱潮,涌現了大量的研究文獻和應用案例,雲計算已經成為學術界和產業界共同關注的熱點。本文首先介紹了雲計算的基本概念和關鍵技術,並通過對現有的雲計算研究文獻的綜合分析,結合我國地質資料集群化產業化服務的發展狀況,提出其在雲計算應用中需要注意的問題。
2 雲計算及其關鍵技術
2.1 雲計算的基本概念
雲計算的概念仍存在不同的定義。一般認為雲計算是一種基於互聯網的計算方式,通過這種方式,共享的軟硬體資源和信息可以按需提供給計算機和其他設備[1]。美國國家標准與技術研究院(National Institute of Standards and Technology,NIST)也給出了雲計算的定義,認為雲計算是一種能夠通過網路以便利的、按需使用的方式獲取計算資源並顯著提高可用性的方式,這些計算資源來自一個共享的、可配置的資源池,並能夠以自動的方式獲取和釋放[2]。
中國電子學會雲計算專家委員會認為:雲計算是一種基於互聯網的、大眾參與的計算模式,其計算資源(計算能力、存儲能力、交互能力)是動態、可伸縮、且被虛擬化的,並以服務的方式提供。這種新型的計算資源組織、分配和使用模式,有利於合理配置計算資源並提高其利用率,從而促進節能減排,實現綠色計算[3]。
盡管雲計算有不同的定義,但對於雲計算的特點已有很多深入的討論。下面五個基本特徵可以用來判斷一個計算服務是否是雲計算。
(1)服務按需即取。雲計算是把信息技術作為服務提供的一種方式。由於這種服務是從用戶角度出發,按需即取的自助服務是其最重要的特徵之一。用戶可以自行獲得計算能力,包括伺服器的使用和網路存儲的使用,而整個過程通常是自動進行的。
(2)便捷網路訪問。雲計算支持廣泛和便捷的網路訪問能力,用戶可以使用多種設備,如手機、移動計算機或工作站等獲取雲服務。
(3)資源共享池。雲計算帶來的一個好處是能夠提高資源的利用率,通過把資源集中到一個公共的資源共享池中,可以為大規模的用戶群提供共享服務。由於資源池可以動態分配所有物理和虛擬資源,達到了通過共享提高資源利用率的目的。
(4)高可擴展性及彈性服務。雲計算具有快速及可伸縮地提供服務的能力。根據需求變化,雲計算所提供的服務可以自動並快速地擴展或收縮。
(5)服務可度量。雲系統通過自動監控資源的使用,可以提供定量的運行報告,從而保證雲服務處於應有的水平。
2.2 雲計算的體系架構
計算機技術的發展經歷了傳統主機計算模式到個人普及計算模式及分布式網路計算模式的轉變[4]。雲計算作為一種新的計算模式,既是分布式計算、並行計算和網格計算等技術快速演化的結果,也是信息社會中信息需求的必然選擇。社會化、集約化與專業化的信息服務通過各種雲計算得以體現,其中既包括了各種通過網路提供給用戶的互聯網應用、軟體或計算資源服務,也包含了用來支撐這些服務可靠和高效運行的軟硬體平台。
美國國家標准與技術研究院的技術報告給出了關於雲計算體系架構的完整模型(圖 2),該頂層模型定義了雲計算模式中的角色(Actors)、行為(Activities)和功能(Functions)[5]。雲計算的核心角色有雲用戶(Cloud Consumer)、雲服務商(Cloud Provider)、雲審計者(CloudAuditor)、雲代理商(CloudBroker)和雲運營商(Cloud Carrier)共五類(表 1)。在該模型中,雲用戶可以獲得包括 ERP、CRM、HR 等商業智能或信息、通訊、協作、存儲、備份以及軟體、硬體託管等多種服務,雲服務商則通過雲計算中心的建設、運行和管理提供在線的軟體服務(SaaS)、平台服務(PaaS)和基礎設施服務(IaaS),雲運營商通過提供網路接入、通訊系統等保障雲計算的提供和使用,雲審計者和雲代理商的參與則保證了雲計算和雲服務的穩定性、持續性和透明度及服務水平。
圖 2 雲計算體系架構參考模型(引自 NIST)
表 1 雲計算模式中的主要角色及定義
2.3 雲計算的關鍵技術
雲計算是計算機技術發展的產物,其中虛擬化技術、海量數據存儲、分布式並行計算框架、智能化與自動管理被認為是實現雲計算的關鍵技術[6]。
2.3.1 虛擬化技術
虛擬化(Virtualization)技術是將各種計算及存儲資源充分整合和高效利用的關鍵。虛擬化技術包括兩個方面:物理資源池化和資源池管理。物理資源池化是把物理設備由大化小,將一個物理設備虛擬為多個性能可配置的最小資源單位;資源池管理是對集群中虛擬化後的最小資源單位進行管理,根據資源的使用情況對資源進行靈活分配和調度,實現按需分配資源。虛擬化技術主要應用在伺服器虛擬化、存儲虛擬化和網路虛擬化三個方面。
2.3.2 海量數據存儲
海量數據存儲是雲計算的主要任務。為了保證可用性、可靠性和經濟性,雲計算採用分布式存儲的方式來存儲數據,由於採用了分布式冗餘存儲的方式,數據既有高可靠性,也能並行地為大規模用戶提供服務。雲計算的數據存儲技術主要有谷歌的分布式文件系統(GFS,Google File System)和 Hadoop 的HDFS(Hadoop Distributed File System)。
2.3.3 分布式並行計算框架
並行計算是雲計算的核心。雲計算採用 Map-Rece 的編程模式實現分布式並行計算。Map-Rece通過「Map」和「Rece」這樣兩個過程來簡化並行計算,所有應用只需要提供 Map 函數以及 Rece 函數就可以在集群上進行大規模的分布式數據處理。Map-Rece 不僅僅是一種編程模型,同時也是一種高效的任務調度模型,該模型的使用使計算任務高度並行及分布式實現成為現實。
2.3.4 智能化與自動管理技術
雲計算具有高度自治的特點,智能化與自動管理是雲計算模式的重要技術支撐。通過對集群系統各節點的全面監控、自動反饋、智能調配,實現了包括設備、虛擬資源、通訊與服務等的動態管理和自動遷移。以第四代大規模數據中心為基礎的雲計算,既能靈活擴展部署,也能滿足服務計算和多粒度計算的要求。
3 我國雲計算研究熱點分析
3.1 國內外雲計算搜索量變化趨勢比較
搜索量的大小通常反映關注度的高低,使用 Google Trends 工具還可以分析一些長期的趨勢和變化。這里選擇「Cloud Computing」和「雲計算」分別作為世界和我國在雲計算領域的指標性關鍵詞,從分析結果可以看出以下幾個特點(圖3):①世界上對於雲計算的關注開始於 2007 年,我國則自 2008 年才開始關注該領域。因此,我國仍屬於學習—跟隨型研究模式。②自 2007 年後,世界上關於「Cloud Computing」的搜索量出現迅速增長趨勢,目前,已超過「Grid Computing」成為新的信息技術熱點,我國對此的關注則較為平緩和滯後。③如果把搜索量代表的關注度看做是「海上的冰山」,那些「水下的部分」,包括基礎理論、關鍵技術、應用實踐等方面,國內外存在更大的差距。
圖 3 國內外雲計算搜索量變化趨勢比較
3.2 國內雲計算研究文獻的計量分析
本文利用中國知網 CNKI 學術期刊資料庫,檢索 2000 年 1 月至 2012 年 3 月發表的有關雲計算研究的核心期刊文獻 852 篇(表 2)。我國對於雲計算的研究始於 2007 年,之前罕見相關研究。2008 ~2011 年,雲計算的研究開始引起廣泛關注,論文數量開始急劇上升,同時發表雲計算論文的期刊數量也同步快速增多,顯示出雲計算研究領域的廣泛性。由於只統計到 2012 年 4 月的部分數據,從表面看檢索到的 2012 年的成果不多,實際並未改變論文數量快速增加的趨勢。
表 2 雲計算論文發表時間分布表
對於檢索到的 852 篇論文,對其關鍵詞進行了計量分析,其中涉及關鍵詞 1376 個,累計出現頻次3020 次。按頻次從大到小排列,排在前十位的關鍵詞有:雲計算(645)、虛擬化(115)、圖書情報(115)、雲服務(94)、安全(65)、存儲(42)、物聯網(33)、MapRece(24)、檔案(20)、數據中心(13)等。從關鍵詞分析可以看出,雲計算的研究涉及基礎理論、關鍵技術、應用領域、信息資源管理等諸多方面,對於虛擬化、存儲、MapRece 等關鍵技術有較多論述;但整體來講,多數仍為綜述性、展望類的論文。就應用領域來講,圖書情報界對雲計算進行研究和借鑒的趨勢比較明顯[7],而地質資料界對雲計算的關注和應用研究仍較少。
4 雲計算與地質資料服務
4.1 地質資料數據與服務現狀
地質資料是國家重要的基礎資料。新中國成立以來,通過實行地質資料統一匯交制度,積累了大量的地質資料。我國現有全國性基礎地質與戰略性礦產地質數據資源 12 大類 50 余種資料庫,數據量達10TB 以上,涉及區域地質、礦產地質、水文—工程—環境地質、農業地質、海洋地質、基礎地質、地球化學、地球物理、地學科研、地質資料、遙感等領域[8]。
我國目前實行的是二級監管、三級保存的地質資料管理框架。由於條塊分割等原因,地質資料的共享與服務尚存在很大差距,突出表現在數字化程度低,信息孤島現象嚴重,地質資料不能及時、有效地滿足國家建設與社會需求。
2002 年,國務院頒布了《地質資料管理條例》,2003 年,國土資源部發布了《地質資料管理條例實施辦法》,地質資料的管理與共享服務得到了前所未有的重視。國土資源部又相繼推動地質資料匯交、地質資料委託保管、地質資料集群化、產業化服務等,地質資料的管理與服務開始出現一個新的局面。由於管理與服務模式的轉變是一個較長期的過程,地質資料工作的重要性仍未完全顯現,社會對地質、礦產等的關注度仍遠落後於「土地」「海洋」「氣象」,僅稍高於「測繪」(圖 4)。
4.2 雲計算是改變地質資料服務模式的契機
從雲計算的產生和發展過程來看,雲計算是在繼承和整合了虛擬化技術、海量數據存儲、分布式並行計算框架、智能化與自動管理等多項關鍵技術的基礎上,形成的具有高性能、可伸縮、低成本及面向服務的新的計算模式。雲計算正在推動著信息產業實現社會化、集約化、專業化的大轉型。
社會化:互聯網計算正成為社會基礎設施,建立集中的、各種各樣的雲計算中心實現規模化的社會服務,是當前發展的趨勢。
圖 4 地質等搜索量變化趨勢比較
集約化:歸並分散、粗放的軟體開發與應用,軟體模塊構件化,提高平台利用率,使計算資源以虛擬化組織和配置、彈性伸縮,通過軟體的重用和柔性重組,進行服務流程的優化與重構。
專業化:面向多租戶使服務更為精細、規范,並對服務透明使用,按需租用[9]。
地質資料服務及信息共享是一種典型的數據密集型計算服務,這恰與雲計算模式的基本特點相符合。因此,引入雲計算是推進地質資料信息服務集群化產業化的天然契機。從技術層面上來講,國家地質資料數據中心建設十分重要,建議規劃為提供完整 SPI(軟體即服務 SaaS、平台即服務 PaaS、基礎設施即服務 IaaS)服務的地質資料專業雲,全面涵蓋二級監管、三級保存及社會化服務,這種集中式的部署方式既降低了技術難度,也有利於提高投入和使用效率。其次,國家地質數據中心也可以規劃為「邏輯統一、物理分布」的三級數據中心體系,這種社區雲的部署方式符合我國地質資料行業現狀,組織實施均較為簡單。需要注意的是,無論哪種方式,統一的體系架構、成熟技術的採用、一致的標准和安全性都是需要重點考慮的問題。
5 結語
與網格計算相反,雲計算更多地經歷了從實踐到理論的過程,從研究者關注雲計算開始,其實已經大量出現雲計算的實例。我國在雲計算領域的基礎研究仍然落後,但圖書情報界對雲計算的跟蹤和應用卻十分突出,一些基於知識的服務已經達到專業化和產業化服務水平。相信雲計算模式的引入,將會極大地推動地質資料服務向集群化產業化方向轉型,以更好地實現地質資料和成果的全社會共享。
參 考 文 獻
[1] 維基網路.雲計算.http://zh.wikipedia.org/wiki/ 雲計算,2012.
[2]Peter Mell,Timothy Grance.The NIST Definition of Cloud Computing.NIST Special Publication 800 ~ 145,2011.
[3] 李德毅,林潤華,鄭緯民等.雲計算技術發展報告 [M[.北京:科學出版社,2011.
[4] 楊春霞,王聖潔,王春民.談計算模式的演變及其對海洋地質數據處理的影響 [J].海洋地質動態,2004,20(2):32 ~ 36.
[5]Fang Liu,Jin Tong,Jian Mao et al.NIST Cloud Computing Reference Architecture.NIST Special Publication 500 ~ 292,2011.
[6]Michael Armbrust,Armando Fox,Rean Griffith et al.Above the Clouds: A Berkeley View of Cloud Computing.http://www.eecs.berkeley.e/Pubs/TechRpts/2009/EECS-2009-28.pdf,2009.
[7] 張正祿.我國圖書情報界雲計算研究述評 [J].國家圖書館學刊,2010,(3):73 ~ 76.
[8] 國土資源部礦產資源儲量司.推進地質資料信息服務集群化產業化 [M].北京:地質出版社,2011.
[9] 李德毅.雲計算支撐信息服務社會化、集約化和專業化 [J].重慶郵電大學學報,2010,22(6):698 ~ 702.
『貳』 華為發布全球最快 AI 運算集群 Atlas900,會對 AI 領域帶來什麼變化
9月18日,華為發布一款重量級的產品——Atlas 900,這款產品匯聚了華為幾十年的技術沉澱,是當前全球最快的AI訓練集群,由數千顆升騰處理器組成。在衡量AI計算能力的金標准ResNet-50模型訓練中,Atlas 900隻用了59.8秒就完成了訓練,這比原來的世界記錄還快了10秒。

「ImageNet-1k 數據集」 包含 128 萬張圖片,精度為 75.9%,在同等精度下,其他兩家業界主流廠家測試成績分別是 70.2s 和 76.8s,Atlas 900 AI 訓練集群比第 2 名快 15%。胡厚昆表示:Atlas 900 的強大算力,可廣泛應用於科學研究和商業創新。比如天文探索、石油勘探等領域,都需要進行龐大的數據計算和處理,原來可能花費好幾個月的工作,現在交給 Atlas 900,就是幾秒鍾的事情。Atlas 900 集成的數千顆升騰處理器,正是前段時間正式商用的升騰 910。
『叄』 怎麼統計集群cpu利用率
能不能寫一個腳本,每台電腦統計本地最高的10個進程,加電腦編號寫入到某一台機子的某個公共文件里,最後一台機子根據這個文件統計出最終最高的10個進程.
『肆』 目前常用哪一性能衡量hpc集群浮點計算能力
高性能計算(High performance computing, 縮寫HPC) 指通常使用很多處理器(作為單個機器的一部分)或者某一集群中組織的幾台計算機(作為單個計 算資源操作)的計算系統和環境。
有許多類型的HPC 系統,其范圍從標准計算機的大型集群,到高度專用的硬體。大多數基於集群的HPC系統使用高性能網路互連,比如那些來自 InfiniBand 或 Myrinet 的網路互連。
基本的網路拓撲和組織可以使用一個簡單的匯流排拓撲,在性能很高的環境中,網狀網路系統在主機之間提供較短的潛伏期,所以可改善總體網路性能和傳輸速率!
『伍』 常用哪一性能指標衡量hpc集群浮點計算能力
高性能計算(High performance computing, 縮寫HPC) 指通常使用很多處理器(作為單個機器的一部分)或者某一集群中組織的幾台計算機(作為單個計 算資源操作)的計算系統和環境。
有許多類型的HPC 系統,其范圍從標准計算機的大型集群,到高度專用的硬體。大多數基於集群的HPC系統使用高性能網路互連,比如那些來自 InfiniBand 或 Myrinet 的網路互連。
基本的網路拓撲和組織可以使用一個簡單的匯流排拓撲,在性能很高的環境中,網狀網路系統在主機之間提供較短的潛伏期,所以可改善總體網路性能和傳輸速率
『陸』 HOIIFil與IPFS算力方舟兩者有什麼不同
Fellofil是技術輸出算力方舟全面運營,分工不同兩者合作共創雙贏
『柒』 spark集群中每個節點都有一個獨立資料庫,可以實現分布式統計計算嗎
[{icon:'extjs/examples/shared/icons/fam/cog_edit.png',//UseaURLintheiconconfigtooltip:'Edit',handler:function(grid,rowIndex,colIndex){varrec=grid.getStore().getAt(rowIndex);alert("Edit"+rec.get('firstname'));}},{icon:'extjs/examples/restful/images/delete.png',tooltip:'Delete',handler:function(grid,rowIndex,colIndex){varrec=grid.getStore().getAt(rowIndex);alert("Terminate"+rec.get('firstname'));}}]}],
『捌』 華為推出 AI 訓練集群 Atlas 900,是「放手」5G 轉戰計算平台了嗎
上海,初秋的疾風吹散夏日的悶熱,落地崩裂的銀杏給街道染上一絲濃烈的氣息,一瞬間讓人感覺像是到了北京。世博展館的會議室里,華為副董事長胡厚昆和公司雲計算以及 AI 平台負責人坐成一排,准備面對全球超過百家媒體記者的「拷問」。

過去 30 年,華為一直在做『聯接』,接下來則是計算。」華為公司副董事長胡厚昆在發布會開始時宣布。近年來,機器學習復甦了「冬眠」的人工智慧,同時將計算機,從規則計算進化到統計計算。之前的計算機是一個超級計算器,輸入方程得到答案;現在的計算機要做的是通過海量數據,訓練出機器感知,而在後者的時代,對算力提出了極為苛刻的要求,胡稱之為「暴力計算」。計算離不開處理器,在中美貿易摩擦的大背景下,處理器的自主研發顯得更重要。經過多年努力,華為旗下已經有鯤鵬、升騰、麒麟和鴻鵠分別針對通用計算、AI、智能終端和智慧屏四大系列產品。
『玖』 求集群管理的相關知識!
集群技術案例介紹和具體操作
集群技術案例介紹和具體操作
中國科學院西安網路中心 中科紅旗linux培訓認證中心
集群技術
1.1 什麼是集群
簡單的說,集群(cluster)就是一組計算機,它們作為一個整體向用戶提
供一組網路資源。這些單個的計算機系統就是集群的節點(node)。一個理想的
集群是,用戶從來不會意識到集群系統底層的節點,在他/她們看來,集群是一
個系統,而非多個計算機系統。並且集群系統的管理員可以隨意增加和刪改集群
系統的節點。
1.2 為什麼需要集群
集群並不是一個全新的概念,其實早在七十年代計算機廠商和研究機構就
開始了對集群系統的研究和開發。由於主要用於科學工程計算,所以這些系統並
不為大家所熟知。直到Linux集群的出現,集群的概念才得以廣為傳播。
對集群的研究起源於集群系統良好的性能可擴展性(scalability)。提高CPU
主頻和匯流排帶寬是最初提供計算機性能的主要手段。但是這一手段對系統性能的
提供是有限的。接著人們通過增加CPU個數和內存容量來提高性能,於是出現了
向量機,對稱多處理機(SMP)等。但是當CPU的個數超過某一閾值,象SMP這些
多處理機系統的可擴展性就變的極差。主要瓶頸在於CPU訪問內存的帶寬並不能
隨著CPU個數的增加而有效增長。與SMP相反,集群系統的性能隨著CPU個數的
增加幾乎是線性變化的。圖1顯示了這中情況。
圖1. 幾種計算機系統的可擴展性
對於關鍵業務,停機通常是災難性的。因為停機帶來的損失也是巨大的。下
面的統計數字列舉了不同類型企業應用系統停機所帶來的損失。
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
應用系統每分鍾損失(美元)
呼叫中心(Call Center) 27000
企業資源計劃(ERP)系統13000
供應鏈管理(SCM)系統11000
電子商務(eCommerce)系統10000
客戶服務(Customer Service Center)系統27000
圖2:停機給企業帶來的損失
隨著企業越來越依賴於信息技術,由於系統停機而帶來的損失也越拉越大。
集群系統的優點並不僅在於此。下面列舉了集群系統的主要優點:
高可擴展性:如上所述。
高可用性:集群中的一個節點失效,它的任務可傳遞給其他節點。可以有效防止單點失效。
高性能:負載平衡集群允許系統同時接入更多的用戶。
高性價比:可以採用廉價的符合工業標準的硬體構造高性能的系統。
2.1 集群系統的分類
雖然,根據集群系統的不同特徵可以有多種分類方法,但是一般把集群系統分為兩類:
(1)、高可用(High Availability)集群,簡稱HA集群。
這類集群致力於提供高度可靠的服務。就是利用集群系統的容錯性對外提供7*24小時不間
斷的服務,如高可用的文件伺服器、資料庫服務等關鍵應用。
目前已經有在Linux下的高可用集群,如Linux HA項目。
負載均衡集群:使任務可以在集群中盡可能平均地分攤不同的計算機進行處理,充分利
用集群的處理能力,提高對任務的處理效率。
在實際應用中這幾種集群類型可能會混合使用,以提供更加高效穩定的服務。如在一個使
用的網路流量負載均衡集群中,就會包含高可用的網路文件系統、高可用的網路服務。
(2)、性能計算(High Perfermance Computing)集群,簡稱HPC集群,也稱為科學計算
集群。
在這種集群上運行的是專門開發的並行應用程序,它可以把一個問題的數據分布到多
台的計算機上,利用這些計算機的共同資源來完成計算任務,從而可以解決單機不能勝任
的工作(如問題規模太大,單機計算速度太慢)。
這類集群致力於提供單個計算機所不能提供的強大的計算能力。如天氣預報、石油勘探與油
藏模擬、分子模擬、生物計算等。這些應用通常在並行通訊環境MPI、PVM等中開發,由於MPI
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
是目前的標准,故現在多使用MPI為並行環境。
比較有名的集群Beowulf就是一種科學計算集群項目。
3、集群系統轉發方式和調度演算法
3.1轉發方式
目前LVS主要有三種請求轉發方式和八種調度演算法。根據請求轉發方式的不同,所構
架集群的網路拓撲、安裝方式、性能表現也各不相同。用LVS主要可以架構三種形式的集群,
分別是LVS/NAT、LVS/TUN和LVS/DR,可以根據需要選擇其中一種。
(1)、網路地址轉換(LVS/NAT)
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
(2)、直接路由
(3)、IP隧道
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
三種轉發方式的比較:
3.2、調度演算法
在選定轉發方式的情況下,採用哪種調度演算法將決定整個負載均衡的性能表現,不同
的演算法適用於不同的應用場合,有時可能需要針對特殊場合,自行設計調度演算法。LVS的算
法是逐漸豐富起來的,最初LVS只提供4種調度演算法,後來發展到以下八種:
1.輪叫調度(Round Robin)
調度器通過「輪叫」調度演算法將外部請求按順序輪流分配到集群中的真實伺服器上,它均
等地對待每一台伺服器,而不管伺服器上實際的連接數和系統負載。
2.加權輪叫(Weighted Round Robin)
調度器通過「加權輪叫」調度演算法根據真實伺服器的不同處理能力來調度訪問請求。這樣
可以保證處理能力強的伺服器能處理更多的訪問流量。調度器可以自動詢問真實伺服器的
負載情況,並動態地調整其權值。
3.最少鏈接(Least Connections)
調度器通過「最少連接」調度演算法動態地將網路請求調度到已建立的鏈接數最少的伺服器
上。如果集群系統的真實伺服器具有相近的系統性能,採用「最小連接」調度演算法可以較
好地均衡負載。
4.加權最少鏈接(Weighted Least Connections)
在集群系統中的伺服器性能差異較大的情況下,調度器採用「加權最少鏈接」調度演算法優
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
化負載均衡性能,具有較高權值的伺服器將承受較大比例的活動連接負載。調度器可以自
動詢問真實伺服器的負載情況,並動態地調整其權值。
5.基於局部性的最少鏈接(Locality-Based Least Connections)
「基於局部性的最少鏈接」調度演算法是針對目標IP地址的負載均衡,目前主要用於Cache
集群系統。該演算法根據請求的目標IP地址找出該目標IP地址最近使用的伺服器,若該服務
器是可用的且沒有超載,將請求發送到該伺服器;若伺服器不存在,或者該伺服器超載且
有伺服器處於一半的工作負載,則用「最少鏈接」的原則選出一個可用的伺服器,將請求
發送到該伺服器。
6. 帶復制的基於局部性最少鏈接( Locality-Based Least Connections with
Replication)
「帶復制的基於局部性最少鏈接」調度演算法也是針對目標IP地址的負載均衡,目前主要
用於Cache集群系統。它與LBLC演算法的不同之處是它要維護從一個目標IP地址到一組服務
器的映射,而LBLC演算法維護從一個目標IP地址到一台伺服器的映射。該演算法根據請求的目
標IP地址找出該目標IP地址對應的伺服器組,按「最小連接」原則從伺服器組中選出一
台伺服器,若伺服器沒有超載,將請求發送到該伺服器;若伺服器超載,則按「最小連接
」原則從這個集群中選出一台伺服器,將該伺服器加入到伺服器組中,將請求發送到該服
務器。同時,當該伺服器組有一段時間沒有被修改,將最忙的伺服器從伺服器組中刪除,
以降低復制的程度。
7.目標地址散列(Destination Hashing)
「目標地址散列」調度演算法根據請求的目標IP地址,作為散列鍵(Hash Key)從靜態分
配的散列表找出對應的伺服器,若該伺服器是可用的且未超載,將請求發送到該伺服器,
否則返回空。
8.源地址散列(Source Hashing)
「源地址散列」調度演算法根據請求的源IP地址,作為散列鍵(Hash Key)從靜態分配的
散列表找出對應的伺服器,若該伺服器是可用的且未超載,將請求發送到該伺服器,否則
返回空。
了解這些演算法原理能夠在特定的應用場合選擇最適合的調度演算法,從而盡可能地保持
Real Server的最佳利用性。當然也可以自行開發演算法,不過這已超出本文范圍,請參考有
關演算法原理的資料。
4.1、什麼是高可用性
計算機系統的可用性(availability)是通過系統的可靠性(reliability)和可維護性
(maintainability)來度量的。工程上通常用平均無故障時間(MTTF)來度量系統的可靠性,
用平均維修時間(MTTR)來度量系統的可維護性。於是可用性被定義為:
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
MTTF/(MTTF+MTTR)*100%
業界根據可用性把計算機系統分為如下幾類:
可用比例
(Percent
Availability)
年停機時間
(downtime/year
)
可用性分類
99.5 3.7天
常規系統
(Conventional)
99.9 8.8小時可用系統(Available)
99.99 52.6分鍾
高可用系統(Highly
Available)
99.999 5.3分鍾Fault Resilient
99.9999 32秒Fault Tolerant
為了實現集群系統的高可用性,提高系統的高可性,需要在集群中建立冗餘機制。一個功
能全面的集群機構如下圖所示
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
負載均衡伺服器的高可用性
為了屏蔽負載均衡伺服器的失效,需要建立一個備份機。主伺服器和備份機上都運行
High Availability監控程序,通過傳送諸如「I am alive」這樣的信息來監控對方的運
行狀況。當備份機不能在一定的時間內收到這樣的信息時,它就接管主伺服器的服務IP並
繼續提供服務;當備份管理器又從主管理器收到「I am alive」這樣的信息是,它就釋放
服務IP地址,這樣的主管理器就開開始再次進行集群管理的工作了。為在住伺服器失效的
情況下系統能正常工作,我們在主、備份機之間實現負載集群系統配置信息的同步與備份,
保持二者系統的基本一致。
HA的容錯備援運作過程
自動偵測(Auto-Detect)階段 由主機上的軟體通過冗餘偵測線,經由復雜的監聽程序。邏
輯判斷,來相互偵測對方運行的情況,所檢查的項目有:
主機硬體(CPU和周邊)
主機網路
主機操作系統
資料庫引擎及其它應用程序
主機與磁碟陣列連線
為確保偵測的正確性,而防止錯誤的判斷,可設定安全偵測時間,包括偵測時間間隔,
偵測次數以調整安全系數,並且由主機的冗餘通信連線,將所匯集的訊息記錄下來,以供
維護參考。
自動切換(Auto-Switch)階段 某一主機如果確認對方故障,則正常主機除繼續進行原來的
任務,還將依據各種容錯備援模式接管預先設定的備援作業程序,並進行後續的程序及服
務。
自動恢復(Auto-Recovery)階段 在正常主機代替故障主機工作後,故障主機可離線進行修
復工作。在故障主機修復後,透過冗餘通訊線與原正常主機連線,自動切換回修復完成的
主機上。整個回復過程完成由EDI-HA自動完成,亦可依據預先配置,選擇回復動作為半自
動或不回復。
4.2、HA三種工作方式:
(1)、主從方式 (非對稱方式)
工作原理:主機工作,備機處於監控准備狀況;當主機宕機時,備機接管主機的一切工作,
待主機恢復正常後,按使用者的設定以自動或手動方式將服務切換到主機上運行,數據的
一致性通過共享存儲系統解決。
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
(2)、雙機雙工方式(互備互援)
工作原理:兩台主機同時運行各自的服務工作且相互監測情況,當任一台主機宕機時,另
一台主機立即接管它的一切工作,保證工作實時,應用服務系統的關鍵數據存放在共享存
儲系統中。
(3)、集群工作方式(多伺服器互備方式)
工作原理:多台主機一起工作,各自運行一個或幾個服務,各為服務定義一個或多個備用
主機,當某個主機故障時,運行在其上的服務就可以被其它主機接管。
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
相關文檔
http://tech.sina.com.cn/it/2004-04-09/1505346805.shtml
http://stonesoup.esd.ornl.gov
LINUX下的集群實列應用
最近有客戶需要一個負載均衡方案,筆者對各種軟硬體的負載均衡方案進行了調查和
比較,從IBM sServer Cluster、Sun Cluster PlatForm 等硬體集群,到中軟、紅旗、
TurboLinux的軟體集群,發現無論採用哪個廠商的負載均衡產品其價格都是該客戶目前所
不能接受的。於是筆者想到了開放源項目Linux Virtual Server(簡稱LVS)。經過對LVS的研
究和實驗,終於在Red Hat 9.0上用LVS成功地構架了一組負載均衡的集群系統。整個實
現過程整理收錄如下,供讀者參考。
選用的LVS實際上是一種Linux操作系統上基於IP層的負載均衡調度技術,它在操
作系統核心層上,將來自IP層的TCP/UDP請求均衡地轉移到不同的伺服器,從而將一組
伺服器構成一個高性能、高可用的虛擬伺服器。使用三台機器就可以用LVS實現最簡單的集
群,如圖1所示。
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
圖1 LVS實現集群系統結構簡圖
圖1顯示一台名為Director的機器在集群前端做負載分配工作;後端兩台機器稱之為
Real Server,專門負責處理Director分配來的外界請求。該集群的核心是前端的Director
機器,LVS就是安裝在這台機器上,它必須安裝Linux。Real Server則要根據其選用的負
載分配方式而定,通常Real Server上的設置比較少。接下來介紹Director機器上LVS的
安裝過程。
安裝
LVS的安裝主要是在Director機器上進行,Real Server只需針對不同的轉發方式做簡單
的設定即可。特別是對LVS的NAT方式,Real Server惟一要做的就是設一下預設的網關。
所以構架集群的第一步從安裝Director機器開始。
首先,要在Director機器上安裝一個Linux操作系統。雖然早期的一些Red Hat版本,
如6.2、7.2、8.0等自帶Red Hat自己的集群軟體,或者是在內核中已經支持LVS,但是為
了更清楚地了解LVS的機制,筆者還是選擇自行將LVS編入Linux內核的方式進行安裝,
Linux版本採用Red Hat 9.0。
如果用戶對Red Hat的安裝比較了解,可以選擇定製安裝,並只安裝必要的軟體包。
安裝中請選擇GRUB 做為啟動引導管理軟體。因為GRUB 在系統引導方面的功能遠比
LILO強大,在編譯Linux內核時可以體會它的方便之處。
LVS是在Linux內核中實現的,所以要對原有的Linux內核打上支持LVS的內核補丁,
然後重新編譯內核。支持LVS 的內核補丁可以從LVS 的官方網
http://www.linuxvirtualserver.org 下載,下載時請注意使用的Linux核心版本,必須下載和
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
使用的Linux內核版本相一致的LVS內核補丁才行。對於Red Hat 9.0,其Linux內核版本
是2.4.20,所以對應內核補丁應該是http://www.linuxvirtualserver.org/software/kernel-
2.4/linux-2.4.20-ipvs-1.0.9.patch.gz。筆者經過多次實驗,使用Red Hat 9.0自帶的Linux
源代碼無法成功編譯LVS 的相關模組。由於時間關系筆者沒有仔細研究,而是另外從
kernel.org上下載了一個tar包格式的2.4.20內核來進行安裝,順利完成所有編譯。下面是
整個內核的編譯過程:
1.刪除Red Hat自帶的Linux源代碼
# cd /usr/src
# rm -rf linux*
2.下載2.4.20內核
# cd /usr/src
# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2
3.解壓到當前目錄/usr/src
# cd /usr/src
# tar -xjpvf linux-2.4.20.tar.bz2
4.建立鏈接文件
# cd /usr/src # ln -s linux-2.4.20 linux-2.4 # ln -s linux-2.4.20 linux
5.打上LVS的內核補丁
# cd /usr/src
#wget http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-
1.0.9.patch.gz
# gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz
# cd /usr/src/linux
# patch -p1 < ../linux-2.4.20-ipvs-1.0.9.patch
在打補丁時,注意命令執行後的信息,不能有任何錯誤信息,否則核心或模組很可能
無法成功編譯。
6.打上修正ARP問題的內核補丁
# cd /usr/src
# wget http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff
# cd /usr/src/linux
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
# patch -p1 < ../hidden-2.4.20pre10-1.diff
這一步在Director機器上可以不做,但是在使用LVS/TUN和LVS/DR方式的Real Server
上必須做。
7.為新核心命名
打開/usr/src/linux/Makefile。注意,在開始部分有一個變數EXTRAVERSION可以自行定
義。修改這個變數,比如改成「EXTRAVERSION=-LVS」後,編譯出的核心版本號就會顯
示成2.4.20-LVS。這樣給出有含義的名稱將有助於管理多個Linux核心。
8.檢查源代碼
# make mrproper
這一步是為確保源代碼目錄下沒有不正確的.o文件及文件的互相依賴。因為是新下載的內
核,所以在第一次編譯時,這一步實際可以省略。
9.配置核心選項
# make menuconfig
命令執行後會進入一個圖形化的配置界面,可以通過這個友好的圖形界面對內核進行定製。
此過程中,要注意對硬體驅動的選擇。Linux支持豐富的硬體,但對於伺服器而言,用不到
的硬體驅動都可以刪除。另外,像Multimedia devices、Sound、Bluetooth support、Amateur
Radio support等項也可以刪除。
注意,以下幾項配置對LVS非常重要,請確保作出正確的選擇:
(1)Code maturity level options項
對此項只有以下一個子選項,請選中為*,即編譯到內核中去。
Prompt for development and/or incomplete code/drivers
(2)Networking options項
對此項的選擇可以參考以下的配置,如果不清楚含義可以查看幫助:
<*> Packet socket
[ ] Packet socket: mmapped IO
< > Netlink device emulation
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
Network packet filtering (replaces ipchains)
[ ] Network packet filtering debugging
Socket Filtering
<*> Unix domain sockets
TCP/IP networking
IP: multicasting
IP: advanced router
IP: policy routing
[ ] IP: use netfilter MARK value as routing key
[ ] IP: fast network address translation
<M> IP: tunneling
IP: broadcast GRE over IP
[ ] IP: multicast routing
[ ] IP: ARP daemon support (EXPERIMENTAL)
[ ] IP: TCP Explicit Congestion Notification support
[ ] IP: TCP syncookie support (disabled per default)
IP: Netfilter Configuration --->
IP: Virtual Server Configuration --->
(3)Networking options項中的IP: Virtual Server Configuration項
如果打好了LVS的內核補丁,就會出現此選項。進入Virtual Server Configuration選項,
有以下子選項:
<M> virtual server support (EXPERIMENTAL)
IP virtual server debugging
(12) IPVS connection table size (the Nth power of 2)
--- IPVS scheler
<M> round-robin scheling
<M> weighted round-robin scheling
<M> least-connection scheling scheling
<M> weighted least-connection scheling
<M> locality-based least-connection scheling
<M> locality-based least-connection with replication scheling
<M> destination hashing scheling
<M> source hashing scheling
<M> shortest expected delay scheling
<M> never queue scheling
--- IPVS application helper
<M> FTP protocol helper
以上所有項建議全部選擇。
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
(4)Networking options項中的IP: Netfilter Configuration項
對於2.4版本以上的Linux Kernel來說,iptables是取代早期ipfwadm和ipchains的
更好選擇,所以除非有特殊情況需要用到對ipchains和ipfwadm的支持,否則就不要選它。
本文在LVS/NAT方式中,使用的就是iptables,故這里不選擇對ipchains和ipfwadm的
支持:
< > ipchains (2.2-style) support
< > ipfwadm (2.0-style) support
10. 編譯內核
(1)檢查依賴關系
# make dep
確保關鍵文件在正確的路徑上。
(2)清除中間文件
# make clean
確保所有文件都處於最新的版本狀態下。
(3)編譯新核心
# make bzImage
(4)編譯模組
# make moles
編譯選擇的模組。
(5)安裝模組
# make moles_install
# depmod -a
生成模組間的依賴關系,以便modprobe定位。
(6)使用新模組
# cp System.map /boot/System.map-2.4.20-LVS
# rm /boot/System.map
# ln -s /boot/System.map-2.4.20-LVS /boot/System.map
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-LVS
# rm /boot/vmlinuz
# ln -s /boot/vmlinuz-2.4.20-LVS /boot/vmlinuz
# new-kernel-pkg --install --mkinitrd --depmod 2.4.20-LVS
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
(7)修改GRUB,以新的核心啟動
執行完new-kernel-pkg命令後,GRUB的設置文件/etc/grub.conf中已經增加了新核心的
啟動項,這正是開始安裝Linux時推薦使用GRUB做引導程序的原因。
grub.conf中新增內容如下:
title Red Hat Linux (2.4.20-LVS)
root (hd0,0)
kernel /boot/vmlinuz-2.4.20LVS ro root=LABEL=/
initrd /boot/initrd-2.4.20LVS.img
將Kernel項中的root=LABEL=/改成 root=/dev/sda1 (這里的/dev/sda1是筆者Linux的根
分區,讀者可根據自己的情況進行不同設置)。
保存修改後,重新啟動系統:
# reboot
系統啟動後,在GRUB的界面上會出現Red Hat Linux(2.4.20-LVS)項。這就是剛才編譯的
支持LVS的新核心,選擇此項啟動,看看啟動過程是否有錯誤發生。如果正常啟動,ipvs
將作為模塊載入。同時應該注意到,用LVS的內核啟動後在/proc目錄中新增了一些文件,
比如/proc/sys/net/ipv4/vs/*。
11.安裝IP虛擬伺服器軟體ipvsadm
用支持LVS的內核啟動後,即可安裝IP虛擬伺服器軟體ipvsadm了。用戶可以用tar包或
RPM 包安裝,tar 包可以從以下地址http://www.linuxvirtualserver.org/software/kernel-
2.4/ipvsadm-1.21.tar.gz 下載進行安裝。
這里採用源RPM包來進行安裝:
# wget http://www.linuxvirtualserver.org/software/kernel-2.4/ipvsadm-1.21-7.src.rpm
# rpmbuild --rebuild ipvsadm-1.21-7.src.rpm
# rpm -ivh /usr/src/redhat/RPMS/i386/ipvsadm-1.21-7.i386.rpm
注意:高版本的rpm命令去掉了--rebuild這個參數選項,但提供了一個rpmbuild命令來實
現它。這一點和以前在Red Hat 6.2中以rpm—rebuild XXX.src.rpm來安裝源RPM包的習
慣做法有所不同。
安裝完,執行ipvsadm命令,應該有類似如下的信息出現:
# ipvsadm
中科紅旗linux技術支持服務中心---西安站 http://linux.xab.ac.cn
中國科學院西安網路中心 中科紅旗linux培訓認證中心
IP Virtual Server version 1.0.9 (size=4096)
Prot LocalAddress:Port Scheler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
出現類似以上信息,表明支持LVS 的內核和配置工具ipvsadm 已完全安裝,這台
Director機器已經初步安裝完成,已具備構架各種方式的集群的條件。
實例
理解了上述關於請求轉發方式和調度演算法的基本概念後,就可以運用LVS來具體實現
幾種不同方式的負載均衡的集群系統。LVS的配置是通過前面所安裝的IP虛擬伺服器軟體
ipvsadm來實現的。ipvsadm與LVS的關系類似於iptables和NetFilter的關系,前者只是
一個建立和修改規則的工具,這些命令的作用在系統重新啟動後就消失了,所以應該將這
些命令寫到一個腳本里,然後讓它在系統啟動後自動執行。網上有不少配置LVS的工具,
有的甚至可以自動生成腳本。但是自己手工編寫有助於更深入地了解,所以本文的安裝沒
有利用其它第三方提供的腳本,而是純粹使用ipvsadm命令來配置。
下面就介紹一下如何配置LVS/NAT、LVS/TUN、LVS/DR方式的負載均衡集群。
1.設定LVS/NAT方式的負載均衡集群
NAT是指Network Address Translation,它的轉發流程是:Director機器收到外界請求,
改寫數據包的目標地址,按相應的調度演算法將其發送到相應Real Server上,Real Server
處理完該請求後,將結果數據包返回到其默認網關,即Director機器上,Dire
『拾』 華為發布全球最快AI運算集群Atlas900,會對AI領域帶來什麼變化
9月18日,上海,第四屆華為全聯接大會開幕,華為首次發布計算戰略,基於架構創新、投資全場景處理器族、有所為有所不為的商業策略、構建開放生態進行布局,計算產業新的大航海時代由此開啟。同時,華為重磅發布了全球最快AI訓練集群Atlas 900,加速科學研究與商業創新的智能化進程。

在計算的智能時代,我們認為有三個重要特徵。
第一個特徵,需要超強的算力。統計計算本身就是一種暴力計算,高度依賴於算力。舉個例子,為了讓計算機認識一隻貓,就需要數百萬圖片的訓練,這對算力的消耗是非常驚人的,面向自動駕駛、天文探索、氣象預測等更復雜場景,對算力的需求將會更大。
第二個特徵,計算和智能將會無處不在,而不僅僅是分布在中心側。從中心節點的暴力計算,到邊緣側的專業計算,如基因測序,以及端側的個性計算,如耳機、手機,一起構成了未來智能時代的計算形態。
第三個特徵,端邊雲之間需要高效的協同。中心側負責通用模型的計算,為端側的個性化計算和邊緣側的專業化計算,提供協同支撐。
