国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產業發展的先行者!
CAIAC 2025
2024
工業智能邊緣計算2024年會
2023年工業安全大會
OICT公益講堂
當前位置:首頁 >> 資訊 >> 行業資訊

資訊頻道

云計算及其關鍵技術
  • 點擊數:1560     發布時間:2010-12-19 16:03:00
  • 分享到:
云計算具有廣闊的發展前景,相關的各項關鍵技術也在迅速發展。
關鍵詞:

    云計算(CloudComputing)是一種新近提出的計算模式。是分布式計算(DistributedComputing)、并行計算(ParallelComputing)和網格計算(GridComputing)的發展。
  
    目前,亞馬遜、微軟、谷歌、IBM、英特爾等公司紛紛提出了“云計劃”。例如亞馬遜的AWS(AmazonWebServices)、IBM和谷歌聯合進行的“藍云”計劃等。這對云計算的商業價值給予了巨大的肯定。同時學術界也紛紛對云計算進行深層次的研究。例如谷歌同華盛頓大學以及清華大學合作,啟動云計算學術合作計劃(AcademicCloudComputingInitiative),推動云計算的普及,加緊對云計算的研究。卡內基梅隆大學等對數據密集型的超級計算(DataIntensiveSuperComputing,DISC)進行研究,本質上也是對云計算相關技術開展研究。
  
    IDC的調查顯示,未來五年云計算服務將急速增長,預期2012年市場規模可達420億美元。目前企業導入云計算已逐漸普及,并且有逐年成長趨勢。估計在2012年,企業投入在云計算服務的支出將占整體IT成本的25%,甚至在2013年提高至IT總支出的三分之一。
  
    由此可見,在各大公司以及學術界的共同推動下,云計算技術將會持續發展。云計算有著廣泛的應用前景。如表1所示。
  
    云計算在天文學、醫學等各個領域有著廣泛的應用前景。趨勢科技和瑞星等安全廠商紛紛提出了“安全云”計劃。如今,每天有2萬多種新的病毒和木馬產生,傳統的通過更新用戶病毒庫的防毒模式,受到了嚴峻的挑戰,該模式使用戶端的病毒庫過于龐大。趨勢科技和瑞星的“安全云”將病毒資料庫放在“云”端,與客戶端通過網絡相連,當“云”在網絡上發現不安全鏈接時,可以直接形成判斷,阻止其進入用戶機器,從根本上保護機器的安全。
  
    據趨勢科技大中華區執行總裁張偉欽介紹,趨勢科技已投入了大量資金,在全球數個地方建設了新型數據中心。同時,趨勢科技還花費了1000多萬美元,租借了34000多臺服務器,構建了一個服務遍及全球的“安全云”。目前趨勢科技已將公司中低端的部分產品線放到“云安全”計劃中,而高端的大部分產品線,仍在準備過程中。
  
    谷歌提供的Gmail、GoogleEarth、GoogleAnalytics等服務都基于其云計算服務器運行。谷歌基于云計算提供的翻譯服務具有現今最好的性能。對互聯網和美國人生活的一項研究顯示,大約70%的在線用戶使用以上“云計算”服務。
  
    1 云計算的定義
  
    目前,云計算沒有統一的定義,當前云計算的定義主要包括如下幾種。
  
    1)維基百科給云計算下的定義。云計算將IT相關的能力以服務的方式提供給用戶,允許用戶在不了解提供服務的技術、沒有相關知識以及設備操作能力的情況下,通過Internet獲取需要的服務。
  
    2)中國云計算網將云計算定義為:云計算是分布式計算(DistributedComputing)、并行計算(ParallelComputing)和網格計算(GridComputing)的發展,或者說是這些科學概念的商業實現。
  
    3)文獻[8]在綜合多個云計算的定義之后,給“云”下了如下定義。云是一個包含大量可用虛擬資源(例如硬件、開發平臺以及I/O服務)的資源池。這些虛擬資源可以根據不同的負載動態地重新配置,以達到更優化的資源利用率。這種資源池通常由基礎設施提供商按照服務等級協議(ServiceLevelAgreement,SLA)采用用時付費(Pay2Per2Use,PPU)的模式開發管理。
  
    對比上述定義,可以發現,文獻[6]和文獻[8]中給出的定義的相似之處在于它們都提到了云計算提供服務。文獻[6]中的定義主要從云計算用戶的角度給出定義,即用戶在不了解具體實現的情況下通過Internet獲取服務。文獻[7]從云計算的發展脈絡的角度給出定義,主要說明了云計算的歷史。文獻[8]給出的定義則是從云計算提供者的角度來給出定義,定義了云計算的后臺實現方式,以及管理模式。但是,這些定義都僅從一個方面定義云,并不完善。結合上述定義,可以總結出云計算的一些本質特征,即分布式的計算和存儲特性,高擴展性,用戶友好性,良好的管理性,用時付費等。
  
    云計算技術具有以下特點。
  
    1)云計算系統提供的是服務。服務的實現機制對用戶透明,用戶無需了解云計算的具體機制,就可以獲得需要的服務。
  
    2)用冗余方式提供可靠性。云計算系統由大量商用計算機組成集群向用戶提供數據處理服務。隨著計算機數量的增加,系統出現錯誤的概率大大增加。在沒有專用的硬件可靠性部件的支持下,采用軟件的方式,即數據冗余和分布式存儲來保證數據的可靠性。
  
    3)高可用性。通過集成海量存儲和高性能的計算能力,云能提供較高的服務質量。云計算系統可以自動檢測失效節點,并將失效節點排除,不影響系統的正常運行。
  
    4)高層次的編程模型。云計算系統提供高層次的編程模型。用戶通過簡單學習,就可以編寫自己的云計算程序,在“云”系統上執行,滿足自己的需求。現在云計算系統主要采用Map2Reduce模型。
  
    5)經濟性。組建一個采用大量的商業機組成的集群相對于同樣性能的超級計算機花費的資金要少很多。
  
    6)服務多樣性。用戶可以支付不同的費用,以獲得不同級別的服務等。為了更好地定義云計算,必須從云計算的服務使用者,服務提供者,組織方式,內部實現機制等方面同時定義。根據現有定義的不足,本文定義云計算為:“云計算是由網格計算發展而來的,前臺采用用時付費的方式通過Internet向用戶提供服務。
  
    云系統后臺由大量的集群使用虛擬機的方式,通過高速互聯網絡互連,組成大型的虛擬資源池。這些虛擬資源可自主管理和配置。用數據冗余的方式保證虛擬資源的高可用性。并具有分布式存儲和計算、高擴展性、高可用性、用戶友好性等特征。”
  
    2 云計算的關鍵技術
  
    云計算是一種新型的超級計算方式,以數據為中心,是一種數據密集型的超級計算。在數據存儲、數據管理、編程模式等多方面具有自身獨特的技術。同時涉及了眾多其他技術,如表2所示。本章主要介紹云計算特有的技術,包括數據存儲技術,數據管理技術,編程模式等。其他相關技術請閱讀給出的參考文獻。
  
    2.1 數據存儲技術

    為保證高可用、高可靠和經濟性,云計算采用分布式存儲的方式來存儲數據,采用冗余存儲的方式來保證存儲數據的可靠性,即為同一份數據存儲多個副本。另外,云計算系統需要同時滿足大量用戶的需求,并行地為大量用戶提供服務。因此,云計算的數據存儲技術必須具有高吞吐率和高傳輸率的特點。云計算的數據存儲技術主要有谷歌的非開源的GFS(GoogleFileSystem)和Hadoop開發團隊開發的GFS的開源實現HDFS(HadoopDistributedFileSystem)。
  
    大部分IT廠商,包括雅虎、英特爾的“云”計劃采用的都是HDFS的數據存儲技術。云計算的數據存儲技術未來的發展將集中在超大規模的數據存儲、數據加密和安全性保證以及繼續提高I/O速率等方面。
  
    以GFS為例,GFS是一個管理大型分布式數據密集型計算的可擴展的分布式文件系統。它使用廉價的商用硬件搭建系統并向大量用戶提供容錯的高性能的服務。
  
    GFS和普通的分布式文件系統有以下區別,如表3所示。GFS系統由一個Master和大量塊服務器構成。Master存放文件系統的所有元數據,包括名字空間、存取控制、文件分塊信息、文件塊的位置信息等。GFS中的文件切分為64MB的塊進行存儲。在GFS文件系統中,采用冗余存儲的方式來保證數據的可靠性。每份數據在系統中保存3個以上的備份。為了保證數據的一致性,對于數據的所有修改需要在所有的備份上進行,并用版本號的方式來確保所有備份處于一致的狀態。客戶端不通過Master讀取數據,避免了大量讀操作使Master成為系統瓶頸。
  
    客戶端從Master獲取目標數據塊的位置信息后,直接和塊服務器交互進行讀操作。GFS的寫操作將寫操作控制信號和數據流分開,如圖1所示。即客戶端在獲取Master的寫授權后,將數據傳輸給所有的數據副本,在所有的數據副本都收到修改的數據后,客戶端才發出寫請求控制信號。在所有的數據副本更新完數據后,由主副本向客戶端發出寫操作完成控制信號。具體請見文獻[17]。當然,云計算的數據存儲技術并不僅僅只是GFS,其他IT廠商,包括微軟、Hadoop開發團隊也在開發相應的數據管理工具。本質上是一種分布式的數據存儲技術,以及與之相關的虛擬化技術,對上層屏蔽具體的物理存儲器的位置、信息等。快速的數據定位、數據安全性、數據可靠性以及底層設備內存儲數據量的均衡等方面都需要繼續研究完善。
  
    2.2 數據管理技術
  
    云計算系統對大數據集進行處理、分析向用戶提供高效的服務。因此,數據管理技術必須能夠高效地管理大數據集。其次,如何在規模巨大的數據中找到特定的數據,也是云計算數據管理技術所必須解決的問題。云計算的特點是對海量的數據存儲、讀取后進行大量的分析,數據的讀操作頻率遠大于數據的更新頻率,云中的數據管理是一種讀優化的數據管理。因此,云系統的數據管理往往采用數據庫領域中列存儲的數據管理模式。將表按列劃分后存儲。
  
    云計算的數據管理技術中最著名的是谷歌在文獻[11]提出的BigTable數據管理技術。由于采用列存儲的方式管理數據,如何提高數據的更新速率以及進一步提高隨機讀速率是未來的數據管理技術必須解決的問題。
  
    以BigTable為例。BigTable數據管理方式設計者———Google給出了如下定義:“BigTable是一種為了管理結構化數據而設計的分布式存儲系統,這些數據可以擴展到非常大的規模,例如在數千臺商用服務器上的達到PB(Petabytes)規模的數據。”BigTable對數據讀操作進行優化,采用列存儲的方式,提高數據讀取效率。
  
    BigTable管理的數據的存儲結構為:<row:string,column:string,time:int64>->string。BigTable的基本元素是:行,列,記錄板和時間戳。其中,記錄板是一段行的集合體。如圖2所示。BigTable中的數據項按照行關鍵字的字典序排列,每行動態地劃分到記錄板中。每個節點管理大約100個記錄板。時間戳是一個64位的整數,表示數據的不同版本。列族是若干列的集合,BigTable中的存取權限控制在列族的粒度進行。BigTable在執行時需要三個主要的組件:鏈接到每個客戶端的庫,一個主服務器,多個記錄板服務器。主服務器用于分配記錄板到記錄板服務器以及負載平衡,垃圾回收等。記錄板服務器用于直接管理一組記錄板,處理讀寫請求等。為保證數據結構的高可擴展性,BigTable采用三級的層次化的方式來存儲位置信息,如圖3所示。
  
    其中第一級的Chubbyfile中包含RootTablet的位置,RootTablet有且僅有一個,包含所有METADATAtablets的位置信息,每個METADATAtablets包含許多UserTable的位置信息。圖當客戶端讀取數據時,首先從Chubbyfile中獲取RootTablet的位置,并從中讀取相應METADATAtablet的位置信息。接著從該METADATAtablet中讀取包含目標數據位置信息的UserTable的位置,然后從該UserTable中讀取目標數據的位置信息項。據此信息到服務器中特定位置讀取數據。具體見文獻[11]。
  
    這種數據管理技術雖然已經投入使用,但是仍然具有部分缺點。例如,對類似數據庫中的Join操作效率太低,表內數據如何切分存儲,數據類型限定為string類型過于簡單等。而微軟的DryadLINQ系統則將操作的對象封裝為.NET類,這樣有利于對數據進行各種操作,同時對Join進行了優化,得到了比BigTable+MapReduce更快的Join速率和更易用的數據操作方式。
  
    2.3 編程模型
  
    為了使用戶能更輕松地享受云計算帶來的服務,讓用戶能利用該編程模型編寫簡單的程序來實現特定的目的,云計算上的編程模型必須十分簡單。必須保證后臺復雜的并行執行和任務調度向用戶和編程人員透明。云計算大部分采用Map2Reduce的編程模式。現在大部分IT廠商提出的“云”計劃中采用的編程模型,都是基于Map2Reduce的思想開發的編程工具。Map2Reduce不僅僅是一種編程模型,同時也是一種高效的任務調度模型。Map2Reduce這種編程模型并不僅適用于云計算,在多核和多處理器、cellprocessor以及異構機群上同樣有良好的性能。該編程模式僅適用于編寫任務內部松耦合、能夠高度并行化的程序。
  
    如何改進該編程模式,使程序員得能夠輕松地編寫緊耦合的程序,運行時能高效地調度和執行任務,是Map2Reduce編程模型未來的發展方向。Map2Reduce是一種處理和產生大規模數據集的編程模型,程序員在Map函數中指定對各分塊數據的處理過程,在Reduce函數中指定如何對分塊數據處理的中間結果進行歸約。用戶只需要指定map和reduce函數來編寫分布式的并行程序。當在集群上運行Map2Reduce程序時,程序員不需要關心如何將輸入的數據分塊、分配和調度,同時系統還將處理集群內節點失敗以及節點間通信的管理等。圖4給出了一個Map2Reduce程序的具體執行過程。
  
    從圖4可以看出,執行一個Map2Reduce程序需要五個步驟:輸入文件、將文件分配給多個worker并行地執行、寫中間文件(本地寫)、多個Reduceworkers同時運行、輸出最終結果。本地寫中間文件在減少了對網絡帶寬的壓力同時減少了寫中間文件的時間耗費。執行Reduce時,根據從Master獲得的中間文件位置信息,Reduce使用遠程過程調用,從中間文件所在節點讀取所需的數據。Map2Reduce模型具有很強的容錯性,當worker節點出現錯誤時,只需要將該worker節點屏蔽在系統外等待修復,并將該worker上執行的程序遷移到其他worker上重新執行,同時將該遷移信息通過Master發送給需要該節點處理結果的節點。
  
    Map2Reduce使用檢查點的方式來處理Master出錯失敗的問題,當Master出現錯誤時,可以根據最近的一個檢查點重新選擇一個節點作為Master并由此檢查點位置繼續運行。具體請見文獻[12]。Map2Reduce僅為編程模式的一種,微軟提出的DryadLINQ是另外一種并行編程模式。但它局限于.NET的LINQ系統同時并不開源,限制了它的發展前景。Map2Reduce作為一種較為流行的云計算編程模型,在云計算系統中應用廣闊。但是基于它的開發工具Hadoop并不完善。特別是其調度算法過于簡單,判斷需要進行推測執行的任務的算法造成過多任務需要推測執行,降低了整個系統的性能。改進Map2Reduce的開發工具,包括任務調度器、底層數據存儲系統、輸入數據切分、監控“云”系統等方面是將來一段時間的主要發展方向。另外,將Map2Reduce的思想運用在云計算以外的其他方面也是一個流行的研究方向。
  
    3 云計算和其他超級計算的區別

    3.1 云計算與網格計算的區別
  
    IanFoster將網格定義為:支持在動態變化的分布式虛擬組織(VirtualOrganizations)間共享資源,協同解決問題的系統。所謂虛擬組織就是一些個人、組織或資源的動態組合。圖5和圖6分別為云及網格的結構示意圖。圖5顯示,云計算是一種生產者—消費者模型,云計算系統采用以太網等快速網絡將若干集群連接在一起,用戶通過因特網獲取云計算系統提供的各種數據處理服務。圖6顯示,網格系統是一種資源共享模型,資源提供者亦可以成為資源消費者,網格側重研究的是如何將分散的資源組合成動態虛擬組織。主要區別如表4所示。
  
    云計算和網格計算的一個重要區別在于資源調度模式。云計算采用集群來存儲和管理數據資源,運行的任務以數據為中心。即調度計算任務到數據存儲節點運行。而網格計算,則以計算為中心。計算資源和存儲資源分布在因特網的各個角落,不強調任務所需的計算和存儲資源同處一地。由于網絡帶寬的限制,網格計算中的數據傳輸時間占總運行時間的很大一部分。網格將數據和計算資源虛擬化,而云計算則進一步將硬件資源虛擬化,活用虛擬機技術,對失敗任務重新執行,而不必重啟任務。同時,網格內各節點采用統一的操作系統(大部分為UNIX),而云計算放寬了條件,在各種操作系統的虛擬機上提供各種服務。和網格的復雜管理方式不同,云計算提供一種簡單易用的管理環境。另外,網格和云在付費方式上有著顯著的不同。網格按照固定的資費標準收費或者若干組織之間共享空閑資源。而云則采用用時付費以及服務等級協議的模式收費。其他區別不再贅述。
  
    3.2 云計算系統與傳統超級計算機的區別
  
    超級計算機擁有強大的處理能力,特別是計算能力。2008年11月17日,最新一期的Top500[30]榜單發布。冠軍“RoadRunner”是IBM為美國LosAlamos國家實驗室建造的計算機系統。它的運算速度達到了1.026PFLOTP。RoadRuner超級計算機包含12960個IBMPowerXcell8i處理器以及6948個分布于刀片服務器上的AMDOpteron芯片。刀片服務器安裝在288個IBMBladCener機架上。RoadRuner擁有80TB的內存,外存使用1.5PB容量的Panasas存儲,外存通過10GbTP的以太網進行連接。耗資超過1億美元。從TOP500對超級計算機的排名方式可以看出,傳統的超級計算機注重運算速度和任務的吞吐率。以運算速度為核心進行計算機的研究和開發。而云計算則以數據為中心,同時兼顧系統的運算速度。傳統的超級計算機耗資巨大,遠超云計算系統。例如,趨勢科技花費1000多萬美元租用34000多臺服務器,構建自身的“安全云”系統。
  
    4 結語
  
    云計算具有廣闊的發展前景,相關的各項關鍵技術也在迅速發展。首先,當前的云計算系統的能耗過大,因此,減少能耗,提高能源的使用效率,建造高效的冷卻系統是當前面臨的一個主要問題。例如,谷歌的數據中心的能耗相當于一個小型城市的總能耗。因為,過大的能耗使得數據中心內發熱量劇增,要保證云計算系統的正常運行,必須使用高效的冷卻系統來保持數據中心在可接受的溫度范圍內。其次,云計算對面向市場的資源管理方式的支持有限。可以加強相應的服務等級協議,使用戶和服務提供者能更好的協商提供的服務質量。另外,需要對云計算的接口進行標準化并且制定交互協議。這樣可以支持不同云計算服務提供者之間進行交互,相互合作提供更加強大和更好的服務。再者,需要開發出更易用的編程環境和編程工具,這樣可以更加方便地創建云計算應用,拓展云計算的應用領域。最后,雖然云計算還有很多問題需要解決,但是云計算必將得到更大的發展。

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 99热久久国产精品这| 国内久久久| 亚洲 自拍 欧美 综合| www.av在线视频| 久久99国产精品| 成人在线免费观看网站| 亚州黄色网址| 欧美一级爱操视频| 九九99久久精品国产| 久久久久亚洲精品中文字幕| 国产精品视频成人| 国产午夜精品免费一二区| 久草免费在线| 国内自产拍自a免费毛片| 91.久久| 韩国本免费一级毛片免费| 高清性色生活片久久久| 视频一区免费| 欧美专区一区| 毛片视频网址| 久久夜色精品国产亚洲| 亚洲一区二区精品| 性感美女一级片| 国产日韩一区二区三区在线播放| 久久久久国产一级毛片高清片| 玖玖99视频| 韩日一级毛片| 国产精品午夜性视频网站| 亚洲成人精品| 97视频在线免费观看| 性欧美美国级毛片| 免费一级特黄欧美大片勹久久网 | 在线观看 一区| 亚洲成年www| 97免费视频在线观看| 久久福利资源站免费观看i| 亚洲一区高清| 欧美性精品hd在线观看| 亚洲欧美另类自拍第一页| 欧美一级黄视频| 九九精品在线观看|