雲數據中心矩陣計算數學解析性能分析模型

爲了應對當今社會的大數據挑戰,提出了幾種分佈式存儲體系結構上的並行執行模型:MapReduce、迭代MapReduce、圖處理和數據流圖處理。Dryad是一個分佈式數據並行執行引擎,它將程序建模爲數據流圖。在本文中,我們在一個真實的環境中評估了Dryad的運行時和通信開銷。提出了一種並行矩陣乘法(PMM)Dryad實現的性能模型,並將該模型擴展到MPI實現中。我們進行了實驗分析,以驗證我們的分析模型在一個最多400核的Windows集羣、最多100個實例的Azure和最多100個節點的Linux集羣上的正確性。最終結果表明,我們的分析模型能在5%的測量結果範圍內做出準確的預測。

當今社會存在着大量的數據。信息的快速增長需要領域技術和運行時工具來處理大量數據。爲了應對這一大數據挑戰,人們提出了幾種分佈式存儲體系結構上的並行執行模型:MapReduce[7]、迭代MapReduce[13,16]、圖處理[10]和數據流圖處理。MapReduce編程模型以其在處理大規模分佈式數據方面的易用性和高效性,得到了廣泛的應用,引起了分佈式計算界的極大興趣。但是,MapReduce有其侷限性。例如,處理多個相關的異構數據集和迭代應用程序是不高效的。論文[13]爲迭代MapReduce應用程序實現了一個並行運行時,其性能比Hadoop高出幾個數量級。論文[20]發現Hadoop在處理需要連接多個輸入數據流的RDF圖模式匹配時效率不高。Dryad是一個數據流運行時,它將應用程序建模爲進程或dag之間的數據流。Dryad支持關係代數,能夠比Hadoop更有效地處理關係非結構和半結構數據。幾十年來,應用程序的性能建模在HPC領域得到了很好的研究。它不僅用於預測特定應用程序的作業運行時間,還可用於分析運行時環境。在各種運行時環境中,MPI在分佈式內存體系結構上的性能建模已經得到了很好的理解。這些績效建模方法包括:分析建模、經驗建模和半經驗建模。文獻[17]和[18]研究了在工作站集羣中用MPI實現並行程序的分析模型。文[15]提出了一個用於生物信息學應用的半經驗模型,該模型是在Windows-HPC集羣上使用混合並行方法實現的。文[10]介紹了Hadoop的半實驗性能模型。然而,使用數據流運行時的並行程序的性能分析還相對缺乏研究。事實上,大規模數據流圖運行時的性能影響越來越受到關注。此外,人們越來越關注“現收現付”環境的電力問題和成本效益。我們認爲數據流圖運行時也應該爲並行程序提供效率。因此,研究數據流圖運行時的性能建模具有一定的實用價值。

運行時性能下降的原因有很多,包括[22]:延遲、開銷和通信。延遲是用於訪問遠程數據或服務(如內存緩衝區或遠程文件管道)的時間延遲。開銷是管理並行物理資源和併發抽象任務所需的關鍵路徑工作。它可以確定系統的可伸縮性和可有效利用的程序任務的最小粒度。通信是進程之間交換數據和信息的過程。以往的應用研究[19]表明,集體通信的性能對高性能計算(HPC)至關重要。建立數據流運行時並行程序分析模型的難點在於識別通信行爲和模型通信開銷。在本文中,我們提出了一個在現實環境中實現PMM的Dryad分析時序模型,該模型比經驗和半經驗模型中使用的設置更通用。我們將提出的分析模型擴展到MS.MPI,並對Dryad和MPI在PMM應用程序中的實現進行了全面的比較。我們進行了實驗分析,以驗證我們的分析模型在一個最多400核的Windows集羣、最多100個實例的Azure和最多100個節點的Linux集羣上的正確性。最終結果表明,我們的分析模型能在5%的測量結果範圍內做出準確的預測。本文的其餘部分安排如下。第2節簡要介紹了Dryad,第3節評估了Dryad運行時的開銷。在第4節中,我們給出了PMM應用程序的Dryad和MPI實現的分析模型。第五節給出了該分析模型的實驗結果。最後,我們在第6節中提供了評論和結論。

Paper Link: https://www.researchgate.net/publication/262392979_Performance_Model_for_Parallel_Matrix_Multiplication_with_Dryad_Dataflow_Graph_Runtime

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章