




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嫵媚人生主要內容嫵媚人生嫵媚人生什么是云計算?CloudComputing,UtilityComputing,ServiceComputing……通過集中式遠程計算資源池,以按需分配方式,為終端用戶提供強大而廉價的計算效勞能力工業化部署、商業化運作的大規模計算能力一種新的、可商業化的計算和效勞模式計算能力像水電煤氣一樣,按需分配使用資源池物理上對用戶透明就像在云端一樣嫵媚人生云計算的主要特點嫵媚人生云計算的分類按云計算效勞層面進行分類SaaS:SoftwareasaService提供各種應用軟件效勞PaaS:PlatformasaService提供軟件支撐平臺效勞IaaS:InfrastructureasaService提供接近于裸機(物理機或虛擬機)的計算資源和根底設施效勞嫵媚人生云計算硬件平臺云計算的分類云計算軟件支撐平臺云計算應用效勞軟件SaaS如騰訊云詞典PaaS如GoogleAppEngIaaS如AmazonEC2云計算應用按云計算效勞層面進行分類嫵媚人生云計算的分類云計算的分類按云計算系統類型進行分類社區云:提供面向社團組織內用戶使用的云計算平臺如美國航天局(NASA)Nebula云平臺為NASA內的研究人員提供快速的IT訪問效勞混合云:包含以上2種以上云計算類型的混合式云平臺嫵媚人生云計算開展背景嫵媚人生云計算開展背景
集中分散集中60-70’s:大型機(mainframe),
集中式、終端用戶共享80-90’s:個人計算機,人手一臺95-06:互聯網/網格/集群
07-現在:云計算“天下大勢,合久必分,分久必合〞“否認之否認,螺旋式上升〞云計算開展背景應用需求背景大粒度應用系統的規模越來越大應用系統數據量越來越大中國移動全國每天的短信通聯記錄數據到達500TB;而中國移動一個流量最大的省每天的通聯記錄數據可到達65TB阿里巴巴電子商務平臺日處理數據量將到達500TB百度存儲100-1000PB數據,每日處理10-100PB;存儲1千-1萬億網頁,索引100-1000億網頁2021年eBays數據倉庫,一個有2PB用戶數據,另一個6.5PB用戶數據包含170TB記錄且每天增長150GB個記錄Facebook:2.5PB用戶數據,每天增加15TB僅2021年,全世界產生1.8ZB〔1.8萬億GB〕數據,相當于每位美國人每分鐘寫3條Twitter,不停地寫2.7萬年YouTube每分鐘有13h視頻上傳,每天數據10TB相當于好萊塢每周發行57000部電影 云計算開展背景應用需求背景大粒度應用系統的規模越來越大超大的計算量和計算復雜度用SGI工作站進行電影渲染時,每幀一般需要1~2小時一部2小時的電影渲染需要: 2小時x3600秒x24幀x(1~2小時)/24小時=20~40年!特殊場景每幀可能需要60個小時(影片“星艦騎兵〞中數千只蜘蛛爬行的場面),用橫向4096象素分辨率進行渲染時,如果以每幀60個小時的速度,那么1秒的放映量〔24幀〕需要60天的渲染時間,1分鐘那么需要100年!云計算開展背景應用需求背景小粒度應用系統資源重復、無法共享企業內大量的小粒度應用系統需要添置獨立的硬件資源,但忙閑不均,忙時資源不夠,閑時資源空置,資源無法相互調配和共享,造成資源和資金浪費淘寶網案例:后臺設置約15萬臺效勞器,效勞于不同的應用系統;而不同應用系統的負載不同,忙閑不均;據淘寶測算,如能在不同應用間合理調配計算資源,大約可省去2/3約10萬臺效勞器,以每臺3萬元計算,約可節省30億元!云計算開展背景嫵媚人生Intel微處理器每秒1千8百億次浮點運算!近20年性能提高3千多倍不斷追求計算性能提升巨型機:中國天河一號,2021年底世界TOP500強第1名
每秒2千5百多萬億次浮點運算,近20年性能提高3千多倍億億千萬億百萬億十萬億萬億千億百億十億億TOP500系統體系結構演化向量機=>SMP=>MPP=>ClusterCluster以高獲得性、高可擴展性優勢成為開展主流
不斷追求方便性和靈活性云計算開展背景嫵媚人生云計算開展背景嫵媚人生云計算開展背景“Thecomputationandthedataandsoforthareintheservers.…Wecallitcloudcomputing.”(ErickSchmidt,2006)“computationmaysomedaybeorganizedasapublicutility”(JohnMcCarthy,1960)“云計算〞的概念在2006年由Google公司正式提出但最初的思想雛形可追溯到更早的時間嫵媚人生云計算開展背景云計算開展意義云計算出現的意義,可與20世紀電力工業的變革相比20世紀初私有電廠向公共電力效勞轉化過程1900:美國有5萬多個私有小型電廠,3千6百個中心電站1907:40%并入了公共電力效勞系統1920:70%并入了公共電力效勞系統1930:80%~90%并入了公共電力效勞系統嫵媚人生云計算開展背景云計算開展意義云計算的一個重要目標是,把計算能力變成像水電等公用效勞一樣,隨用隨取,按需使用。故此也有人把云計算稱為“UtilityComputing〞這里Utility不是效用、實用的意思,在英文里Utility有一個專門的含義,專指類似于水電煤氣的公用效勞,故UtilityComputing應譯為“公用效勞計算〞嫵媚人生云計算開展背景云計算開展意義2021年2月8日美國奧巴馬總統簽署了聯邦云計算戰略報告,制定該報告的目的:TheFederalGovernment’scurrentInformationTechnology(IT)environmentischaracterizedbylowassetutilization,afragmenteddemandforresources,duplicativesystems,environmentswhicharedifficulttomanage,andlongprocurementleadtimes.TheseinefficienciesnegativelyimpacttheFederalGovernment’sabilitytoservetheAmericanpublic.Cloudcomputinghasthepotentialtoplayamajorpartinaddressingtheseinefficienciesandimprovinggovernmentservicedelivery.Thecloudcomputingmodelcansignificantlyhelpagenciesgrapplingwiththeneedtoprovidehighlyreliable,innovativeservicesquicklydespiteresourceconstraints.美國聯邦政府部門方案用全部的800億美元IT預算中的200億作為云計算平臺開發建設的費用。美國聯邦云計算戰略報告,2021/2/8云計算開展背景云計算開展意義美國聯邦云計算戰略報告認為:CloudisafundamentalshiftinITCloudcomputingenablesITsystemstobescalableandelastic.Endusersdonotneedtodeterminetheirexactcomputingresourcerequirementsupfront.Instead,theyprovisioncomputingresourcesasrequired,on-demand.Usingcloudcomputingservices,aFederalagencydoesnotneedtoowndatacenterinfrastructuretolaunchacapabilitythatservesmillionsofusersCloudcomputingcansignificantlyimprovepublicsectorITAnumberofgovernmentagenciesareadoptingcloudtechnologiesandarerealizingconsiderablebenefits.Forinstance,NASANebula,throughacommunitycloud,givesresearchersaccesstoITservicesrelativelyinexpensivelyinminutes.Priortoadoptingthisapproach,itwouldtakeresearchersmonthstoprocureandconfigurecomparableITresourcesandsignificantmanagementoversighttomonitorandupgradesystems.ApplyingcloudtechnologiesacrosstheentireFederalGovernmentcanyieldtremendousbenefitsinefficiency,agility,andinnovation.嫵媚人生云計算開展現狀與趨勢嫵媚人生GoogleCloudInfrastructureSchedulerChubbyGFSmasterNodeNodeNode…UserGoogleAppEngineSchedulerslaveGFSLinuxNodeMapReduceFrameworkBigTableServerGoogleCloudInfrastructure
(GoogleAppEngine,PaaS型公用云平臺)GoogleAppEngine提供了一種PaaS類型的云計算效勞平臺,用戶可租用該平臺的計算資源,并使用AppEngine提供的各種應用開發和支撐軟件平臺開發和部署自己的應用軟件S3EBSEC2EBSEC2EBSEC2EBSEC2SimpleDBSQSUserDeveloperAmazonElasticComputingCloud
(AmazonEC2,IaaS型公用云平臺)SQS:SimpleQueueServiceEC2:RunningInstanceofVirtualMachinesEBS:ElasticBlockService,ProvidingtheBlockInterface,StoringVirtualMachineImagesS3:SimpleStorageService,SOAP,ObjectInterfaceSimpleDB:SimplifiedDatabaseAmazonEC2提供了一種IaaS類型的云計算效勞平臺,在該平臺上用戶可部署自己的系統軟件,完成應用軟件的開發和發布。租用案例2007年,美國紐約時報租用Amazon云計算平臺,用于將1851-1922年紐約時報的1100萬篇報刊文章轉換為PDF文件,供讀者上網免費訪問。共租用了100個EC2節點,運行了24小時,處理了4TB的報刊原始掃描圖像,生成了1.5TB的PDF文件。每節點每小時費用為10美分,整個計算任務僅花費了240美元(100節點x24小時x$0.10)!如果用自己的效勞器,將需要數月和多得多的費用!AmazonElasticComputingCloud嫵媚人生MicrosoftCloudServices
(WindowAzure,私有云平臺管理和效勞軟件)
Azure?ServicesPlatformMicrosoftSharePointServicesMicrosoftDynamicsCRMServicesIBM云計算方案
(私有云計算平臺管理和效勞軟件)提供私有云計算資源管理軟件平臺,主要負責管理和調度虛擬計算資源,完成資源申請、調度和管理等整個生命周期管理云計算開展現狀與趨勢嫵媚人生中國移動BigCloud云計算開展現狀目標是建立可為中國移動企業內部進行海量通信數據存儲和處理的使用的私有云平臺,以及為社會群眾和群體使用的公有云平臺。大規模低本錢數據中心的訂制化硬件設計分布式文件系統結構化數據存儲非結構化數據存儲分布式計算資源管理大規模離線數據處理在線效勞綜合監控計費系統平安高可靠保障機制云計算編程模型與訪問接口商品交易平臺軟件效勞平臺數據效勞平臺企業IT效勞統一的資源調度效勞阿里巴巴電子交易云計算平臺云計算開展現狀與趨勢云計算開展現狀與趨勢嫵媚人生云計算開展現狀與趨勢云計算開展趨勢面向民生工程的政企應用將是云計算的潛在市場,并能帶動產業整體開展未來3年,云計算應用將以政府、電信、教育、醫療、金融、石油石化和電力等行業為重點,在中國市場逐步被越來越多的企業和機構采用,市場規模將從2021年的92.23億元增長到2021年的606.78億元,年復合增長率達87.4%〔來源:賽迪參謀中國云計算產業開展白皮書〕嫵媚人生嫵媚人生怎樣才算是云計算?云計算概念很熱,各級政府部門、很多行業和應用都想搞云計算。大家很熱議的問題是:云計算與傳統計算系統有什么區別?系統做成什么樣才能稱得上是云計算系統?嫵媚人生怎樣才算是云計算?因此,個人認為:一個計算系統必須具備以下兩個特征才能算是云計算系統〔至少具備第一個特征〕:資源虛擬化和彈性調度基于虛擬化和彈性調度,以按需分配方式,為小粒度應用提供計算資源,實現資源共享大規模并行計算效勞基于云端的強大而廉價的計算能力,為大粒度應用提供傳統計算系統或用戶終端所無法完成的計算效勞。這些計算能力包括海量數據存儲能力、以及大規模并行計算能力。嫵媚人生嫵媚人生據預計:未來10年,數據量將從數百EB增長到數百ZB量級!GoogleMapReduceGoogle在2004年提出的一種通用的大規模數據并行計算平臺和編程模型和框架MapReduce創造后,Google大量用于各種海量數據處理,目前Google內部有7千以上的程序基于MapReduce實現,包括其搜索引擎的全部索引處理什么是MapReduce?MapReduce三個層面的含義基于集群的高性能并行計算平臺(ClusterInfrastructure)允許用市場上的普通效勞器,構成一個包含數百到數千個節點的分布式并行計算集群并行程序開發與運行框架(SoftwareFramework)提供了一個龐大但設計精良的并行計算軟件構架,能自動完成計算任務的并行化處理,自動劃分計算數據和計算任務,在集群節點上自動分配和執行子任務以及收集計算結果,將數據分布存儲、數據通信、容錯處理等并行計算中的很多復雜細節交由系統負責處理,大大減少了軟件開發人員的負擔并行程序設計模型與方法(ProgrammingModel&Methodology)借助于函數式語言中的設計思想,提供了一種簡便的并行程序設計方法,用Map和Reduce兩個函數編程實現根本的并行計算任務,提供了完整的并行編程接口,完成大規模數據處理典型的流式大數據處理問題的特征大量數據記錄/元素進行重復處理對每個數據記錄/元素作感興趣的處理、獲取感興趣的中間結果信息排序和整理中間結果以利后續處理收集整理中間結果產生最終結果輸出MapReduce關鍵思想:借助于Lisp函數式程序設計思想,為大數據處理過程中的兩個主要處理操作提供一種抽象機制MapReduce的根本設計思想MapReduce的根本設計思想MapReduce三個層面上的根本設計思想如何對付大數據處理:分而治之 對相互間不具有計算依賴關系的大數據,實現并行最自然的方法就是采取分而治之的策略上升到抽象模型:Mapper與Reducer MapReduce借鑒了Lisp函數式語言中的思想,用Map和Reduce兩個函數提供了高層的并行編程抽象模型,程序員只需描述需要“做什么〞(whattodo),不需要關心具體“怎么做〞〔Howtodo)上升到統一構架:為程序員隱藏系統層細節對于具體的“怎么做〞的問題,MapReduce提供了一個統一的計算框架,為程序員隱藏了數據存儲訪問、數據塊劃分、計算節點調度管理、數據通信、結果收集、容錯處理、負載均衡、性能優化等諸多低層細節,交由系統負責處理,因而大大減輕了程序員進行并行編程時的負擔MapReduce的根本設計思想大數據任務劃分和并行計算模型大數據計算任務子任務子任務子任務子任務……任務劃分計算結果結果合并Map和Reduce操作的抽象描述MapReduce借鑒了函數式程序設計語言Lisp中的思想,定義了如下的Map和Reduce兩個抽象的編程接口,由用戶去編程實現:map:(k1;v1)[(k2;v2)]輸入:鍵值對(k1;v1)表示的數據處理:文檔數據記錄(如文本文件中的行,或數據表格中的行)將以“鍵值對〞形式傳入map函數;map函數將處理這些鍵值對,并以另一種鍵值對形式輸出處理的一組鍵值對中間結果[(k2;v2)]輸出:鍵值對[(k2;v2)]表示的一組中間數據MapReduce的根本設計思想嫵媚人生MapReduce的根本設計思想Map和Reduce操作的抽象描述
reduce:(k2;[v2])
[(k3;v3)]輸入:
由map輸出的一組鍵值對[(k2;v2)]將被進行合并處理將同樣主鍵下的不同數值合并到一個列表[v2]中,故reduce的輸入為(k2;[v2])處理:對傳入的中間結果列表數據進行某種整理或進一步的處理,并產生最終的某種形式的結果輸出[(k3;v3)]。輸出:最終輸出結果[(k3;v3)]嫵媚人生MapReduce的根本設計思想基于Map和Reduce的并行計算模型
海量數據存儲……數據劃分MapMapMapMap初始kv鍵值對初始kv鍵值對初始kv鍵值對初始kv鍵值對中間結果(k1,val)(k2,val)(k3,val)(k1,val)(k3,val)(k2,val)(k3,val)(k1,val)(k2,val)(k3,val)Barrier:AggregationandShuffleReduceReduceReduce(k1,values)(k2,values)(k3,values)計算結果(K1,val)(K2,val)(K3,val)MapReduce的根本設計思想基于Map和Reduce的并行計算模型各個map函數對所劃分的數據并行處理,從不同的輸入數據產生不同的中間結果輸出各個reduce也各自并行計算,各自負責處理不同的中間結果數據集合進行reduce處理之前,必須等到所有的map函數做完,因此,在進入reduce前需要有一個同步障(barrier);這個階段也負責對map的中間結果數據進行收集整理(aggregation&shuffle)處理,以便reduce更有效地計算最終結果最終匯總所有reduce的輸出結果即可獲得最終結果嫵媚人生MapReduce并行處理例如文檔詞頻統計WordCount設有4組原始文本數據:Text1:theweatherisgoodText2:todayisgoodText3:goodweatherisgoodText4:todayhasgoodweather傳統的串行處理方式(Java):String[]text=newString[]{“helloworld〞,“helloeveryone〞,“sayhellotoeveryoneintheworld〞};HashTableht=newHashTable();for(i=0;i<3;++i){StringTokenizerst=newStringTokenizer(text[i]);while(st.hasMoreTokens()){Stringword=st.nextToken();if(!ht.containsKey(word)){ht.put(word,newInteger(1));}else{intwc=((Integer)ht.get(word)).intValue()+1;//計數加1ht.put(word,newInteger(wc));}}}for(Iteratoritr=ht.KeySet().iterator();itr.hasNext();){Stringword=(String)itr.next();System.out.print(word+“:〞+(Integer)ht.get(word)+“;〞);}輸出:good:5;has:1;is:3;the:1;today:2;weather:3MapReduce并行處理例如文檔詞頻統計WordCountMap處理例如設使用4個map節點:map節點1: 輸入:(text1,“theweatherisgood〞) 輸出:(the,1),(weather,1),(is,1),(good,1)map節點2: 輸入:(text2,“todayisgood〞) 輸出:(today,1),(is,1),(good,1)map節點3: 輸入:(text3,“goodweatherisgood〞) 輸出:(good,1),(weather,1),(is,1),(good,1)map節點4: 輸入:(text3,“todayhasgoodweather〞) 輸出:(today,1),(has,1),(good,1),(weather,1)Barrier(good,1)(good,1)(good,2)(good,1)PartitionerPartitionerPartitionerPartitioner(is,1)(is,1)(is,1)(has,1)(weather,1)(weather,1)(weather,1)(the,1)(today,1)(today,1)海量數據存儲計算結果……數據劃分Map初始kv鍵值對初始kv鍵值對初始kv鍵值對初始kv鍵值對MapMapMap中間結果(the,1)(weather,1)(is,1)(good,1)CombinerCombinerCombinerCombiner(the,1)(weather,1)(is,1)(good,1)(today,1)(is,1)(good,1)(good,1)(weather,1)(is,1)(good,1)(today,1)(has,1)(good,1)(weather,1)(today,1)(is,1)(good,1)(good,2)(weather,1)(is,1)(today,1)(has,1)(good,1)(weather,1)ReduceReduceReduce(good,5)(is,3)(has,1)(weather,3)(the,1)(today,2)完整的MapReduce并行處理模型和過程MapReduce并行處理例如MapReduce并行處理例如文檔詞頻統WordCountReduce處理例如設使用3個Reduce節點:reduce節點1: 輸入:(good,1),(good,1),(good,2),(good,1) 輸出:(good,5)reduce節點2: 輸入:(has,1),(is,1),(is,1),(is,1),輸出:(has,1),(is,3)reduce節點3: 輸入:(the,1),(today,1),(today,1)(weather,1),(weather,1),(weather,1)輸出:(the,1),(today,2),(weather,3)輸出:good:5is:3has:1the:1today:2weather:3MapReduce并行處理例如文檔詞頻統WordCountMapReduce程序實現MapReduce偽代碼(實現Map和Reduce兩個函數):ClassMappermethodmap(Stringinput_key,Stringinput_value):
//input_key:textdocumentname//input_value:documentcontents
foreachwordwininput_value:
EmitIntermediate(w,"1");ClassReducermethodreduce(Stringoutput_key,
Iteratorintermediate_values):
//output_key:aword//output_values:alistofcounts
intresult=0;
foreachvinintermediate_values:result+=ParseInt(v);
Emit(output_key,result);提供統一的計算框架提供統一的計算框架答案:MapReduce之前的并行計算方法都未能做到
但MapReduce做到了!MapReduce提供一個統一的計算框架,可完成:計算任務的劃分和調度數據的分布存儲和劃分處理數據與計算任務的同步結果數據的收集整理(sorting,combining,partitioning,…)系統通信、負載平衡、計算性能優化處理計算和存儲節點出錯檢測和失效恢復嫵媚人生MapReduce的主要設計思想與特點向“外〞橫向擴展,而非向“上〞縱向擴展〔Scale“out〞,not“up〞〕即MapReduce集群的構筑選用價格廉價、易于擴展的大量低端商用效勞器,而非價格昂貴、不易擴展的高端效勞器〔SMP〕低端效勞器市場與高容量DesktopPC有重疊的市場,因此,由于相互間價格的競爭、可互換的部件、和規模經濟效應,使得低端效勞器保持較低的價格基于TPC-C在2007年底的性能評估結果,一個低端效勞器平臺與高端的共享存儲器結構的效勞器平臺相比,其性價比大約要高4倍;如果把外存價格除外,低端效勞器性價比大約提高12倍對于大規模數據處理,由于有大量數據存儲需要,顯而易見,基于低端效勞器的集群遠比基于高端效勞器的集群優越,這就是為什么MapReduce并行計算集群會基于低端效勞器實現*CitefromJimmyLin,University
ofMaryland,Data-IntensiveTextprocessingwithMapReduceMapReduce的主要設計思想與特點MapReduce的主要設計思想與特點順序處理數據、防止隨機訪問數據 Processdatasequentiallyandavoidrandomaccess大規模數據處理的特點決定了大量的數據記錄不可能存放在內存、而只可能放在外存中進行處理。磁盤的順序訪問和隨即訪問在性能上有巨大的差異例:100億(1010)個數據記錄(每記錄100B,共計1TB)的數據庫更新1%的記錄(一定是隨機訪問)需要1個月時間;而順序訪問并重寫所有數據記錄僅需1天時間!MapReduce設計為面向大數據集批處理的并行計算系統,所有計算都被組織成很長的流式操作,以便能利用分布在集群中大量節點上磁盤集合的高傳輸帶寬。MapReduce的主要設計思想與特點
為應用開發者隱藏系統層細節 Hidesystem-leveldetailsfromtheapplicationdeveloper軟件工程實踐指南中,專業程序員認為之所以寫程序困難,是因為程序員需要記住太多的編程細節(從變量名到復雜算法的邊界情況處理),這對大腦記憶是一個巨大的認知負擔,需要高度集中注意力而并行程序編寫有更多困難,如需要考慮多線程中諸如同步等復雜繁瑣的細節,由于并發執行中的不可預測性,程序的調試查錯也十分困難;大規模數據處理時程序員需要考慮諸如數據分布存儲管理、數據分發、數據通信和同步、計算結果收集等諸多細節問題MapReduce提供了一種抽象機制將程序員與系統層細節隔離開來,程序員僅需描述需要計算什么(whattocompute),而具體怎么去做(howtocompute)就交由系統的執行框架處理,這樣程序員可從系統層細節中解放出來,而致力于其應用本身計算問題的算法設計MapReduce的主要設計思想與特點
平滑無縫的可擴展性 Seamlessscalability主要包括兩層意義上的擴展性:數據擴展和系統規模擴展理想的軟件算法應當能隨著數據規模的擴大而表現出持續的有效性,性能上的下降程度應與數據規模擴大的倍數相當在集群規模上,要求算法的計算性能應能隨著節點數的增加保持接近線性程度的增長絕大多數現有的單機算法都達不到以上理想的要求;把中間結果數據維護在內存中的單機算法在大規模數據處理時很快失效;從單機到基于大規模集群的并行計算從根本上需要完全不同的算法設計奇妙的是,MapReduce幾乎能實現以上理想的擴展性特征。
多項研究發現基于MapReduce的計算性能可隨節點數目增長保持近似于線性的增長MapReduce的主要設計思想與特點并行數據處理MapReduceGoogle分布式文件系統GFS(GoogleFileSystem)結構化數據表BigTable分布式鎖管理ChubbyMapReduceBigTableGFSChubby用市場上的普通效勞器,構建了非常可靠的大規模并行計算集群!
GoogleMapReduce的根本工作原理CitefromDeanandGhemawat(OSDI2004)1.有一個待處理的大數據,被劃分為大小相同的數據塊(如64MB),及與此相應的用戶作業程序2.系統中有一個負責調度的主節點(Master),以及數據Map和Reduce工作節點(Worker)3.主節點為作業程序尋找和配備可用的Map節點,并將程序和數據傳送給map節點4.主節點也為作業程序尋找和配備可用的Reduce節點,并將程序傳送給Reduce節點5.主節點啟動每個Map節點執行程序,每個map節點盡可能讀取本地或本機架的數據進行計算6.每個Map節點處理讀取的數據塊,并做一些數據整理工作(combining,sorting等)并將中間結果存放在本地;同時通知主節點計算任務完成并告知中間結果數據存儲位置7.主節點等所有Map節點計算完成后,開始啟動Reduce節點運行;Reduce節點從主節點掌握的中間結果數據位置信息讀取這些數據8.Reduce節點計算結果匯總輸出到一個結果文件即獲得整個處理結果GoogleMapReduce的根本工作原理失效檢測和恢復處理主節點失效主節點中會周期性地設置檢查點(checkpoint),檢查整個計算作業的執行情況,一旦某個任務失效,可以從最近有效的檢查點開始重新執行,防止從頭開始計算的時間浪費。工作節點失效工作節點失效是很普遍發生的,主節點會周期性地給工作節點發送檢測命令,如果工作節點沒有回應,這認為該工作節點失效,主節點將終止該工作節點的任務并把失效的任務重新調度到其它工作節點上重新執行
GoogleMapReduce的根本工作原理帶寬優化問題
大量的鍵值對數據在傳送給Reduce節點時會引起較大的通信帶寬開銷。解決方案每個Map節點處理完成的中間鍵值隊將由Combiner做一個合并壓縮,即把那些鍵名相同的鍵值對歸并為一個鍵名下的一組數值。(good,1)(weather,1)(is,1)(good,1)(good,2)(weather,1)(is,1)combiner
GoogleMapReduce的根本工作原理計算優化問題Reduce節點必須要等到所有Map節點計算計算才能開始執行,因此,如果有一個計算量大、或者由于某個問題導致很慢結束的Map節點,那么會成為嚴重的“拖后腿者〞。解決方案把一個Map計算任務讓多個Map節點同時做,取最快完成者的計算結果。根據Google的測試,使用了這個冗余Map節點計算方法以后,計算任務性能提高40%多!
GoogleMapReduce的根本工作原理用數據分區解決數據相關性問題問題一個Reduce節點上的計算數據可能會來自多個Map節點,因此,為了在進入Reduce節點計算之前,需要把屬于一個Reduce節點的數據歸并到一起。解決方案在Map階段進行了Combine以后,可以根據一定的策略對Map輸出的中間結果進行分區(partition),這樣即可解決以上數據相關性問題防止Reduce計算過程中的數據通信。例如:有一個巨大的數組,其最終結果需要排序,每個Map節點數據處理好后,為了防止在每個Reduce節點本地排序完成后還需要進行全局排序,我們可以使用一個分區策略如:(d%R),d為數據大小,R為Reduce節點的個數,那么可根據數據的大小將其劃分到指定數據范圍的Reduce節點上,每個Reduce將本地數據拍好序后即為最終結果GoogleGFS的根本構架GoogleGFS是一個基于分布式集群的大型分布式文件系統,為MapReduce計算框架提供低層數據存儲和數據可靠性支撐;GFS是一個構建在分布節點本地文件系統之上的一個邏輯上文件系統,它將數據存儲在物理上分布的每個節點上,但通過GFS將整個數據形成一個邏輯上整體的文件。分布式文件系統GFS工作原理……GoogleGFSGoogleMapReduceMapReduceApplicationsGoogleGFS的根本構架廉價本地磁盤分布存儲各節點本地分布式存儲數據,優點是不需要采用價格較貴的集中式磁盤陣列,容量可隨節點數增加自動增加多數據自動備份解決可靠性采用廉價的普通磁盤,把磁盤數據出錯視為常態,用自動多數據備份存儲解決數據存儲可靠性問題為上層的MapReduce計算框架提供支撐GFS作為向上層MapReduce執行框架的底層數據存儲支撐,負責處理所有的數據自動存儲和容錯處理,因而上層框架不需要考慮低層的數據存儲和數據容錯問題分布式文件系統GFS工作原理GoogleGFS的根本構架和工作原理
分布式文件系統GFS工作原理CitefromGhemawatetal.(SOSP2003)GFSMasterGFSMaster:保存GFS文件系統的三種元數據:命名空間(NameSpace),即整個分布式文件系統的目錄結構
Chunk與文件名的映射表Chunk副本的位置信息,每一個Chunk默認有3個副本GFSChunkServer:用來保存大量實際數據的數據效勞器;每個數據塊缺省劃分為64MBYahoo是Hadoop聯盟中最大的支持者,目前大量使用了Hadoop集群Yahoo!Hadoop集群(引自Yahoo〕開源的HadoopMapReducedatanodedaemonLinuxfilesystem…tasktrackerslavenodedatanodedaemonLinuxfilesystem…tasktrackerslavenodedatanodedaemonLinuxfilesystem…tasktrackerslavenodenamenodenamenodedaemonjobsubmissionnodejobtrackerHadoopMapReduce的根本工作原理數據存儲與計算節點構架HadoopMapReduce的根本工作原理對等于GoogleMapReduce中的Master對等于GoogleMapReduce中的WorkerHadoopMapReduce程序執行過程HadoopMapReduce程序執行過程HadoopMapReduce的根本工作原理HDFS根本構架對等于GFS
Master對等于GFS
ChunkServer應用程序HDFS客戶端文件名或數據塊號數據塊號,數據塊位置HDFSNameNodeDataNode數據DataNode數據DataNode數據Hadoop的分布式文件系統HDFS
?實戰Hadoop?
5.1簡介1145.2復合鍵值對的使用1155.2.1把小的鍵值對合并成大的鍵值對1155.2.2巧用復合鍵讓系統完成排序1175.3用戶定制數據類型1235.3.1hadoop內置的數據類型1235.3.2用戶自定義數據類型的實現1245.4用戶定制輸入/輸出格式1265.4.1hadoop內置的數據輸入格式和recordreader1265.4.2用戶定制數據輸入格式與recordreader1275.4.3hadoop內置的數據輸出格式與recordwriter1335.4.4用戶定制數據輸出格式與recordwriter1345.4.5通過定制數據輸出格式實現多集合文件輸出1345.5用戶定制partitioner和combiner1375.5.1用戶定制partitioner1375.5.2用戶定制combiner1395.6組合式mapreduce計算作業1415.6.1迭代mapreduce計算任務1415.6.2順序組合式mapreduce作業的執行1425.6.3具有復雜依賴關系的組合式mapreduce作業的執行1445.6.4mapreduce前處理和后處理步驟的鏈式執行1455.7多數據源的連接1485.7.1根本問題數據例如1495.7.2用datajoin類實現reduce端連接1505.7.3用全局文件復制方法實現map端連接1585.7.4帶map端過濾的reduce端連接1625.7.5多數據源連接解決方法的限制1625.8全局參數/數據文件的傳遞與使用1635.8.1全局作業參數的傳遞1635.8.2查詢全局mapreduce作業屬性1665.8.3全局數據文件的傳遞1675.9關系數據庫的連接與訪問1695.9.1從數據庫中輸入數據1695.9.2向數據庫中輸出計算結果170第1章神奇的大象—hadoop第2章HDFS—不怕故障的海量存儲第3章分久必合—MapReduce第4章一張無限大的表—HBase第5章更上一層樓—MapReduce進階第6章Hive—飛進數據倉庫的小蜜蜂第7章Pig—一頭什么都能吃的豬第8章Facebook的女神—cassandra第9章Chukwa—收集數據的大烏龜第10章一統天下—Zookeeper第11章綜合實戰1—打造一個搜索引擎第12章綜合實戰2—生物信息學應用第13章綜合實戰3—移動通信信令監測與查詢第14章高枕無憂—Hadoop容錯購建高性能MapReduce并行計算集群
2021年1月和10月共斥資100萬建成南京大學第一臺專用于科研的高性能MapReduce并行計算集群81臺DELL高性能機架式效勞器構成其中80臺效勞器每臺包含:2路4核IntelXeon5620,2.4GHz24GB內存4TB硬盤整個集群總計:332個處理器核1000GB內存162TB硬盤存儲量千兆以太網交換機,背板帶寬184Gbps嫵媚人生大規模數據處理的主要研究內容大規模數據并行算法根本算法各種全局數據相關性小、能適當劃分數據的計算任務,如:分布式排序分布式GREP(文本匹配查找)關系代數操作 如:選擇,投影,求交集、并集,連接,成組,聚合…矩陣向量相乘、矩陣相乘詞頻統計(wordcount),詞頻重要性分析(TF-IDF)單詞同現關系分析 典型的應用如從生物醫學文獻中自動挖掘基因交互作用關系文檔倒排索引……大規模數據并行算法復雜算法或應用Web搜索引擎 網頁爬取、倒排索引、網頁排序、搜索算法Web訪問日志分析 分析和挖掘用戶在Web上的訪問、購物行為特征、以定制個性化用戶界面或投放用戶感興趣的產品廣告數據/文本統計分析 如科技文獻引用關系分析和統計、專利文獻引用分析和統計圖算法 并行化寬度優先搜索(最短路徑問題,可克服Dijkstra串行算法的缺乏),最小生成樹,子樹搜索、比對Web鏈接圖分析算法PageRank,垃圾郵件連接分析大規模數據并行算法復雜算法或應用聚類(clustering) 文檔聚類、圖聚類、其它數據集聚類相似性比較分析算法 字符序列、文檔、圖、數據集相似性比較分析基于統計的文本處理最大期望(EM)統計模型,隱馬可夫模型(HMM),……機器學習 監督學習、無監督學習、分類算法〔決策樹、SVM…)數據挖掘統計機器翻譯生物信息處理 DNA序列分析比對算法Blast:雙序列比對、多序列比對生物網絡功能模塊(Motif)查找和比對廣告推送與推薦系統……
大規模數據并行算法Stanford大學研究小組研究了基于多核構架、自行設計的輕量級MapReduce框架的各種機器學習算法,發現計算性能可隨處理器核數增長保持近似于線性的增長Cheng-TaoChuet.al,MapReduceforMachineLearningonMulticore,2006機器學習與數據挖掘算法中國移動通信數據挖掘ChinaMobilelookstodatawarehousingandminingofthisdatatoextractinsightsforimprovingmarketingoperations,networkoptimization,andserviceoptimization.SometypicalapplicationsincludeAnalyzinguserbehaviorPredictingcustomerchurnAnalyzingserviceassociationAnalyzingnetworkqualityofservice(QOS)AnalyzingsignalingdataFiltering原來使用由著名供給商提供的專用的商業數據挖掘系統,但該系統的單效勞器構架嚴重限制了大數據量挖掘處理。一個分支機構使用了8核、32GB內存、一個磁盤陣列的Unix效勞器,但僅能處理1.4百萬個用戶的行為數據,或者僅僅本分支機構10%的用戶數據,而且處理時間很長大規模數據并行算法中國移動通信數據挖掘
然后他們基于Hadoop重新做了一個數據挖掘系統Datanode/TaskTracker—單路4核Xeon2.5GHzCPU,8GBRAM,4x250GBSATAdisksNamenode/JobTracker—雙路2核AMDOpteron2.6GHzCPU,16GBRAM,4x146GBSAS價格比較1/5的價格10倍數據時的速度比較一個數量級的性能提升大規模數據并行算法大規模數據并行算法海量數據挖掘算法研究發現:大數據隱含著更準確的事實 信息檢索、自然語言理解和機器學習的三個要素:數據,特征,與算法2001,BankoandBrill發表了一篇自然語言領域的經典研究論文,探討訓練數據集大小對分類精度的影響,發現數據越大,精度越高;更有趣的發現是,他們發現當數據不斷增長時,不同算法的分類精度趨向于相同,使得小數據集時不同算法在精度上的差異根本消失!結論引起爭論:算法不再要緊,數據更重要!不再需要研究復雜算法,找更多數據就行了!大規模數據并行算法海量數據隱含著更準確的事實2001年,一個基于事實的簡短問答研究,如提問:WhoshotAbrahamLincoln?在很大的數據集時,只要使用簡單的模式匹配方法,找到在“shotAbrahamLincoln〞前面的局部即可快速得到準確答案:JohnWilkesBooth2007,Brantsetal.描述了一個基于2萬億個單詞訓練數據集的語言模型,比較了當時最先進的Kneser-Neysmoothing算法與他們稱之為“stupidbackoff“(簡單退避)的簡單算法,最后發現,后者在小數據集時效果不佳,但在大數據集時,該算法最終居然產生了更好的語言模型!結論:大數據集上的簡單算法能比小數據集上的復雜算法產生更好的結果!
大規模數據并行算法中科院計算所智能信息重點實驗室何清教授進行了基于MapReduce的K-Means聚類、分類、和關聯規那么挖掘等海量數據挖掘并行算法、以及常用的數據統計分析算法的研究;并基于這些算法開發了一個并行分布式數據挖掘工具平臺PDMiner,其中大規模數據存儲在HDFS上,且通過MapReduce實現各種并行數據預處理和數據挖掘算法。ParallelK-meansclusteringbasedonMapReduce
Zhao,Weizhong(KeyLaboratoryofIntelligentInformationProcessing,InstituteofComputingTechnology,ChineseAcademyofSciences,China);Ma,Huifang;He,QingSource:LectureNotesinComputerScience(includingsubseriesLectureNotesinArtificialIntelligenceandLectureNotesinBioinformatics),v5931LNCS,p674-679,2021,CloudComputing-FirstInternationalConference,CloudCom2021,ProceedingsParallelimplementationofclassificationalgorithmsbasedonmapreduce
He,Qing(KeyLaboratoryofIntelligentInformationProcessing,InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100190,China);Zhuang,Fuzhen;Li,Jincheng;Shi,ZhongzhiSource:LectureNotesinComputerScience(includingsubseriesLectureNotesinArtificialIntelligenceandLectureNotesinBioinformatics),v6401LNAI,p655-662,2021,RoughSetandKnowledgeTechnology-5thInternationalConference,RSKT2021,ProceedingsThehigh-activityparallelimplementationofdatapreprocessingbasedonmapreduce
He,Qing(KeyLaboratoryofIntelligentInformationProcessing,InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100190,China);Tan,Qing;Ma,Xudong;Shi,ZhongzhiSource:LectureNotesinComputerScience(includingsubseriesLectureNotesinArtificialIntelligenceandLectureNotesinBioinformatics),v6401LNAI,p646-654,2021,RoughSetandKnowledgeTechnology-5thInternationalConference,RSKT2021,Proceedings
機器學習與數據挖掘算法
大規模數據并行算法機器學習與數據挖掘算法嫵媚人生大規模數據并行算法機器學習與數據挖掘算法本研究組進行了基于MapReduce的頻繁項集挖掘算法研究PSON:AParallelizedSONAlgorithmwithMapReduceforMiningFrequentSets
TaoXiao,ShuaiWang,ChunfengYuan,YihuaHuangTheFourthInternationalSymposiumonParallelArchitectures,AlgorithmsandProgramming(PAAP2021),Tianjin,Dec.9-11,2021嫵媚人生BackgroundTransactiondatabaseisubiquitousandoflargescaleSupermarketsandonlineshopsrecordtransactionseachdayTheirsizescanreachTBsorPBseasilyMiningfrequentsetsfromtransactiondatabaseisfundamentalandimportantManydataminingmethodsarebasedonfrequentsetsminingManyserialalgorithmshavebeendevelopedFindingfrequentsetsisacomputation-intensivetaskFormitems,thenumberofdistinctitemsetscanbeupto2mIt’sdesirableifitcanbeparallelizedSONalgorithmisnaturallytobeparallelizedwithMapReduceTransactionandItemsetsWhatistransactionanditemsets?AtransactioniscomposedofanidandasetofitemsThereare4transactionsinthefigureaboveThefirsttransaction(T100)has3items,{I1,I2,I5}isanitemsetThelengthof{I1,I2,I5}is3,soitiscalleda3-itemsetsAnitemset,whoselengthisk,isreferredasak-itemsetFrequentsetsSupposeIisanitemsetconsistingofitemsfromthetransactiondatabaseDLetNbethenumberoftransactionsDLetMbethenumberoftransactionsthatcontainalltheitemsof
IM/NisreferredtoasthesupportofIinD
ExampleHere,N=4,letI={I1,I2},thanM=2becauseI={I1,I2}iscontainedintransactionsT100andT400sothesupportofIis0.5(2/4=0.5)Ifsup(I)isnolessthatanuser-definedthreshold,thenIisreferredtoasafrequentitemsetGoaloffrequentsetsminingTofindallfrequentk-itemsetsfromatransactiondatabase(k=1,2,3,)枚舉計算的時間復雜度是:O(2n*N*t),n是Item的總數,N是Transaction總數,t是每個Transaction平均包含的Item數AprioriAlgorithm*AclassicfrequentsetsminingalgorithmNeedsmultiplepassesoverthedatabaseInthefirstpass,allfrequent1-itemsetsarediscoveredIneachsubsequentpass,frequent(k+1)-itemsetsarediscovered,withthefrequentk-itemsetsfoundinthepreviouspassastheseed(referredtoascandidate
itemsets)Repeatuntilnomorefrequentitemsetscanbefound*R.Agrawal,R.Srikant,“Fastalgorithmsforminingassociationrules,〞inproceedingsofthe20thInternationalConferenceonVeryLargeDataBases,Santiago,Chile,August29-September1,1994SONAlgorithm*BasicideaDividethewholedatabaseintoseveralnon-overlappingpartitionsForeachpartition,discoverallthefrequentitemsetsforit(referredtoaslocalfrequentitemsets)Mergeallthelocalfrequentitemsetsfromallthepartitions(referredtoasglobalcandidateitemsets)Removethosethatarenotactuallyfrequentinthewholedatabase,generatingglobalfrequentitemsetsLemmaAnitemsetthatisnotlocalfrequentinanyofthepartitionscannotbeglobalfrequentAglobalfrequentitemsetmustappearaslocalfrequentinatleastoneofthepartitions*A.Savasere,E.Omiecinski,andS.Navathe,“Anefficientalgorithmforminingassociationrulesinlargedatabases,〞inproceedingsofthe21stVLDBConferenceZurich,Swizerland,1995PSON:ParallelizedSONAlgorithmMotivationtoParallelizeSONProcessingonepartitiondoesn’tneedanyinformationfromanyotherpartitionEachpartitioncanbeprocessedconcurrentlySONisnaturallysuitableforparallelizationPreparingdataStorethetransactiondatabaseintoDFSThewholedatabasewillbeautomaticallydividedintoseveralnon-overlappingchunksChunkscorrespondtothepartitionsinSONMaptasksEachchunkisprocessedbyonemappernodetofindlocalfrequentitemsetsforthatchunkReducetasksLocalfrequentitemsetsofthesamelengthareprocessedbyonereducenodeEachnodecountsforeachglobalcandidateitemsetitreceivesThusdecideswhichareglobalfrequentitemsetsRuntwoMapReducejobstogenerateallfrequentitemsets1stjob:generateallglobalcandidateitemsets2ndjob:identifyglobalfrequentitemsetsfromglobalcandidateitemsetsThe1stMapReduceJobMapphaseEachmapnodetakesinonep
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個體超市轉讓合同樣本
- 人力資源團隊建設技巧試題及答案
- 兼職報賬員合同樣本
- 臨時護欄合同樣本
- 2025年公共營養師考試基礎知識強化試題及答案
- 代購建材合同樣本
- 冶金爐料采購合同樣本
- 2013物業合同標準文本
- 企業制作合同樣本
- 2025年公共衛生執業醫師考試心理健康評估工具試題及答案
- 中國技能大賽-第45屆世界技能大賽全國選拔賽“水處理技術”項目技術工作文件
- 學校運動會目的
- 講解員禮儀培訓
- 臺風知識簡介(共29張課件)
- 《哮喘患者自我管理影響因素的HAPA模型驗證分析及實證研究》
- 音樂鑒賞與實踐 第一單元第四課音樂的力量(下)
- 生產設備操作指南
- 中職職教高考文言文課文及翻譯
- 公司事故隱患內部報告獎勵機制
- 年九年級語文上冊 第三單元 11《醉翁亭記》教案 新人教版五四制
- 家禽委托屠宰合同協議書
評論
0/150
提交評論