• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      處理器隔離中的KVM虛擬化技術(shù)應(yīng)用探討

      2017-11-15 09:57:05李慧穎
      電腦知識與技術(shù) 2017年28期
      關(guān)鍵詞:隔離處理器

      李慧穎

      摘要:在計算機(jī)硬件不斷發(fā)展的過程中,人們對于硬件資源需求的最大化使用也越來越迫切。KVM是一種具有Inter VT技術(shù)和QEMU技術(shù)的虛擬機(jī),其能夠為設(shè)備提供虛擬化技術(shù)。該文的主要目的是對KVM虛擬機(jī)的創(chuàng)建和運(yùn)行進(jìn)行研究,從控制進(jìn)程方面對KVM虛擬化技術(shù)在處理器隔離中的使用進(jìn)行研究,從而實現(xiàn)處理器資源的最大化使用。

      關(guān)鍵詞:處理器;隔離;KVM虛擬化技術(shù)

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)28-0256-02

      虛擬化指的是在物理機(jī)中同時運(yùn)行多個操作系統(tǒng)的技術(shù),現(xiàn)在被廣泛應(yīng)用到大型主機(jī)等平臺中。在社會經(jīng)濟(jì)不斷進(jìn)步及科學(xué)技術(shù)不斷發(fā)展的過程中,PC的價格在不斷下降,人們也逐漸忘記虛擬化的重要性。在進(jìn)入到當(dāng)代世紀(jì)中,數(shù)據(jù)中心技術(shù)在不斷發(fā)展,虛擬化也逐漸應(yīng)用到PC領(lǐng)域中,目前在PC平臺中廣泛使用虛擬化技術(shù)已經(jīng)成為了一種趨勢。在大型主機(jī)中,虛擬化技術(shù)的主要目的為使多個操作系統(tǒng)能夠?qū)崿F(xiàn)同個主機(jī)資源的共享,提高資源的使用率。在此背景下,本文就探討處理器隔離中,KVM虛擬化技術(shù)的應(yīng)用。

      1 KVM虛擬機(jī)結(jié)構(gòu)及工作原理

      KVM虛擬機(jī)結(jié)構(gòu)主要包括兩部分內(nèi)容,第一部分為通過模塊形式集成的Driver,其主要目的就是實現(xiàn)虛擬硬化資源的管理,并且創(chuàng)建字符設(shè)備通過相應(yīng)的結(jié)構(gòu),實現(xiàn)用戶空間設(shè)備的相互通信,還能夠?qū)崿F(xiàn)虛擬機(jī)內(nèi)存分配及寄存器讀寫、CPU運(yùn)行等功能。其次就是KQEMU,也就是對于虛擬化的處理器進(jìn)行修改的QEMU,其主要目的就是實現(xiàn)硬件模擬[1],圖1為KVM虛擬機(jī)的結(jié)構(gòu)。

      首先實現(xiàn)虛擬機(jī)的初始化,之后KVM線程通過ioctl的方式對KVM內(nèi)核模式進(jìn)行VCPU指示,之后內(nèi)核模塊執(zhí)行虛擬機(jī)的進(jìn)入操作,使處理器的Kernel模式轉(zhuǎn)變?yōu)镚uest模式,之后實現(xiàn)客戶機(jī)的運(yùn)行。但是這個時候的虛擬機(jī)還是為KVM線程上下文中,并且執(zhí)行ioctl系統(tǒng)的調(diào)用模式處理程序。如果客戶機(jī)在運(yùn)行過程中出現(xiàn)異?;蛘咄獠恐袛嗟臅r候,或者執(zhí)行I/O操作的時候,就會使虛擬機(jī)出現(xiàn)退出操作,從而處理器的狀態(tài)也會轉(zhuǎn)變?yōu)镵ernrl模式。虛擬機(jī)在進(jìn)行內(nèi)核檢查過程中出現(xiàn)VM原因,如果是因為I/O操作影響,那么執(zhí)行系統(tǒng)就會實現(xiàn)返回操作的調(diào)用,將其操作交到User模式進(jìn)行處理,這個時候的KQEMU就會創(chuàng)建全新的線程實現(xiàn)I/O處理,之后實現(xiàn)ioctl的執(zhí)行,使KVM能夠?qū)⑻幚砥髑袚Q為Guest模式,并且客戶機(jī)也能夠恢復(fù)正常的運(yùn)行。如果VM 是因為其他因素導(dǎo)致,那么就要通過虛擬機(jī)內(nèi)核模塊進(jìn)行處理,并且在處理之后使處理器切換到Guest模式,從而使客戶機(jī)能夠恢復(fù)運(yùn)行。

      通過以上分析表示,KVM虛擬機(jī)中的物理 CPU能夠?qū)崿F(xiàn)隔離,和線程、應(yīng)用程序及異步I/O事件具有密切的關(guān)系[2]。

      2 處理器隔離中KVM 虛擬化技術(shù)的實現(xiàn)

      2.1 設(shè)計隔離方案

      KVM虛擬機(jī)運(yùn)行時候和處理器具有密切聯(lián)系的數(shù)據(jù)結(jié)構(gòu)在內(nèi)存中保存,主要包括虛擬CPU中的寄存器內(nèi)容及控制信息,不同數(shù)據(jù)結(jié)構(gòu)具有相互對應(yīng)的虛擬CPU,但是因為數(shù)據(jù)結(jié)構(gòu)具有一定的遷移性,在使用過程中要和物理CPU相互綁定。比如,數(shù)據(jù)結(jié)構(gòu)和CPU1進(jìn)行綁定,并且在某一個時刻將這個綁定關(guān)系進(jìn)行解除,在另外一個時刻對CPU2進(jìn)行重新的綁定。在不同時刻中,數(shù)據(jù)結(jié)構(gòu)和物理CPU的綁定關(guān)系是一對一的,也就是每個數(shù)據(jù)結(jié)構(gòu)都只能夠綁定一個物理CPU。那么在多核條件中要想能夠在同個虛擬單核平臺中運(yùn)行,就要重新考慮KQEMS的線程、應(yīng)用程序、CPU及異步事件的處理關(guān)系。通過CPU的親和性及設(shè)置屬性,能夠?qū)uest進(jìn)程在指定核中進(jìn)行綁定,以此創(chuàng)建單核虛擬平臺。比如在創(chuàng)建虛擬機(jī)過程中將Guest進(jìn)程綁定到CPU核中,使其能夠在運(yùn)行過程中不出現(xiàn)遷移現(xiàn)象,圖2為客戶操作系統(tǒng)和CPU核綁定的情況。

      分析KVM虛擬機(jī)的原理及機(jī)制,能夠通過以下方面進(jìn)行綁定操作:

      其一,通過內(nèi)核函數(shù)直接對Guest進(jìn)程屬性進(jìn)行設(shè)置,以此實現(xiàn)Guest在指定核中的運(yùn)行。通過腳本文件的編寫,從而自動實現(xiàn)虛擬機(jī)的創(chuàng)建及綁定操作;

      其二,對KQEMN源代碼進(jìn)行修改和優(yōu)化,從而實現(xiàn)特定KVM虛擬機(jī)的生成。在客戶機(jī)進(jìn)行創(chuàng)建的過程中綁定,從而使客戶機(jī)只能夠運(yùn)行到制定的核中,不能夠進(jìn)行遷移。

      通過以上方案能夠看出來,第一種方案是通過KQEMU應(yīng)用程序出發(fā),要想實現(xiàn)此方案就要使用文件讀寫及綁定腳本,并且還要修改虛擬機(jī)管理器的腳本。第二種方案是通過Qemu源代碼進(jìn)行修改,在綁定的時間方面明顯比第一種方案要早,并且實現(xiàn)的過程也較為簡單。并且通過第一種方案可以看出來,其在理論中對異步IO時候產(chǎn)生的aio線程綁定過程中會出現(xiàn)一定的問題,所以就要選擇第二種方案[3]。

      2.2 實現(xiàn)處理器隔離

      Liunx線程是在核內(nèi)通過輕進(jìn)程形式存在,其是在核外實現(xiàn)。其還具有獨(dú)立進(jìn)程表項,但是其的創(chuàng)建和刪除等其他操作也是在核外中實現(xiàn)。和fork()調(diào)用創(chuàng)建進(jìn)程的方式并不相同,pthread創(chuàng)建線程沒有和主線程相同的執(zhí)行序列,而是使其中的函數(shù)能夠運(yùn)行。所以使用fork 創(chuàng)建父子進(jìn)程具有一定的繼承性,實現(xiàn)pthread創(chuàng)建父子進(jìn)程并沒有繼承性。所以只是通過KQEMU中的屬性并不能夠?qū)崿F(xiàn)KVM虛擬機(jī)處理器隔離,要想實現(xiàn)處理器隔離,要分為兩個步驟。首先,通過QEMU命令中獲得cpuid參數(shù),這就要求能夠修改KQEMU源代碼,增加-cpuid命令選項,實現(xiàn)參數(shù)解析和相應(yīng)的綁定操作。其次,根據(jù)得到的參數(shù)實現(xiàn)應(yīng)用進(jìn)程、線程及異步I/O事件處理線程的綁定,從而能夠?qū)崿F(xiàn)處理器隔離。圖3為KVM虛擬機(jī)進(jìn)程綁定實現(xiàn)的過程。

      3 實驗的結(jié)果

      通過以上的實現(xiàn)設(shè)計思路可以看出來,對于第二種方案的實現(xiàn)要通過創(chuàng)建客戶機(jī)和運(yùn)行進(jìn)行驗證,并且還要實現(xiàn)客戶機(jī)的異步I/O 事件處理。本文在實驗過程中使用的測試平臺為處理器內(nèi)存DDR-800,在計算一次之后進(jìn)行15毫秒的休眠。通過長時間的實驗觀察表示,雖然在Guest運(yùn)行過程中的CPU核2的使用率為94.7%,KVM虛擬機(jī)還會在制定核中運(yùn)行,在核1空閑的情況下也不會出現(xiàn)遷移。能夠通過taskset命令對進(jìn)程值進(jìn)行查詢,從而對其進(jìn)行進(jìn)一步的有效驗證。通過驗證表示,進(jìn)程的值為1,那么就說明進(jìn)程和線程在核2中運(yùn)行[4]。

      4 結(jié)束語

      本文實現(xiàn)綁定KVM虛擬機(jī),從而能夠進(jìn)行KVM虛擬機(jī)處理器的隔離,從而使KVM虛擬機(jī)能夠在指定物理CPU核中進(jìn)行運(yùn)行,不會出現(xiàn)核轉(zhuǎn)移的現(xiàn)象,以此能夠?qū)崿F(xiàn)CPU資源使用的最大化目的。在Guest多個共同運(yùn)行過程中,只要在運(yùn)行過程中對CPU參數(shù)的數(shù)量進(jìn)行制定,那么就能夠使不同Guest在指定核中進(jìn)行運(yùn)行,以此有效實現(xiàn)計算機(jī)硬件資源的充分使用。

      參考文獻(xiàn):

      [1] 于磊. 基于KVM的虛擬機(jī)完整性監(jiān)控技術(shù)研究[D]. 中國科學(xué)院大學(xué), 2015.

      [2] 黃煜, 羅省賢. KVM虛擬化技術(shù)中處理器隔離的實現(xiàn)[J]. 計算機(jī)系統(tǒng)應(yīng)用, 2012, 21(1):179-182.

      [3] 王則陸, 孫超, 于麗,等. KVM虛擬化技術(shù)在申威平臺的應(yīng)用[J]. 信息技術(shù)與信息化, 2014(6):174-176.

      [4] 倪平波, 張捷, 楊帆,等. 基于KVM與Infiniband的SR-IOV的應(yīng)用研究[C]// 2016智能電網(wǎng)發(fā)展研討會論文集, 2016.endprint

      猜你喜歡
      隔離處理器
      入侵容忍數(shù)據(jù)庫隔離算法設(shè)計
      幼兒隔離中的安全問題
      人間(2016年27期)2016-11-11 15:45:42
      凝結(jié)水精處理系統(tǒng)大修提前準(zhǔn)備和改進(jìn)
      科技視界(2016年17期)2016-07-15 10:00:18
      醫(yī)院消毒隔離的預(yù)防與控制
      Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
      ADI推出新一代SigmaDSP處理器
      汽車零部件(2014年1期)2014-09-21 11:41:11
      呼嚕處理器
      小青蛙報(2014年1期)2014-03-21 21:29:39
      火線熱訊
      AItera推出Nios?。桑上盗熊浐颂幚砥?/a>
      南漳县| 玉门市| 樟树市| 饶阳县| 吉首市| 定南县| 高尔夫| 双流县| 顺平县| 东丰县| 宜良县| 宁海县| 仪陇县| 土默特左旗| 内乡县| 黄龙县| 依兰县| 嘉善县| 江永县| 金川县| 邯郸市| 芜湖市| 自治县| 清镇市| 东阿县| 育儿| 威海市| 祁东县| 茂名市| 云南省| 铅山县| 旺苍县| 车致| 紫阳县| 佛教| 永济市| 临沭县| 林口县| 获嘉县| 筠连县| 开原市|