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