• 
    

    
    

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

      一種獨(dú)立式I/O虛擬化方法研究

      2014-06-07 05:53:21蔣烈輝董衛(wèi)宇陳慧超
      計(jì)算機(jī)工程 2014年10期
      關(guān)鍵詞:宿主機(jī)磁盤寄存器

      宋 聿,蔣烈輝,董衛(wèi)宇,陳慧超

      (解放軍信息工程大學(xué)數(shù)學(xué)工程與先進(jìn)計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,鄭州450001)

      一種獨(dú)立式I/O虛擬化方法研究

      宋 聿,蔣烈輝,董衛(wèi)宇,陳慧超

      (解放軍信息工程大學(xué)數(shù)學(xué)工程與先進(jìn)計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,鄭州450001)

      當(dāng)前虛擬化系統(tǒng)中的設(shè)備仿真過程與I/O指令串行執(zhí)行,無法發(fā)揮真實(shí)體系結(jié)構(gòu)中直接存儲(chǔ)器訪問、異步I/O等加速I/O訪問技術(shù)的性能優(yōu)勢,致使虛擬平臺(tái)I/O性能與真實(shí)I/O性能存在一定差距。針對(duì)該問題,提出一種獨(dú)立式I/O虛擬化方法,通過將I/O仿真活動(dòng)(如磁盤讀寫)分離成一個(gè)獨(dú)立的進(jìn)程,虛擬機(jī)監(jiān)控器(VMM)只保留相應(yīng)的接口,達(dá)到將VMM與I/O設(shè)備分離實(shí)現(xiàn)仿真與指令并行化執(zhí)行的目的,并基于QEMU平臺(tái)實(shí)現(xiàn)該方法。實(shí)驗(yàn)結(jié)果表明,采用該方法后的QEMU I/O讀寫性能優(yōu)于原有I/O子系統(tǒng)。由于I/O指令不必再等待I/O仿真的結(jié)束,因此在提高CPU指令執(zhí)行速度的同時(shí),能夠有效提高4.9%的磁盤讀取速度及9.2%的VGA測試基準(zhǔn)軟件Viewpref得分。

      I/O虛擬化;設(shè)備仿真;虛擬機(jī)監(jiān)控器;異步I/O;直接存儲(chǔ)器訪問

      1 概述

      隨著我國制造水平的提高,我國已可以自主設(shè)計(jì)一些非X86指令集的處理器,但相應(yīng)軟件資源卻很少,因此,跨平臺(tái)的虛擬化作為一種軟件移植技術(shù),可以提供大量軟件資源,逐漸變得更有研究意義。虛擬化技術(shù)發(fā)展至今,已經(jīng)出現(xiàn)很多成熟的虛擬化平臺(tái),如VMware,QEMU(Quick Emulator)和Xen等。其中,QEMU和Xen因其開源、整機(jī)仿真等特性,已成為研究虛擬化技術(shù)的主流的2種虛擬化平臺(tái)。在以上2種系統(tǒng)虛擬化系統(tǒng)中,I/O虛擬化作為系統(tǒng)虛擬化的一個(gè)模塊,因其異構(gòu)性強(qiáng),難于進(jìn)行多虛擬機(jī)共享,內(nèi)部狀態(tài)不易控制和掌握等特點(diǎn),成為虛擬化技術(shù)的一個(gè)技術(shù)難點(diǎn)。

      本文提出一種獨(dú)立式的I/O子系統(tǒng)的設(shè)計(jì)方案SVIO(Stand-alone Virtual I/O)。在該方案中,使用一個(gè)新的線程來進(jìn)行I/O設(shè)備仿真,從而達(dá)到將虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,VMM)與I/O設(shè)備的仿真相互分離的目的,使兩者可以并行工作,以提升系統(tǒng)的整機(jī)性能。通過實(shí)現(xiàn)磁盤以及VGA的仿真模型并運(yùn)行標(biāo)準(zhǔn)測試軟件來分析其性能的優(yōu)劣。

      2 傳統(tǒng)I/O虛擬子系統(tǒng)

      對(duì)于一個(gè)完整的虛擬化平臺(tái)而言,除進(jìn)行CPU、內(nèi)存的仿真外,還需進(jìn)行輸入/輸出設(shè)備的仿真。I/O設(shè)備作為計(jì)算機(jī)與外界通信的橋梁,是客戶機(jī)正常運(yùn)行必不可少的因素,因此,虛擬化平臺(tái)必須提供各式各樣的I/O虛擬設(shè)備。

      2.1 傳統(tǒng)I/O虛擬子系統(tǒng)分類

      目前,主流設(shè)備虛擬化的實(shí)現(xiàn)方式主要有:設(shè)備仿真,直接分配和虛擬設(shè)備[1]。根據(jù)其實(shí)現(xiàn)的方式不同,其性能、兼容性也不盡相同。如設(shè)備仿真采用的是以全軟件仿真的方式實(shí)現(xiàn)I/O虛擬子系統(tǒng)。具有無需更改客戶機(jī)系統(tǒng)設(shè)備驅(qū)動(dòng)程序,兼容性好的優(yōu)勢。直接分配將一個(gè)物理I/O設(shè)備單獨(dú)分配給一個(gè)虛擬機(jī)以提升虛擬機(jī)I/O性能,但是需要Intel VT-d或IOMMU支持。虛擬設(shè)備模型是在Xen[2]中使用的一種性能較好的設(shè)備虛擬化方式。將驅(qū)動(dòng)程序分成前端/后端2個(gè)部分,前者從虛擬機(jī)中接收I/O請求后并不立即執(zhí)行,而是通過事件通道機(jī)制將請求轉(zhuǎn)發(fā)給后者,由后端驅(qū)動(dòng)完成請求。通過這種方式,Xen將前端的I/O訪問過程簡化,而后端批量處理由各個(gè)前端發(fā)來的請求,提升了虛擬I/O系統(tǒng)的性能。但是由于其更改了系統(tǒng)驅(qū)動(dòng),因此其兼容性略差,后端也容易成為I/O處理的性能瓶頸。文獻(xiàn)[3]詳細(xì)分析了Xen的分離驅(qū)動(dòng)模型,并測試其性能。文獻(xiàn)[4-5]以Xen為基礎(chǔ)平臺(tái),研究實(shí)現(xiàn)將物理設(shè)備從VMM中分離,供客戶機(jī)直接訪問。文獻(xiàn)[6]在Xen的I/O模型的基礎(chǔ)上提出一個(gè)VMM旁路I/O的思想,并建立了原型系統(tǒng)Xen-IB,通過測試InfiniBand性能發(fā)現(xiàn)其帶寬可以達(dá)到880 MB/s,是PCI-X總線的極限并且此帶寬與直接使用真實(shí)設(shè)備相同,采用IPoIB基準(zhǔn)測試時(shí)至少能保留有90%本地物理設(shè)備的性能。文獻(xiàn)[7]提出了一種基于多核平臺(tái)的設(shè)備虛擬化方案,在改善I/O處理效率的同時(shí),提高設(shè)備虛擬化模型的通用性。文獻(xiàn)[8]提出一個(gè)軟硬件結(jié)合的模擬器平臺(tái)FAST,利用異構(gòu)部件如FPGA,GPU等實(shí)現(xiàn)VMM加速。文獻(xiàn)[9]分析SR-IOV虛擬化技術(shù)相對(duì)于傳統(tǒng)虛擬化技術(shù)的優(yōu)勢。文獻(xiàn)[10]將其應(yīng)用到網(wǎng)卡的虛擬化中,性能只較真實(shí)網(wǎng)卡低1.76%。文獻(xiàn)[11]認(rèn)為I/O虛擬化性能將是云計(jì)算發(fā)展的瓶頸。

      通過以上分析,可以發(fā)現(xiàn)采用直接分配和虛擬設(shè)備實(shí)現(xiàn)的I/O虛擬子系統(tǒng)性能較好,但因其分別需要額外的硬件支持及修改系統(tǒng)驅(qū)動(dòng),所以其兼容性和通用性不強(qiáng)。而仿真設(shè)備由于是純軟件模擬,因此兼容性更好,并且其支持指令集不同的異構(gòu)平臺(tái)虛擬化。為此,本文將進(jìn)一步分析仿真設(shè)備模型,并在此基礎(chǔ)上構(gòu)建SVIO。

      2.2 設(shè)備仿真模型分析

      QEMU[12]是一個(gè)基于動(dòng)態(tài)二進(jìn)制翻譯技術(shù)的模擬處理器,其基本功能是作為一個(gè)虛擬機(jī)運(yùn)行無修改的Linux或者Windows系統(tǒng)。與其他虛擬機(jī)最大的不同在于它可以跨平臺(tái)的運(yùn)行系統(tǒng),是一個(gè)多源到多目標(biāo)的動(dòng)態(tài)二進(jìn)制翻譯系統(tǒng)。其內(nèi)部實(shí)現(xiàn)了多種不同的CPU仿真和I/O設(shè)備(如VGA、PS/2鼠標(biāo)鍵盤、IDE硬盤等)。QEMU的VMM運(yùn)行于主機(jī)操作系統(tǒng)之上,設(shè)備管理是完全交由宿主機(jī)操作系統(tǒng),而自身則僅作為宿主機(jī)的進(jìn)程動(dòng)態(tài)地加載程序,按照取指、譯碼、源指令翻譯至中間指令,中間指令翻譯至目標(biāo)指令這樣的執(zhí)行順序進(jìn)行仿真。QEMU系統(tǒng)結(jié)構(gòu)如圖1所示。

      圖1 QEMU系統(tǒng)結(jié)構(gòu)

      在動(dòng)態(tài)翻譯過程中,QEMU采用基本塊作為獨(dú)立的翻譯單元,將遇到的每一塊代碼都轉(zhuǎn)換成主機(jī)指令集。由于指令翻譯緩存、塊鏈等機(jī)制的存在,因此多數(shù)塊只需翻譯一次,大大提升了性能。當(dāng)遇到I/O指令,則以I/O端口地址為索引,分發(fā)到不同的I/O設(shè)備仿真模塊中。由于磁盤仿真相對(duì)其他設(shè)備比較復(fù)雜、全面,因此以磁盤仿真為例,詳細(xì)講述其仿真過程。

      IDE磁盤接口以其價(jià)格低廉、兼容性強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)被廣泛采用。其內(nèi)部共有兩大類寄存器接口:(1)命令寄存器組,包括數(shù)據(jù)寄存器、命令寄存器、扇區(qū)寄存器、狀態(tài)寄存器、錯(cuò)誤寄存器等。(2)控制寄存器組,包括設(shè)備控制寄存器和輔助狀態(tài)寄存器。通常IDE接口支持2類通信模式:(1)PIO(Programing I/O)傳輸模式;(2)DMA(Direct Memory Access)傳輸模式。雖然在幾乎所有的計(jì)算機(jī)中都已采用了DMA傳輸模式,但是在系統(tǒng)啟動(dòng)階段,往往還是先通過PIO模式加載系統(tǒng)內(nèi)核,所以對(duì)于一個(gè)虛擬磁盤而言必須同時(shí)支持這2種傳輸模式。無論是PIO模式還是DMA傳輸模式,操作系統(tǒng)實(shí)質(zhì)上都是通過一連串的IN/OUT指令完成。

      2.2.1 PIO傳輸模式

      在系統(tǒng)啟動(dòng)初期,是由BIOS或者LILO等程序提供磁盤驅(qū)動(dòng)程序,如13 h中斷調(diào)用。此時(shí)數(shù)據(jù)量較小,而且一般BIOS,LILO等本身功能有限,所以廣泛采用PIO模式。PIO傳輸過程如圖2所示。

      圖2 PIO傳輸過程

      PIO傳輸過程具體如下:

      (1)由翻譯模塊翻譯IN/OUT指令,訪問虛擬磁盤設(shè)備,定位需要讀取的數(shù)據(jù)。

      (2)由虛擬磁盤設(shè)備通過Read/Write系統(tǒng)調(diào)用讀取宿主機(jī)文件系統(tǒng)。若為寫操作,則將數(shù)據(jù)寫入磁盤緩沖區(qū),此時(shí),無論何種操作VMM將作為宿主機(jī)的進(jìn)程掛起,等待宿主機(jī)驅(qū)動(dòng)將數(shù)據(jù)讀取或?qū)懭虢Y(jié)束。

      (3)宿主機(jī)驅(qū)動(dòng)將數(shù)據(jù)寫入宿主機(jī)真實(shí)文件系統(tǒng)中或者將數(shù)據(jù)拷貝進(jìn)入虛擬磁盤的緩沖區(qū)。

      (4)通過宿主機(jī)中斷喚醒VMM進(jìn)程,這個(gè)過程由宿主機(jī)進(jìn)程調(diào)度器完成。

      (5)虛擬設(shè)備數(shù)據(jù)交換成功,將通過v8259發(fā)起中斷,這一過程與真實(shí)系統(tǒng)中斷過程一樣,VCPU在下一個(gè)基本塊翻譯前檢查并響應(yīng)中斷。

      (6)VCPU響應(yīng)中斷,跳轉(zhuǎn)至客戶機(jī)中斷處理程序。若是讀操作則通過串傳輸指令將數(shù)據(jù)從IDE緩存調(diào)入虛擬內(nèi)存中。然后根據(jù)扇區(qū)數(shù)寄存器確定本次傳輸是否結(jié)束,如果未結(jié)束轉(zhuǎn)到步驟(2)。

      由以上過程可以發(fā)現(xiàn),由于仿真設(shè)備模型存在于VMM內(nèi)部,因此VCPU與VMM之間是完全串行的關(guān)系。

      2.2.2 DMA傳輸模式

      對(duì)于DMA過程,系統(tǒng)會(huì)啟動(dòng)DMA控制器,此時(shí)系統(tǒng)直接將緩沖區(qū)內(nèi)的數(shù)據(jù)拷貝入虛擬內(nèi)存,而不是通過VCPU執(zhí)行串傳輸指令拷貝數(shù)據(jù)。而且在現(xiàn)代DMA傳輸過程中,為了進(jìn)一步提升DMA傳輸?shù)男?會(huì)增加2種現(xiàn)在被廣泛使用的技術(shù):

      (1)采用scatter-gather DMA方式。在這種方式下,由驅(qū)動(dòng)程序創(chuàng)建一個(gè)首地址及數(shù)據(jù)長度為一個(gè)單元的單元組,用于描述一段在物理上不連續(xù)的數(shù)據(jù)空間,然后把單元組的首地址寫入DMA控制器,當(dāng)DMA控制器完成一塊物理上連續(xù)地址的數(shù)據(jù)后,不用發(fā)起中斷,而是根據(jù)鏈表來傳輸下一塊物理上連續(xù)的數(shù)據(jù),直至完全傳輸完畢后發(fā)起一次中斷。

      (2)采用AIO異步I/O技術(shù)。在這種技術(shù)的支持下,虛擬設(shè)備模型不必等待真正的Read/Write系統(tǒng)調(diào)用發(fā)生前就可以返回,而后續(xù)工作將由輔助線程完成。作為系統(tǒng)驅(qū)動(dòng)只需等到中斷的到來即可。雖然提升了DMA傳輸?shù)男?但是其實(shí)現(xiàn)位置卻在底層,并且輔助線程存在時(shí)間短暫,并且僅限部分虛擬I/O設(shè)備,可能需要重新創(chuàng)建輔助線程。所以,這種技術(shù)在性能提升上比較有限。

      對(duì)于VGA設(shè)備而言,其仿真原理與磁盤設(shè)備相似,在此不再贅述。根據(jù)以上分析發(fā)現(xiàn),設(shè)備模型在VMM中導(dǎo)致VMM往往是串行地進(jìn)行VCPU與設(shè)備的仿真,而在I/O請求被處理的過程中,通常要經(jīng)歷復(fù)雜的設(shè)備仿真活動(dòng)。這導(dǎo)致了VCPU指令執(zhí)行的停頓,系統(tǒng)性能的下降,并且在真實(shí)的機(jī)器中,處理器不必等待這種復(fù)雜的設(shè)備活動(dòng)結(jié)束,而是通過調(diào)度器轉(zhuǎn)而執(zhí)行其他程序。因此,這種單進(jìn)程的VMM會(huì)因I/O活動(dòng)拖慢了虛擬化平臺(tái)的整體性能。

      3 SVIO子系統(tǒng)的設(shè)計(jì)

      本文基于現(xiàn)有虛擬化平臺(tái)QEMU,設(shè)計(jì)并實(shí)現(xiàn)了異步并行虛擬I/O子系統(tǒng)——SVIO,該子系統(tǒng)只在VMM中保留I/O設(shè)備的虛擬接口,用于快速獲得I/O設(shè)備的當(dāng)前狀態(tài)以及簡單配置工作等,并不參與仿真工作。而將I/O一些仿真過程,例如磁盤讀寫、VGA刷新等置于一個(gè)輔助線程SVIO中。通過這種設(shè)計(jì),VCPU不在等待I/O活動(dòng)的結(jié)束,而是在I/O活動(dòng)時(shí)轉(zhuǎn)而執(zhí)行其他程序。SVIO系統(tǒng)框架如圖3所示。

      圖3 SVIO系統(tǒng)結(jié)構(gòu)

      3.1 SVIO初始化

      SVIO作為獨(dú)立的I/O子系統(tǒng)將在VMM啟動(dòng)時(shí)一并初始化,其初始化過程將分為兩部分,消息隊(duì)列初始化和虛擬設(shè)備模型初始化。前者主要是VMM與SVIO通信的橋梁。兩者主要以消息為單位進(jìn)行通信,所以在初始化期間要建立消息隊(duì)列用于通信。后者作為仿真設(shè)備的一部分,使自身表現(xiàn)為一個(gè)虛擬設(shè)備,主要通過向PCI總線注冊設(shè)備,建立設(shè)備之間的拓?fù)潢P(guān)系,以及建立相應(yīng)的固件信息等。

      3.2 接口實(shí)現(xiàn)

      在SVIO模型中,虛擬設(shè)備通過消息隊(duì)列獲得VMM發(fā)來的請求,經(jīng)過處理后通過中斷機(jī)制反饋給VMM,并且通過共享緩沖區(qū)的方式實(shí)現(xiàn)數(shù)據(jù)反饋。通過消息隊(duì)列,可以實(shí)現(xiàn)VMM與SVIO的隔離,保護(hù)了SVIO的正常運(yùn)行。

      SVIO消息包含以下3個(gè)部分:(1)DevCode:設(shè)備標(biāo)識(shí)碼,用于區(qū)分設(shè)備,尋找接收消息的設(shè)備。(2)Command:設(shè)備命令,各設(shè)備有所不同。(3)Body:信息主體,用于VMM與設(shè)備之間的具體通信,各設(shè)備之間內(nèi)容及格式不同,例如:與磁盤通信包含用于定位扇區(qū)位置的扇區(qū)號(hào)、緩沖區(qū)位置等,而在VGA中則定義為空。

      從定義可以看出,消息包中不包含真實(shí)的數(shù)據(jù),而是VMM發(fā)起的I/O請求,當(dāng)多個(gè)不同設(shè)備的請求到來時(shí),就形成了一個(gè)消息隊(duì)列,由于SVIO和VMM是異步的關(guān)系,因此并不影響VMM和SVIO的正常運(yùn)行。消息隊(duì)列采用先入先出的原則,同時(shí)為了正確管理消息隊(duì)列,本文定義了一套原子操作用于讀寫其臨界區(qū)。為最大化地提升性能,采用自旋鎖來實(shí)現(xiàn)讀寫接口,如圖4所示。

      圖4 設(shè)備I/O環(huán)形隊(duì)列

      3.3 系統(tǒng)實(shí)現(xiàn)

      對(duì)于SVIO而言,其實(shí)質(zhì)是一個(gè)獨(dú)立于VMM而言的輔助線程,因此當(dāng)VCPU通過翻譯一連串IN/ OUT指令而發(fā)起一次I/O請求時(shí),不再退出翻譯引擎去執(zhí)行設(shè)備仿真,而是通過消息隊(duì)列將請求封裝發(fā)送至SVIO中,VMM則繼續(xù)翻譯執(zhí)行后續(xù)程序。此時(shí),SVIO收到消息后,對(duì)消息解封,轉(zhuǎn)而執(zhí)行設(shè)備仿真,完成后通過中斷機(jī)制和頁面共享通知VCPU進(jìn)行數(shù)據(jù)交互?;谠摍C(jī)制,可以將I/O設(shè)備的仿真與VMM中VCPU指令翻譯最大限度的分離,使兩者不再串行工作,可以極大地提升系統(tǒng)的響應(yīng)和指令執(zhí)行的速度,如圖5所示。

      圖5 設(shè)備請求處理過程

      4 系統(tǒng)性能測試

      本文采用QEMU動(dòng)態(tài)二進(jìn)制翻譯系統(tǒng)為平臺(tái),在其上面實(shí)現(xiàn)了SVIO系統(tǒng)模型,并對(duì)具有代表性的設(shè)備IDE-DMA和VGA進(jìn)行了測試。在磁盤設(shè)備測試中,本文采用Hdparm工具測試其讀取速度,結(jié)果如圖6所示。對(duì)于VGA設(shè)備,本文采用一款基于OpenGL的圖形測試基準(zhǔn)軟件Viewpref,觀測不同環(huán)境下的基準(zhǔn)測試結(jié)果,如圖7所示。

      圖6 硬盤讀取速率測試結(jié)果

      圖7 Viewpref測試結(jié)果對(duì)比

      通過比較可以發(fā)現(xiàn),引入SVIO后對(duì)系統(tǒng)整體性能有很大提升,磁盤讀取速度提升4.9%。而VGA顯示性能對(duì)于不同場景均有至少9.2%的提升。對(duì)于IDE而言,主要基于引入SVIO后,系統(tǒng)的VCPU執(zhí)行不在參與I/O活動(dòng),而是繼續(xù)執(zhí)行后續(xù)指令,使VCPU的執(zhí)行效率更高,I/O活動(dòng)則是交予SVIO仿真,而后通過中斷機(jī)制通知VCPU。所以,磁盤的讀取速度有所提升。對(duì)于VGA而言,并不涉及耗時(shí)的端口讀寫命令,但是其屏幕的刷新操作也會(huì)打斷VCPU的仿真,并且因其圖形顯示運(yùn)算復(fù)雜、次數(shù)繁多,因此在很大程度上限制了系統(tǒng)的圖形運(yùn)算能力,移入SVIO后,可以獲得較大的提升。并且磁盤操作相對(duì)于VGA刷新要少得多,因此將兩者置于同一SVIO中即可提升系統(tǒng)仿真的性能,也不會(huì)過多加重宿主機(jī)的負(fù)擔(dān),是一種有效提高系統(tǒng)虛擬化性能的方法。

      5 結(jié)束語

      本文分析了當(dāng)前主流虛擬化平臺(tái)的I/O子系統(tǒng)框架,提出一種并行I/O子系統(tǒng)SVIO的設(shè)計(jì)方案。引入SVIO后的測試結(jié)果表明,解決了I/O子系統(tǒng)與VCPU串行的問題,并且系統(tǒng)整體性能有較大提升,具有一定的實(shí)用性。下一步將通過引入真實(shí)硬件設(shè)備進(jìn)一步提升I/O的虛擬化性能。

      [1] 石 磊,鄒德清,金 海.Xen虛擬化技術(shù)[M].武漢:華中科技大學(xué)出版社,2009.

      [2] Barham P,Dragovic B,Fraser K,et al.Xen and the Art of Virtualization[J].ACM SIGOPS Operating Systems Review,2003,37(5):164-177.

      [3] 胡冷非,李小勇.基于Xen的I/O準(zhǔn)虛擬化驅(qū)動(dòng)研究[J].計(jì)算機(jī)工程,2009,35(23):258-259,262.

      [4] Xen VGA Passthrough[EB/OL].(2009-04-18).http:// wiki.xen.org/wiki/Xen_VGA_Passthrough.

      [5] 陳 誠.基于顯卡直接分配的虛擬機(jī)圖形加速系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(8):6-9.

      [6] Liu Junxing,Huang Wei,Abali B,et al.High Performance VMM-Bypass I/O in Virtual Machines[C]//Proceedings of 2006 USENIX Annual Conference.Berkeley,USA: USENIX Association,2006:29-42.

      [7] 趙玉春,郭玉東,王曉睿,等.協(xié)作型虛擬機(jī)中設(shè)備虛擬化研究[J].計(jì)算機(jī)工程,2012,38(14):283-286.

      [8] Chiou D,Sunwoo D,Kim J,et al.FPGA-accelerated Simulation Technologies(fast):Fast,Full-system,Cycleaccurate Simulators[C]//Proceedingsofthe 40th Annual IEEE/ACM International Symposium on Microarchitecture.Chicago, USA: IEEE Computer Society,2007:249-261.

      [9] 李 超.SR-IOV虛擬化技術(shù)的研究與優(yōu)化[D].長沙:國防科學(xué)技術(shù)大學(xué),2010.

      [10] Dong Y,Yang X,Li J,et al.High Performance Network Virtualization with SR-IOV[J].Journal of Parallel and Distributed Computing,2012,72(11):1471-1480.

      [11] Shafer J.I/O Virtualization Bottlenecks in Cloud Computing Today[C]//Proceedings of the 2nd Conference on I/O Virtualization.Berkeley,USA:USENIX Association, 2010:5-7.

      [12] Bellard F.QEMU,A Fastand Portable Dynamic Translator[C]//Proceedings of Annual Conference on USENIX Annual Technical Conference.Berkeley,USA: USENIX Association,2005:41-46.

      編輯 陸燕菲

      Research on a Stand-alone I/O Virtualization Method

      SONG Yu,JIANG Lie-hui,DONG Wei-yu,CHEN Hui-chao
      (State Key Laboratory of Mathematical Engineering and Advanced Computing, PLA Information Engineering University,Zhengzhou 450001,China)

      Because current virtualized devices in the system simulation process and I/O instructions execute serially, which can not play performance advantages of accelerated I/O access technical such as Direct Memory Access(DMA), asynchronous I/O in the real architecture,there is a certain gap between virtual platform I/O performance and the real I/O performance.To solve this problem,this paper presents a stand-alone I/O virtualization method,which separates the I/O simulation activities such as disk access from the Virtual Machine Monitor(VMM)only retained the appropriate interfaces by putting the activities in a stand-alone process to achieve I/O simulation and parallel instruction execution, and based on QEMU platform implements the method.Experimental results show that the I/O performance is better than the original QEMU I/O subsystem by this method.Because I/O instructions do not have to wait for I/O simulation ends, this method not only improves the speed of the CPU instruction execution,but also can effectively improve disk read speed by 4.9%and increase software Viewpref VGA benchmark score by 9.2%.

      I/O virtualization;device simulation;Virtual Machine Monitor(VMM);asynchronous I/O;Direct Memory Access(DMA)

      1000-3428(2014)10-0081-05

      A

      TP302

      10.3969/j.issn.1000-3428.2014.10.016

      宋 聿(1988-),男,碩士研究生,主研方向:虛擬化技術(shù);蔣烈輝,教授;董衛(wèi)宇,副教授;陳慧超,碩士研究生。

      2013-09-16

      2013-11-19E-mail:ysong1988@163.com

      中文引用格式:宋 聿,蔣烈輝,董衛(wèi)宇,等.一種獨(dú)立式I/O虛擬化方法研究[J].計(jì)算機(jī)工程,2014,40(10):81-85.

      英文引用格式:Song Yu,Jiang Liehui,Dong Weiyu,et al.Research on a Stand-alone I/O Virtualization Method[J]. Computer Engineering,2014,40(10):81-85.

      猜你喜歡
      宿主機(jī)磁盤寄存器
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      解決Windows磁盤簽名沖突
      電腦愛好者(2019年2期)2019-10-30 03:45:31
      修改磁盤屬性
      虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
      嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)的思考
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      磁盤組群組及iSCSI Target設(shè)置
      創(chuàng)建VSAN群集
      嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)研究
      在不連接網(wǎng)線的情況下Windows與VM之間如何ping通
      林周县| 宝应县| 金塔县| 阜阳市| 永丰县| 新巴尔虎左旗| 襄汾县| 南城县| 霞浦县| 游戏| 白山市| 庆城县| 馆陶县| 马尔康县| 蕉岭县| 花莲县| 隆子县| 宿州市| 亚东县| 淮阳县| 扎鲁特旗| 陇西县| 射阳县| 寿宁县| 郎溪县| 梁河县| 合肥市| 盘山县| 彩票| 云梦县| 同德县| 宜兰县| 家居| 兴安盟| 青铜峡市| 于田县| 澄江县| 拜泉县| 郓城县| 修文县| 务川|