過載虛機條件下MPI通信性能改善方法研究
發(fā)布時間:2020-07-07 08:49
【摘要】:虛擬化技術(shù)復(fù)興以后,基于其上的軟件技術(shù)逐漸成為一個重要的研究領(lǐng)域。如今,利用虛擬化技術(shù)構(gòu)建高性能計算應(yīng)用所需的運行環(huán)境正成為一種流行趨勢。同傳統(tǒng)計算模式相比,虛擬化技術(shù)的出現(xiàn)帶來了許多好處。比如資源聚合,降低能耗,可改善程序移植性,還可以協(xié)助調(diào)試復(fù)雜的程序代碼等。 在傳統(tǒng)計算模式中,客戶操作系統(tǒng)(Guest Operating System)直接將應(yīng)用進程調(diào)度到物理處理器上運行。然而在虛擬機計算模式中,由于虛擬化層的出現(xiàn),調(diào)度機制出現(xiàn)了一些變化,為雙層調(diào)度:在GOS中,GOS將進程調(diào)度到虛擬處理器上;在虛擬化層中,虛擬機管理器將虛擬處理器調(diào)度到物理處理器上運行。在現(xiàn)今的虛擬機體系結(jié)構(gòu)中,這兩種調(diào)度機制是相互獨立執(zhí)行的。這在一定程度上影響了那些需要通過MPI原語進行通信的高性能計算負(fù)載的性能,這種影響在過載虛擬機條件(即一個物理處理器上分配了不止一個的虛擬處理器)下顯得尤其強烈。 此研究詳細(xì)分析了過載虛擬機條件下利用MPI通信的HPC應(yīng)用性能損耗的原因,即MPI庫消息接收機制產(chǎn)生的“忙等”現(xiàn)象浪費了較多的處理器資源。通過進一步分析虛擬機調(diào)度器源碼,發(fā)現(xiàn)“忙等”現(xiàn)象產(chǎn)生的根源是虛擬化環(huán)境中雙層調(diào)度機制的不協(xié)同性,因此,提出了一種在虛擬化環(huán)境下協(xié)同雙層調(diào)度以提高系統(tǒng)性能的方法,即將GOS中的一部分調(diào)度信息適時發(fā)送給虛擬機管理器以保證虛擬機管理器中的調(diào)度執(zhí)行更準(zhǔn)確,從而減少“忙等”現(xiàn)象,提高系統(tǒng)性能。 實驗表明,協(xié)同雙層調(diào)度方法在過載虛擬機條件下能顯著提高利用MPI進行通信的HPC負(fù)載的通信性能。
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2011
【分類號】:TP302
【圖文】:
依靠all-to-all通信來交換中間結(jié)果),lu.A.2(解決五個關(guān)于拋物線或橢圓的不完全等式,各不等式需要在計算過程中交換中間結(jié)果)和ep.A.2(隨機數(shù)產(chǎn)生器,隨機數(shù)產(chǎn)生時不需要通信)。三個測試程序的運行時間如圖3.2所示。圖 3.2 過載虛擬機下 NPB 程序性能從 圖 3.2 可 以 看 出 , 相 對 于 native-up 情 況 下 所 得 到 的 性 能 結(jié) 果 , 在inter-vm-credit-pin情況下,is.A.2的運行時間增加了約30倍,lu.A.2的運行時間增加了約4倍。在intra-vm-credit-pin條件下,is.A.2的運行時間增加了約12倍,lu.A.2的運行時間增加了約0.5倍。在SEDF調(diào)度器下,系統(tǒng)性能損耗沒有這么嚴(yán)重:在inter-vm-sedf-pin條件下
4.1.1 問題闡述虛擬化環(huán)境下,調(diào)度分為兩層,一層是GOS中的進程調(diào)度,一層是虛擬機管理器(VMM)對虛擬處理器(VCPU)的調(diào)度,如圖4.1所示。GOS中對進程的調(diào)度相對于VMM基本是透明的,VMM僅根據(jù)當(dāng)前VCPU中是否有任務(wù)運行來判斷當(dāng)前VCPU是否可被調(diào)度。由于進程運行狀態(tài)信息無法直接通過VCPU反應(yīng)給VMM,導(dǎo)致VMM對VCPU的調(diào)度和GOS對進程的調(diào)度之間容易產(chǎn)生理解偏差,對系統(tǒng)性能產(chǎn)生較大影響。圖 4.1 虛擬化環(huán)境下的雙層調(diào)度一個典型的例子就是虛擬機中只有一個進程運行時,當(dāng)該進程處于阻塞式消息接收且等待一段時間后仍未接收到消息,那么它會嘗試放棄CPU資源,放棄CPU資源動作(sched_yield)信息僅僅傳達到VCPU一級,并不會到達物理CPU一級
各個子任務(wù)之間相互通信采用的是阻塞式消息接收方式(即接收進程處于輪詢狀態(tài),并不會進入阻塞狀態(tài))。在過載虛擬機條件下,MPI的這種高效I/O會出現(xiàn)上述例子中的大時間片浪費情況,導(dǎo)致整體系統(tǒng)性能下降。典型情況如圖4.2所示。DOMn1的VCPU0和DOMn3的VCPU0分別被調(diào)度到物理CPU0和物理CPU1上運行,DOMn2的VCPU0處于PCPU0的VCPU隊列中,DOMn4的VCPU0處于PCPU1的VCPU隊列,receive表示接收進程,send表示發(fā)送進程。簡而言之就是相互通信的VCPU被調(diào)度到同一個PCPU上運行,同時其余PCPU一直處于滿負(fù)荷運行(不會執(zhí)行負(fù)載均衡策略,導(dǎo)致出現(xiàn)VCPU遷移情況)。此時,DOMn1的VCPU0被調(diào)度
本文編號:2744916
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2011
【分類號】:TP302
【圖文】:
依靠all-to-all通信來交換中間結(jié)果),lu.A.2(解決五個關(guān)于拋物線或橢圓的不完全等式,各不等式需要在計算過程中交換中間結(jié)果)和ep.A.2(隨機數(shù)產(chǎn)生器,隨機數(shù)產(chǎn)生時不需要通信)。三個測試程序的運行時間如圖3.2所示。圖 3.2 過載虛擬機下 NPB 程序性能從 圖 3.2 可 以 看 出 , 相 對 于 native-up 情 況 下 所 得 到 的 性 能 結(jié) 果 , 在inter-vm-credit-pin情況下,is.A.2的運行時間增加了約30倍,lu.A.2的運行時間增加了約4倍。在intra-vm-credit-pin條件下,is.A.2的運行時間增加了約12倍,lu.A.2的運行時間增加了約0.5倍。在SEDF調(diào)度器下,系統(tǒng)性能損耗沒有這么嚴(yán)重:在inter-vm-sedf-pin條件下
4.1.1 問題闡述虛擬化環(huán)境下,調(diào)度分為兩層,一層是GOS中的進程調(diào)度,一層是虛擬機管理器(VMM)對虛擬處理器(VCPU)的調(diào)度,如圖4.1所示。GOS中對進程的調(diào)度相對于VMM基本是透明的,VMM僅根據(jù)當(dāng)前VCPU中是否有任務(wù)運行來判斷當(dāng)前VCPU是否可被調(diào)度。由于進程運行狀態(tài)信息無法直接通過VCPU反應(yīng)給VMM,導(dǎo)致VMM對VCPU的調(diào)度和GOS對進程的調(diào)度之間容易產(chǎn)生理解偏差,對系統(tǒng)性能產(chǎn)生較大影響。圖 4.1 虛擬化環(huán)境下的雙層調(diào)度一個典型的例子就是虛擬機中只有一個進程運行時,當(dāng)該進程處于阻塞式消息接收且等待一段時間后仍未接收到消息,那么它會嘗試放棄CPU資源,放棄CPU資源動作(sched_yield)信息僅僅傳達到VCPU一級,并不會到達物理CPU一級
各個子任務(wù)之間相互通信采用的是阻塞式消息接收方式(即接收進程處于輪詢狀態(tài),并不會進入阻塞狀態(tài))。在過載虛擬機條件下,MPI的這種高效I/O會出現(xiàn)上述例子中的大時間片浪費情況,導(dǎo)致整體系統(tǒng)性能下降。典型情況如圖4.2所示。DOMn1的VCPU0和DOMn3的VCPU0分別被調(diào)度到物理CPU0和物理CPU1上運行,DOMn2的VCPU0處于PCPU0的VCPU隊列中,DOMn4的VCPU0處于PCPU1的VCPU隊列,receive表示接收進程,send表示發(fā)送進程。簡而言之就是相互通信的VCPU被調(diào)度到同一個PCPU上運行,同時其余PCPU一直處于滿負(fù)荷運行(不會執(zhí)行負(fù)載均衡策略,導(dǎo)致出現(xiàn)VCPU遷移情況)。此時,DOMn1的VCPU0被調(diào)度
【引證文獻】
相關(guān)碩士學(xué)位論文 前1條
1 王強;虛擬化SMP架構(gòu)下服務(wù)器性能優(yōu)化[D];華中科技大學(xué);2011年
本文編號:2744916
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2744916.html
最近更新
教材專著