資源描述:
《MapReduce海量數據并行處理總結.doc》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、MapReduce海量數據并行處理復習大綱Ch.1.并行計算技術簡介1.為什么需要并行計算?提高計算機性能有哪些基本技術手段提高字長,流水線微體系結構技術,提高集成度,提升主頻迫切需要發(fā)展并行計算技術的主要原因1)單處理器性能提升達到極限2)爆炸性增長的大規(guī)模數據量2)超大的計算量/計算復雜度2.并行計算技術的分類有哪些主要的并行計算分類方法?1)按數據和指令處理結構:弗林(Flynn)分類2)按并行類型3)按存儲訪問構架4)按系統(tǒng)類型5)按計算特征6)按并行程序設計模型/方法1)按數據和指令處理結構:弗林(Flynn)分類SISD:單指令單數據流傳統(tǒng)的單處理器串行處理SIMD:單指令
2、多數據流向量機,信號處理系統(tǒng)MISD:多指令單數據流很少使用MIMD:多指令多數據流最常用,TOP500高性能計算機基本都屬于MIMD類型2)按并行類型分類位級并行(Bit-LevelParallelism)指令級并行(ILP:Instruction-LevelParallelism)線程級并行(Thread-LevelParallelism)數據級并行:一個大的數據塊劃分為小塊,分別由不同的處理器/線程處理任務級并行:一個大的計算任務劃分為子任務分別由不同的處理器/線程來處理3)按存儲訪問結構分類A.共享內存(SharedMemory)所有處理器通過總線共享內存多核處理器,SMP……
3、也稱為UMA結構(UniformMemoryAccess)B.分布共享存儲體系結構各個處理器有本地存儲器同時再共享一個全局的存儲器C.分布式內存(DistributedMemory)各個處理器使用本地獨立的存儲器B和C也統(tǒng)稱為NUMA結構(Non-UniformMemoryAccess)4)按系統(tǒng)類型分類多核/眾核并行計算系統(tǒng)MC(Multicore/Manycore)或Chip-levelmultiprocessing,CMP對稱多處理系統(tǒng)SMP(SymmetricMultiprocessing)多個相同類型處理器通過總線連接并共享存儲器大規(guī)模并行處理MPP(MassiveParal
4、lelProcessing)專用內聯(lián)網連接一組處理器形成的一個計算系統(tǒng)集群(Cluster)網絡連接的一組商品計算機構成的計算系統(tǒng)網格(Grid)用網絡連接遠距離分布的一組異構計算機構成的計算系統(tǒng)5)按并行程序設計模型/方法分類共享內存變量(SharedMemoryVariables)消息傳遞方式(MessagePassing)MapReduce方式3.并行計算的主要技術問題并行計算有哪些方面的主要技術問題?多核/多處理器網絡互連結構技術存儲訪問體系結構分布式數據與文件管理并行計算任務分解與算法設計并行程序設計模型和方法數據同步訪問和通信控制可靠性設計與容錯技術并行計算軟件框架平臺系統(tǒng)
5、性能評價和程序并行度評估如何評估程序的可并行度(Amdahl定律)程序能得到多大并行加速依賴于該程序有多少可并行計算的比例。經典的程序并行加速評估公式Amdahl定律:其中,S是加速比,P是程序可并行比例,N是處理器數目根據Amdahl定律:一個并行程序可加速程度是有限制的,并非可無限加速,并非處理器越多越好并行比例vs加速比50%=>最大2倍75%=>最大4倍90%=>最大10倍95%=>最大20倍4.MPI并行程序設計MessagePassingInterface,基于消息傳遞的高性能并行計算編程接口5.什么是MapReduce概念MapReduce是面向大規(guī)模數據并行處理的:(1
6、)基于集群的高性能并行計算平臺(ClusterInfrastructure),(硬件層)允許用市場上現成的普通PC或性能較高的刀架或機架式服務器,構成一個包含數千個節(jié)點的分布式并行計算集群(2)并行程序開發(fā)與運行框架(SoftwareFramework)(邏輯層)系統(tǒng)自動提供了一個龐大但設計精良的并行計算軟件構架,能自動完成計算任務的并行化處理,自動劃分計算數據和計算任務,在集群節(jié)點上自動分配和執(zhí)行子任務以及收集計算結果,將數據分布存儲、數據通信、容錯處理等并行計算中的很多復雜細節(jié)交由系統(tǒng)負責處理,大大減少了軟件開發(fā)人員的負擔(3)并行程序設計模型與方法(ProgrammingMode
7、l&Methodology)(用戶層)借助于函數式Lisp語言中的設計思想,提供了一種簡便的并行程序設計方法,用Map和Reduce兩個函數編程實現基本的并行計算任務,提供了完整的并行編程接口,完成大規(guī)模數據處理6.為什么MapReduce如此重要?1)高效的大規(guī)模數據處理方法2)第一個不同于馮諾依曼結構的、基于集群而非單機的計算方式的重大突破3)目前為止最為成功的基于大規(guī)模計算資源的并行計算抽象方法CH.2.MapReduce簡介1.MapR