大創(chuàng)參考3李丁丁博士_第1頁
大創(chuàng)參考3李丁丁博士_第2頁
大創(chuàng)參考3李丁丁博士_第3頁
大創(chuàng)參考3李丁丁博士_第4頁
大創(chuàng)參考3李丁丁博士_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、A Dissertation Submitted in Partial Fulfillment of the Requirementsfor the Degree of Doctor of Philosophy in EngineeringWrite Performance Optimization of Virtual Machine on the Local StoragePh.D.Candidate:Dingding LiMajor:Computer ArchitectureSupervisor:Prof. Hai JinHuazhong University of Science an

2、d TechnologyWuhan 430074, P. R. China May, 2013獨(dú)創(chuàng)性本人所呈交的是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。盡我所知,除文中已經(jīng)標(biāo)明的內(nèi)容外,本不包含任何其他個(gè)人或集體已經(jīng)或撰寫過的研究成果。對(duì)本文的研究做出貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全,本的法律結(jié)果由本人承擔(dān)。作者簽名:日期:年月日使用書本作者完全了解學(xué)校有關(guān)保留、使用的規(guī)定,即:學(xué)校保留并向有關(guān)部門或機(jī)構(gòu)送交的復(fù)印件和,被查閱和借閱。本人華技大學(xué)可以將本的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等保存和匯編本。 ,在年。后適用本書。本屬于不

3、(請(qǐng)?jiān)谝陨戏娇騼?nèi)打“”)作者簽名:指導(dǎo)教師簽名:日期:年月日日期:年月華技 大 學(xué)博 士摘要系統(tǒng)虛擬化技術(shù)解耦了傳統(tǒng)操與硬件設(shè)備之間的粘合度,使得多個(gè)同時(shí)運(yùn)行的操例程(虛擬機(jī))可以部署在單個(gè)的物理平臺(tái)上以共享底層的硬件資源,從而實(shí)現(xiàn)服務(wù)器整合而達(dá)到提高硬件利用率的效果。除此之外,系統(tǒng)虛擬化技術(shù)還可以為操在同構(gòu)、甚至異構(gòu)物理平臺(tái)之間的實(shí)時(shí)遷移,用戶計(jì)算環(huán)境的快速部署、以及軟件的安全等需求上帶來有效可靠的技術(shù)解決方案,降低了組織機(jī)構(gòu)或個(gè)人在計(jì)算機(jī)硬件和相關(guān)管理上的投資成本。盡管如此,相比較傳統(tǒng)的操環(huán)境,虛擬化技術(shù)亦給底層的設(shè)備的寫入方向帶來了性能。這是因?yàn)椋旱谝?,由于虛擬機(jī)管理器的引入,使得虛擬機(jī)

4、內(nèi)部的寫請(qǐng)求需要經(jīng)歷更長(zhǎng)的 I/O 路徑,增加了額外的 CPU 開銷;第二,虛擬機(jī)管理器的引入亦使得虛擬機(jī)內(nèi)部的相關(guān)塊設(shè)備驅(qū)動(dòng)程序很難獲取準(zhǔn)確的設(shè)備相關(guān)信息,失去了寫操作性能進(jìn)一的機(jī)會(huì);第三,由于服務(wù)器整合,使得共享存儲(chǔ)設(shè)備需要面對(duì)和處理成倍增加的并發(fā)寫請(qǐng)求數(shù)目,進(jìn)一步加劇了其性能瓶頸。目前,國(guó)內(nèi)外相關(guān)的虛擬化性能優(yōu)化工作偏重于方面,而對(duì)于寫入方面則存在一定程度上的關(guān)注。因此有必要對(duì)虛擬機(jī)本地寫操作的性能進(jìn)行研究和優(yōu)化。虛擬機(jī)本地寫操作的新模型,可以對(duì)虛擬機(jī)內(nèi)部的文件級(jí)寫操作進(jìn)行同步處理,再對(duì)虛擬機(jī)管理器的塊級(jí)寫操作進(jìn)行異步處理。其中,虛擬機(jī)內(nèi)部的同步處理意味著寫請(qǐng)求可以繞過文件系統(tǒng)的復(fù)雜異步

5、處理邏輯,縮短其從虛擬機(jī)層次到虛擬機(jī)管理器層次之間所需要經(jīng)歷的 I/O 路徑,而異步處理指的是在塊級(jí)的寫請(qǐng)求到達(dá)硬件之前,根據(jù)底層具體的特性,在虛擬機(jī)管理器層次進(jìn)行相關(guān)優(yōu)化,以減輕共享由于并發(fā) I/O 數(shù)目激增而產(chǎn)生的處理。基于域間通信技術(shù)的虛擬機(jī)協(xié)議棧優(yōu)化機(jī)制,進(jìn)一步優(yōu)化了虛擬機(jī)本地存儲(chǔ)寫操作的性能。通過利用虛擬提供的域間通口,進(jìn)一步減小寫操作從I華技 大 學(xué) 博 士虛擬機(jī)層次切換到虛擬機(jī)管理器層次的 CPU 開銷。同時(shí),該優(yōu)化機(jī)制亦可以在單獨(dú)的虛擬化體系結(jié)構(gòu)下使用。固態(tài)盤在虛擬化環(huán)境下寫放大問題的優(yōu)化機(jī)制,可以看作是虛擬機(jī)本地寫操作的具體應(yīng)用。具體而言,由于虛擬機(jī)管理器的引入,導(dǎo)致虛擬機(jī)文

6、件系統(tǒng)與虛擬機(jī)管理器文件系統(tǒng)之間產(chǎn)生語義,使得底層基于 NAND 閃存的固態(tài)盤設(shè)備需要接收的重寫操作,從而產(chǎn)生持續(xù)寫放大的性能問題。該機(jī)制通過在虛擬機(jī)管理器層次加入塊級(jí)別的寫操作緩存,并在其上施加特定緩存管理邏輯,以緩解重寫操作增多而導(dǎo)致寫放大問題在虛擬化固態(tài)盤上產(chǎn)生的性能影響。綜上所述,通過使用虛擬機(jī)本地寫操作的新模型,可以減小寫請(qǐng)求所需要消耗的至多 80%左右的虛擬化 CPU 開銷,也可以在虛擬機(jī)管理器層次加入對(duì)特定存儲(chǔ)硬件設(shè)備的優(yōu)化機(jī)制,以此來對(duì)整個(gè)虛擬化系統(tǒng)進(jìn)行相應(yīng)的 I/O 優(yōu)化,緩解共享存儲(chǔ)設(shè)備所需要面對(duì)和處理的 I/O影響其性能。同時(shí),該虛擬化寫操作模型對(duì)讀操作兼容,不:虛擬化技

7、術(shù),性能,異步處理,同步處理,磁盤,固態(tài)盤II華技 大 學(xué) 博 士AbstractVirtualization technology reduces the affibetween traditional operating system(OS) and hardware, allowing multiple OS instances to run simultaneously on a single physical machine, thus improves the hardware utilization. Furthermore, virtualization technology

8、provides an efficient and reliable solution, for the live migration of OS between homogeneous and even heterogeneous platforms, for the rapid deploy of user computing environment, and for the safe isolation of malicious software, largely reducing the IT investment cost of relevant organizations or i

9、ndividuals.However, compared with the traditional OS, virtualization technology challenges the write performance of shared storage device. First, due to the interposition of virtual machine monitor (VMM), write requests are required to experience the longer I/O path, incurring extra CPU overhead. Se

10、cond, because of semantic gap, VMM eliminates theaccurate information of specific storage device to the virtual block driver inside a virtualmachine (VM), sacrificing a critical opportuto improve the write performanceaccording to the specific storage device. Third, due to server consolidation, the s

11、hared storage is required to face and handle the multiplied write requests, which further deteriorates the bottleneck of system performance. For the moment, many researchers focus only on the read direction to improve the performance of virtualized disk I/O, leaving write direction as unconcerned. T

12、o fill this gap, this paper provides insight into the main problems of write performance in a virtualized system and then presentsimprovements upon it.First, we propose a novel disk I/O mof virtualized system, called HypeGear.This new mhandles the file level write request inside VM as synchronous ma

13、nner,and then deals the block level write request inside VMM with asynchronous manner. Synchronous means that the write request can bypass the complex procedure in VMs original path and asynchronous manner indicates that VMM can improve the write requests according the specific storages characterist

14、ic, instead of directly being writteninto the bottom disk device.III華技 大 學(xué) 博 士Second, we devise a method to improve the storage protocol stack of a typical virtualized system, which can further reduce the CPU consumption of HypeGear. In detail, we leverage the interface of inter-domain transferring

15、provided by virtualized system, accelerating the process of VMs write request being trapped into VMM. It should be noted that this method can be deployed separately on the original virtualized system, not depending on HypeGear.Third, we propose an improvement for a virtualized solid state drive (SSD

16、) system. This improvement can be treated as a specific application of HypeGear. In detail, due to the interposition of VMM, the semantic bridge between VMs and VMMs file systems are masked, which allowing more rewrite requests to be rushed into SSD and producing the problem of write amplification.

17、Our improvement adds a block level write cache into VMM layer and uses a tailor-made cache management to reduce the number of rewrite that must touch SSD. In this way, the seriousness of write amplification in a virtualizedSSD system can be effectively relieved.In summary, our new disk I/O mof virtu

18、alized system can improve up to 80%CPU consumption of storage protocol stacks in a virtualized system. It also can implement some effective and specific improvements inside VMM layer to enhance the performance of different storage devices, improving the bottleneck of these shared storage devices in

19、the virtualized environment.Key words: Virtualization technology, Disk I/O performance, Asynchronous,Synchronous, Rotating disk, Solid state driveIV華技 大 學(xué) 博 士目錄摘要IAbstractIII11.11.21.31.4緒論研究背景(1)國(guó)內(nèi)外研究現(xiàn)狀(7)研究?jī)?nèi)容(13)組織結(jié)構(gòu)(15)2 虛擬機(jī)本地寫操作新模型2.12.22.32.42.5研究背景(17)新模型結(jié)構(gòu)設(shè)計(jì)(24)新模型結(jié)構(gòu)實(shí)現(xiàn)(32)新模型結(jié)構(gòu)測(cè)試(35)小結(jié)(45)3 基

20、于域間通信技術(shù)的虛擬機(jī)協(xié)議棧優(yōu)化機(jī)制3.13.23.33.43.53.6研究背景(46)協(xié)議棧流程分析(48)協(xié)議棧優(yōu)化機(jī)制(53)虛擬機(jī)虛擬機(jī)優(yōu)化機(jī)制通用性討論(57)性能測(cè)試(59)小結(jié)(64)4 固態(tài)盤在虛擬化環(huán)境下寫放大問題的優(yōu)化機(jī)制4.1 研究背景(65)VI華技 大 學(xué) 博 士4.24.34.44.54.6實(shí)例分析(67)優(yōu)化方案設(shè)計(jì)(74)優(yōu)化方案具體實(shí)現(xiàn)(78)性能測(cè)試(79)小結(jié)(85)5 總結(jié)與展望(87)致謝(89)參考文獻(xiàn)(91)附錄 1附錄 2附錄 3附錄 4附錄 5縮略詞簡(jiǎn)表(105)攻讀博士學(xué)位期間的學(xué)術(shù). (106). (107)攻讀博士學(xué)位期間申請(qǐng)發(fā)明專利與軟

21、件著作攻讀博士學(xué)位期間參加的主要科研項(xiàng)目(108)個(gè)人簡(jiǎn)歷(109)VII華技 大 學(xué) 博 士插圖目錄圖 1.1圖 1.2圖 1.3圖 1.4圖 1.5圖 1.6圖 2.1圖 2.2圖 2.3圖 2.4圖 2.5圖 2.6圖 2.7圖 2.8圖 2.9圖 2.10圖 2.11圖 2.12圖 2.13圖 2.14基于設(shè)備模擬的 I/O 全虛擬化技術(shù)(2)基于定制驅(qū)動(dòng)的I/O 半虛擬化技術(shù)(3)基于PCI 硬件設(shè)備穿透的I/O 虛擬化技術(shù)(4)基于用戶空間I/O進(jìn)程技術(shù)的 Blktap 驅(qū)動(dòng)(5)研究?jī)?nèi)容和體系結(jié)構(gòu)及各部分之間的. (14)本文的組織結(jié)構(gòu)(15)同步方式下的 CPU 和內(nèi)存消耗 .

22、 (21)主機(jī)文件系統(tǒng)在異主機(jī)文件系統(tǒng)在同步 I/O 模型下的測(cè)試(21)虛擬機(jī)寫操作新模型 HypeGear 體系結(jié)構(gòu)圖(24)虛擬機(jī)寫操作新模型下的 GearCache 模塊結(jié)構(gòu)圖(27)虛擬機(jī)寫操作新模型下的恢復(fù)示意圖(30)虛擬機(jī)寫操作新模型在Xen 平臺(tái)上的實(shí)現(xiàn)(33)虛擬機(jī)寫操作新模型下GearCache 模塊的內(nèi)部實(shí)現(xiàn)結(jié)構(gòu)(34)虛擬機(jī)文件寫操作虛擬機(jī)文件I/O 讀寫的能力測(cè)試(37)相對(duì)性能分?jǐn)?shù)(38)磁盤設(shè)備的寫入優(yōu)化測(cè)試結(jié)果(40)三種寫操作模型在基于 Web Sever 工作流下的性能(41)三種寫操作模型在基于 Linux 內(nèi)核編譯工作流下的性能(42)三種寫操作模型在

23、基于文件服務(wù)器工作流下的性能(43)三種寫操作模型在虛擬機(jī)管理器層次的消耗(44)VIII華技 大 學(xué) 博 士圖 3.1圖 3.2圖 3.3圖 3.4圖 3.5圖 3.6圖 3.7圖 3.8圖 3.9圖 3.10圖 4.1圖 4.2圖 4.3圖 4.4圖 4.5圖 4.6圖 4.7圖 4.8圖 4.9圖 4.10基于 Blktap 塊設(shè)備驅(qū)動(dòng)前后端的 Xen 平臺(tái)協(xié)議棧(48)Xen的 CPU 開銷分布(52)協(xié)議棧在和寫入B2L 結(jié)構(gòu)運(yùn)行示意圖(54)PageCamp 結(jié)構(gòu)運(yùn)行示意圖(56)B2L 和PageCamp 結(jié)構(gòu)在VMwrae ESX 平臺(tái)上的移植方案(58)XenXen協(xié)議棧上的

24、寫入方向優(yōu)化效果(60)協(xié)議棧上的方向優(yōu)化效果(60)基于典型測(cè)試程序的性能結(jié)果(61)基于真實(shí)工作流的測(cè)試結(jié)果(62)基于 Ramdisk 的模擬測(cè)試結(jié)果(63)的算法偽代碼描述(69)精簡(jiǎn)寫精簡(jiǎn)后的 ClouDesk 寫操作延遲(71)vFlashCache 結(jié)構(gòu)設(shè)計(jì)圖(76)vFlashCache 結(jié)構(gòu)在寫入vFlashCache 結(jié)構(gòu)在緩存行為的偽代碼描述(77)緩存行為的偽代碼描述(78)來自I/O文件的 ClouDesk 寫延遲CDF 分布(81)虛擬機(jī)的讀寫請(qǐng)求在 vSSDCache 里的平均. (81)vFlashCache 結(jié)構(gòu)下的vFlashCache 結(jié)構(gòu)在工作流性能測(cè)試

25、(82)多工作流下的性能效果(84)vFlashCache 結(jié)構(gòu)在Dom0 中的 CPU 消耗情況(85)IX華技 大 學(xué) 博 士表格目錄表 2.1表 2.2表 3.1表 3.2表 3.3表 4.1表 4.2表 4.3研究虛擬機(jī)文件系統(tǒng)冗余緩存行為的軟硬件配置(20)虛擬機(jī)測(cè)試場(chǎng)景的 SQL語句完成情況(39)Xen 讀寫流程分析的軟硬件配置(50)Xen協(xié)議棧的 CPU 開銷分類(51)典型測(cè)試程序配置描述(61)ClouDesk 服務(wù)端基本軟硬件配置(68)SSD 基本術(shù)語(72)vSSDFlush 刷新組件的觸發(fā)條件(78)X華技大學(xué) 博士XI華技 大 學(xué) 博 士1緒論本章首先介紹虛擬機(jī)

26、本地I/O 技術(shù)的研究背景,然后分析當(dāng)前國(guó)內(nèi)外研究現(xiàn)狀和不足,接著指出本文研究的目的和意義,并給出研究?jī)?nèi)容和主要貢獻(xiàn),最后介紹本文的組織結(jié)構(gòu)。1.1 研究背景1.1.1 I/O 虛擬化技術(shù)“虛擬”一詞在計(jì)算機(jī)領(lǐng)域中的應(yīng)用非常廣泛,并且在實(shí)踐中已經(jīng)被證明了有許多顯著并且多樣的優(yōu)點(diǎn)。例如:由 Virtual Memory 表示的虛擬內(nèi)存1,可以用磁盤的部分空間來擴(kuò)充物理內(nèi)存的容量,以便系統(tǒng)可以正常運(yùn)行更加大型的軟件;由Virtual Private Network 表示的虛擬 網(wǎng)絡(luò)2,可以為個(gè)人或者公司提供安全的網(wǎng)絡(luò)通信,而不必關(guān)心其底層的鏈路是否架設(shè)于安全性較高的網(wǎng)絡(luò)之上;由 Java Virt

27、ualMachine 表示的 Java 虛擬機(jī)3,則可以輕易地將一段相同的 Java 源代碼部署到不同的物理平臺(tái)之上,從而減輕相關(guān)的移植工作負(fù)擔(dān),等等。本文所關(guān)注的范圍是系統(tǒng)虛擬化4當(dāng)中的 I/O 虛擬化技術(shù)5,它的具體含義為:在一臺(tái)物理機(jī)之上,通過虛擬機(jī)管理器軟件 VMM(Virtual Machine Monitor),將具體的 I/O 硬件進(jìn)行邏輯抽象,再把這些抽象之后的邏輯 I/O 硬件單元提供給上層的操(虛擬機(jī))和使用。因此,在系統(tǒng)虛擬化環(huán)境下,虛擬機(jī)底層的 I/O 硬件其對(duì)應(yīng)的邏輯 I/O 單元,然后再根據(jù) VMM 的具體物首先需要理規(guī)則,將此請(qǐng)求轉(zhuǎn)換為實(shí)際的物理 I/O 請(qǐng)求,到

28、對(duì)應(yīng)的實(shí)體 I/O 硬件單元之中。相比較傳統(tǒng)的計(jì)算環(huán)境而言,VMM 的介入使得操和 I/O 硬件之間的呈現(xiàn)出間接性的特點(diǎn),并且解耦了它們之間的粘合度。這種特性為 IT 領(lǐng)域一些實(shí)際的需求和場(chǎng)景帶來靈活而又可靠的解決方案,例如:為了節(jié)省相關(guān)組織機(jī)構(gòu)或者個(gè)人在 IT 基礎(chǔ)設(shè)施上的投入以及相關(guān)管理開銷,可以將多個(gè)同時(shí)運(yùn)行的1華技 大 學(xué) 博 士虛擬機(jī)部署在單個(gè)的物理平臺(tái)之上,以實(shí)現(xiàn)服務(wù)器整合功能來共享底層的 I/O 硬件資源6;為了在同構(gòu)、甚至是異構(gòu)硬件平臺(tái)之間進(jìn)行相關(guān)服務(wù)的實(shí)時(shí)遷移,可以利用 I/O虛擬化技術(shù)來底層具體的硬件細(xì)節(jié)差異,以減輕操對(duì)底層設(shè)備的粘合度,從而實(shí)現(xiàn)對(duì)用戶透明的服務(wù)跨平臺(tái)遷移7

29、。根據(jù) VMM 的邏輯硬件單元到實(shí)體硬件單元的具體規(guī)則,可以進(jìn)一步將 I/O虛擬化技術(shù)分為全虛擬化(Full Virtualization)、半虛擬化(Para Virtualization)和基于硬件輔助的虛擬化(Hardware-assited Virtualization)三大類型。(1)全虛擬化技術(shù)I/O 全虛擬化技術(shù)主要是通過名為“陷入后模擬”8的經(jīng)典虛擬化模式來處理虛擬機(jī)發(fā)出的 I/O 請(qǐng)求。具體流程如圖 1.1 所示:(1)當(dāng)一個(gè)虛擬機(jī)發(fā)出了某個(gè) I/O 請(qǐng)求后,“模擬 I/O 設(shè)備驅(qū)動(dòng)”會(huì)負(fù)責(zé)接收該請(qǐng)求,并且向該設(shè)備驅(qū)動(dòng)模擬的虛擬設(shè)備發(fā)出具體的輸入輸出指令(例如 ATA 指令)

30、;(2)“模擬 I/O 設(shè)備”捕獲到該指令后,產(chǎn)生“陷入”操切換到虛擬機(jī)管理器上下文;(3)“模擬 I/O 設(shè)備”驗(yàn)證該請(qǐng)求,并將此虛擬 I/O 請(qǐng)求轉(zhuǎn)換為物理 I/O 請(qǐng)求,再交付給“物理 I/O 設(shè)備驅(qū)動(dòng)”去執(zhí)行;(4)請(qǐng)求完成后,“模擬 I/O 設(shè)備”向上層返回一個(gè)應(yīng)答信息。虛擬機(jī)虛擬機(jī)模擬I/O設(shè)備驅(qū)動(dòng)虛擬機(jī)管理器物理I/O設(shè)備驅(qū)動(dòng)I/O硬件平臺(tái)圖 1.1 基于設(shè)備模擬的 I/O 全虛擬化技術(shù)在上述 I/O 指令虛擬化過程中,“模擬 I/O 設(shè)備驅(qū)動(dòng)”可以向上層的虛擬機(jī)模擬真實(shí)的 I/O 設(shè)備,例如 Novell NE 1000 網(wǎng)絡(luò)適配器。因此,傳統(tǒng)的操幾乎可以不需要進(jìn)行任何修改,就

31、可以在使用了 I/O 全虛擬化技術(shù)的虛擬機(jī)管理器上正常運(yùn)向后兼容。I/O 全虛擬化技術(shù)的典型代表是 VMware行,并且對(duì)許多早期的操2模擬I/O設(shè)備物理I/O設(shè)備模擬I/O設(shè)備驅(qū)動(dòng)華技 大 學(xué) 博 士公司旗下的 Workstation 系列8,以及開源虛擬化平臺(tái)的 KVM(Kernel Virtual Machine)當(dāng)中的 QEMU 設(shè)備模型9。(2)半虛擬化技術(shù)和 I/O 全虛擬化技術(shù)相比,I/O 半虛擬化技術(shù)10通過修改操內(nèi)部的 I/O 設(shè)備驅(qū)動(dòng)程序,使其能夠從內(nèi)部感知到虛擬化平臺(tái)的存在,盡早的跳出虛擬機(jī)運(yùn)行上下文,從而縮短了一定的 I/O 協(xié)議棧處理流程,并且減小了虛擬機(jī)和虛擬機(jī)管理

32、器之間的上下文切換次數(shù),提升了性能。具體流程如圖 1.2 所示:(1)虛擬機(jī)發(fā)出的 I/O請(qǐng)求傳遞到“虛擬 I/O 設(shè)備驅(qū)動(dòng)前端”;(2)該設(shè)備驅(qū)動(dòng)前端通過特定的虛擬化平臺(tái)通信機(jī)制,將該請(qǐng)求的據(jù)信息傳遞到“虛擬 I/O 設(shè)備驅(qū)動(dòng)后端”;(3)設(shè)備之后,進(jìn)行邏輯請(qǐng)求到物理請(qǐng)求的轉(zhuǎn)換,并與“物驅(qū)動(dòng)后端驗(yàn)證了該 I/O 請(qǐng)求的理 I/O 設(shè)備驅(qū)動(dòng)”進(jìn)行交互。虛擬機(jī)虛擬I/O設(shè)備驅(qū)動(dòng)前端虛擬機(jī)管理器物理I/O設(shè)備驅(qū)動(dòng)I/O硬件平臺(tái)圖 1.2 基于定制驅(qū)動(dòng)的 I/O 半虛擬化技術(shù)在半虛擬化過程中,虛擬 I/O 設(shè)備驅(qū)動(dòng)前端還可以利用和后端的共享內(nèi)存機(jī)制來實(shí)現(xiàn)與 I/O 設(shè)備的直接交互,例如 DMA(Di

33、rect Memory Access)數(shù)據(jù)傳輸,以此避免了系統(tǒng)內(nèi)部的數(shù)據(jù)拷貝開銷,實(shí)現(xiàn)了更好的 I/O 性能。但是,由于 I/O 半虛擬化需要修改虛擬機(jī)內(nèi)部的相關(guān)驅(qū)動(dòng)程序,使得虛擬化技術(shù)的性受到了一定程度的破研發(fā)需要為虛擬化環(huán)境付出額外的努力。因此,I/O 半壞,造成了相關(guān)操虛擬化技術(shù)曾經(jīng)在一段時(shí)間內(nèi)對(duì)操的兼容性表現(xiàn)一般,尤其是在商業(yè)操作系統(tǒng)領(lǐng)域。盡管如此,由于半虛擬化技術(shù)在 I/O 性能和衡,越來越多的虛擬化廠商,甚至是傳統(tǒng)商業(yè)操性之間有一個(gè)較為合理的平廠商,開始在的相關(guān)產(chǎn)3物理I/O設(shè)備虛擬I/O設(shè)備驅(qū)動(dòng)后端虛擬機(jī)虛擬I/O設(shè)備驅(qū)動(dòng)前端華技 大 學(xué) 博 士品中加入半虛擬化驅(qū)動(dòng)支持,例如 V

34、Mware 公司的 Virtual Machine Interface11和Microsoft 公司的 Hyper-V12等。再加上現(xiàn)階段較具影響力的開源操Linux 力推的半虛擬化規(guī)范接口Virtio13,使其在大部分場(chǎng)為了部署系統(tǒng)虛擬化方案的首選。I/O 半虛擬化技術(shù)的典型代表是 Xen 虛擬機(jī)的分離式驅(qū)動(dòng)模型14。(3)硬件輔助虛擬化技術(shù)顧名思義,硬件輔助 I/O 虛擬化技術(shù)需要特殊 I/O 硬件的支持。以當(dāng)前較為著名的 Intel 公司旗下的 VT-D(Virtualization Technology for Directed I/O)15技術(shù)為例, 一塊基于 PCIE 總線的設(shè)備,

35、例如網(wǎng)卡適配器,可以直接繞過 VMM 的干預(yù),直接以PCI 穿透的方式(PCI Passthrough的所示。)與特定虛擬機(jī)綁定,其大致的工如圖 1.3虛擬機(jī)虛擬機(jī)物理I/O設(shè)備驅(qū)動(dòng)物理I/O設(shè)備驅(qū)動(dòng)穿透獨(dú)享訪問穿透獨(dú)享訪問虛擬機(jī)管理器I/O硬件平臺(tái)圖 1.3 基于 PCI 硬件設(shè)備穿透的 I/O 虛擬化技術(shù)該穿透的交互模式可以接近傳統(tǒng)操環(huán)境下的硬件性能。但是,在此技術(shù)下,由于一塊單獨(dú)的物理 I/O 設(shè)備被某個(gè)虛擬機(jī)獨(dú)享,造成其它虛擬機(jī)不能該設(shè)備,引起了一定程度上的浪費(fèi)。為了緩解該問題,計(jì)算機(jī)部件互聯(lián)專業(yè)組 PCI-SIG(Peripheral Component Interconnect S

36、pecial Interest Group)16制訂了單根 I/O 虛擬化規(guī)范 SR-IOV(Single Root I/O Virtualization)17,一個(gè) PCIE 設(shè)備從物理上導(dǎo)出多個(gè) PCI 虛擬功能單元,在物理層次上實(shí)現(xiàn)虛擬化的功能。該方法一大特點(diǎn)就是需要特殊硬件的支持,例如:特定的 CPU 和主板,在一些場(chǎng)合甚至對(duì)具體的 I/O 硬件設(shè)備也有具體的規(guī)定。因此,I/O 硬件輔助虛擬化技術(shù)對(duì)于虛擬機(jī)在異構(gòu)的物理平臺(tái)之間的實(shí)時(shí)遷移場(chǎng)景支持的不夠友好,但是其提供4物理I/O設(shè)備物理I/O設(shè)備華技 大 學(xué) 博 士的 I/O 性能仍然是 I/O 全虛擬化技術(shù)和半虛擬化技術(shù)所無法比擬的。

37、因此,基于硬件輔助的 I/O 虛擬化技術(shù)更加適用于一些高端服務(wù)器場(chǎng)合。1.1.2虛擬化技術(shù)作為 I/O 設(shè)備中的部分子系統(tǒng)在系統(tǒng)虛擬化技術(shù)中的具體解決方案可以借鑒前面提出來的三種 I/O 虛擬化方法。不同的是,當(dāng)前一些開源的虛擬化都傾向于使用一種名為“用戶空間 I/O進(jìn)程”的方式來處理虛擬機(jī)的磁盤讀寫請(qǐng)求。這種方式的典型代表是 Xen 平臺(tái)的 Blktap 驅(qū)動(dòng)18,以及 KVM 平臺(tái)的 QEMU I/O 驅(qū)動(dòng)19。圖 1.4 以前者為例,大致描述了基于“用戶空間 I/O技術(shù)的基本細(xì)節(jié)。進(jìn)程”的虛擬化共享內(nèi)存I/O環(huán) 請(qǐng)求請(qǐng)求32 圖 1.4 基于“用戶空間 I/O進(jìn)程”虛擬化技術(shù)的 Blkt

38、ap 驅(qū)動(dòng)第一步,普通虛擬機(jī)內(nèi)部進(jìn)程發(fā)出的讀寫請(qǐng)求來到“塊設(shè)備驅(qū)動(dòng)前端”;第二步,“塊設(shè)備驅(qū)動(dòng)前端”將該請(qǐng)求放置一個(gè)名為“共享內(nèi)存 I/O 環(huán)”的區(qū)域內(nèi),該區(qū)域由普通虛擬機(jī)和虛擬機(jī)共享;第三步,位于虛擬機(jī)內(nèi)核空間的“塊設(shè)備驅(qū)動(dòng)后端”將請(qǐng)求從 I/O 環(huán)取出;第四步,“塊設(shè)備驅(qū)動(dòng)后端”將得到的虛擬機(jī)請(qǐng)求虛擬機(jī)的內(nèi)核空間到用戶空間,由一個(gè)名為“BlktapCtrl”的的數(shù)據(jù)部分從進(jìn)程接收;第五步,BlktapCtrl 進(jìn)程負(fù)責(zé)驗(yàn)證該請(qǐng)求,并將其相關(guān)到其下的某一個(gè)名為“Tapdisk”的子進(jìn)程;第六機(jī)的用戶空間對(duì)應(yīng)一個(gè) Tapdisk 子進(jìn)程(行真正的磁盤讀寫相關(guān)操作。第七步,每一個(gè)普通虛擬機(jī)在虛擬

39、進(jìn)程),由其代表某一個(gè)普通虛擬機(jī)進(jìn)5I/O硬件平臺(tái)磁盤設(shè)備7虛擬機(jī)管理器普通虛擬機(jī)用戶空間1 塊設(shè)備驅(qū)動(dòng)前端內(nèi)核空間應(yīng)用程序虛擬機(jī)用戶空間 BlktapCtrl主進(jìn)程 54 Tapdisk子進(jìn)程 6物理I/O設(shè)備驅(qū)動(dòng)塊設(shè)備驅(qū)動(dòng)后端華技 大 學(xué) 博 士相比較 1.1.1 小節(jié)的幾種典型的 I/O 虛擬化方法而言,基于“用戶空間 I/O進(jìn)程”的虛擬化技術(shù)需要將虛擬機(jī)的磁盤讀寫請(qǐng)求流導(dǎo)向至某一個(gè)虛擬機(jī)的用戶空間,然后再通過其中的某一個(gè)進(jìn)程來處理這些操作。盡管從虛擬機(jī)協(xié)議棧的角度來說,這種方式增添了一些額外的 I/O 處理路徑,并且?guī)砹艘欢ǖ?CPU開銷,但是在其具體實(shí)現(xiàn)過程中,由于應(yīng)用了一些優(yōu)化措

40、施,例如利用共享內(nèi)存技術(shù)來避免普通虛擬機(jī)與虛擬機(jī)之間的數(shù)據(jù)對(duì)拷20,其性能開銷可以在合理的范圍內(nèi)。同時(shí),這種基于“用戶空間 I/O統(tǒng)的 I/O 虛擬化方法所不具備的好處。進(jìn)程”的虛擬化技術(shù)也帶來了傳第一,“塊設(shè)備驅(qū)動(dòng)后端”和“物理 I/O 設(shè)備驅(qū)動(dòng)”模塊理器軟件,大為縮減了位于虛擬化系統(tǒng)關(guān)鍵位置的軟件了傳統(tǒng)的虛擬機(jī)管計(jì)算基 TCB(TrustedComputing Base)21,增強(qiáng)了整個(gè)虛擬化系統(tǒng)的可靠性和安全性。第二,虛擬機(jī)的用戶空間提供了豐富的第程序庫(kù),可以為虛擬機(jī)的存儲(chǔ)虛擬化提供更加靈活的支持策略。例如:通過用戶層網(wǎng)絡(luò)庫(kù)的封裝,可以方便地DAS(Direct-Attached Sto

41、rage)變換為更加有利于維將基于本地的直接連接式護(hù)的基于集中式管理的網(wǎng)絡(luò)結(jié)構(gòu),例如網(wǎng)絡(luò)NAS(Network Attached Storage)22和區(qū)域網(wǎng) SAN(Storage Area Network)23。也可以通過一些加密庫(kù)函數(shù)對(duì)用戶的讀寫塊內(nèi)容提供加密服務(wù),增強(qiáng)用戶的隱私保護(hù)。第三,“I/O進(jìn)程”代表著對(duì)應(yīng)的虛擬機(jī)進(jìn)行磁盤讀寫,因此,可以將原本調(diào)度策略24平滑的過渡到系統(tǒng)虛擬化環(huán)境下,而操自身包含的進(jìn)程 I/O不用花費(fèi)額外的精力重新設(shè)計(jì)。目前,由于這種虛擬化技術(shù)的穩(wěn)定性和優(yōu)越性,思杰公司(Ctrix)的商業(yè)XenServer25采用了 Blktap 塊設(shè)備前后端驅(qū)動(dòng),并且已經(jīng)大規(guī)

42、模地部署到虛擬化了實(shí)際的系統(tǒng)中。1.1.3 問題的提出與 I/O 硬件設(shè)備之間的間接在系統(tǒng)虛擬化環(huán)境下,雖然用戶操互模式可以為一些 IT 領(lǐng)域的實(shí)際需求帶來靈活有效的解決方案,但是卻對(duì) I/O 設(shè)備的6華技 大 學(xué) 博 士性能帶來了影響。以子系統(tǒng)為例:由于虛擬機(jī)管理器的引入,使得虛擬機(jī)內(nèi)部的讀寫請(qǐng)求需要經(jīng)歷更長(zhǎng)的 I/O 軟件路徑而增加了額外的 CPU 開銷26;而且, 虛擬機(jī)在做 I/O 操作時(shí),需要將路徑提交給虛擬化管理器,引起上下文切換,造成 CPU 的 TLB 快表(Translation Lookaside Buffer)以及緩存的失效2728;再次,虛擬機(jī)管理器的引入亦使得虛擬機(jī)內(nèi)

43、部的相關(guān)塊設(shè)備驅(qū)動(dòng)程序與底層的硬件之間產(chǎn)生了語義鴻溝,使得前者很難獲取到準(zhǔn)確的設(shè)備相關(guān)信息,失去了性能進(jìn)的機(jī)會(huì)29;最后,由于服務(wù)器整合,造成了底層的共享一設(shè)備需要面對(duì)和處理成倍增加的并發(fā) I/O 數(shù)目,進(jìn)一步加劇了其性能瓶頸30。考慮到子系統(tǒng)在計(jì)算機(jī)體系結(jié)構(gòu)上的重要性,以及系統(tǒng)虛擬化技術(shù)在31,都使得算平臺(tái)上扮演的快速部署、動(dòng)態(tài)伸縮以及集約等重要對(duì)虛擬化性能進(jìn)行優(yōu)化研究具有意義。1.2 國(guó)內(nèi)外研究現(xiàn)狀當(dāng)前國(guó)內(nèi)外對(duì)有關(guān)虛擬機(jī)的性能優(yōu)化研究主要集中在三個(gè)方面:(1) 虛擬機(jī)本地的垂直性能優(yōu)化,即單個(gè)虛擬機(jī)從發(fā)出讀寫請(qǐng)求開始到物理返回請(qǐng)求結(jié)果之間的協(xié)議棧路徑開銷優(yōu)化;(2)虛擬機(jī)本地的水平性能優(yōu)化

44、,即多個(gè)虛擬機(jī)在共享之上進(jìn)行同寫操作的性能優(yōu)化;(3)虛擬機(jī)網(wǎng)絡(luò)性能優(yōu)化,即虛擬機(jī)的在網(wǎng)絡(luò)結(jié)構(gòu)下的性能優(yōu)化工作。以下分別從這個(gè)三個(gè)方面進(jìn)行論述。1.2.1 虛擬機(jī)本地的垂直性能優(yōu)化協(xié)議棧的優(yōu)化,需要涉及具體的虛擬機(jī) I/O 請(qǐng)求所經(jīng)歷的虛擬機(jī)本地協(xié)議路徑。需要注意的是,在這當(dāng)中還包括了間接引起的 CPU 上下文切換的過程(Context Switch)32,例如:當(dāng)一個(gè)虛擬機(jī)向虛擬硬件具體的讀寫請(qǐng)求后,會(huì)產(chǎn)生一次虛擬機(jī)與虛擬機(jī)管理器之間的上下文切換,并且由后者代為執(zhí)行本次操作。完成之后,后者還需要主CPU 再發(fā)動(dòng)一次上下文切換,用于返回虛擬機(jī)的7華技 大 學(xué) 博 士權(quán)。兩者之間的上下文切換包括

45、了 CPU 快表結(jié)構(gòu)的重新填充以及緩存結(jié)構(gòu)的冷啟動(dòng)等性能損失問題。這些問題,較早的一個(gè)優(yōu)化工作是猶他大學(xué)和 NetApp 公司于 2009 年合作提出的 FIDO 系統(tǒng)33,適用于 Xen 半虛擬化平臺(tái)上的企業(yè)級(jí)虛擬機(jī)。FIDO 將普通虛擬機(jī)的內(nèi)存地址空間以靜態(tài)的只讀形式全部共享給虛擬機(jī),避免了兩者之間在傳遞 I/O 操作數(shù)據(jù)時(shí)所產(chǎn)生的動(dòng)態(tài)建立和動(dòng)態(tài)撤銷共享內(nèi)存的開銷??紤]到在 Xen平臺(tái)上,普通虛擬機(jī)的網(wǎng)絡(luò) I/O 和I/O 一般都需要通過虛擬機(jī)代為執(zhí)行,因此,F(xiàn)IDO 可以網(wǎng)絡(luò)和兩個(gè)子系統(tǒng)的虛擬化性能。但是,由于 FIDO 性能優(yōu)化的基礎(chǔ)是以犧牲普通虛擬機(jī)的內(nèi)存隱私為代價(jià)的,所以其適用范圍

46、較為有限。2010 年,的和等人對(duì) KVM 平臺(tái)的 I/O 全虛擬化設(shè)備模型進(jìn)行了改進(jìn)34。在虛擬機(jī)內(nèi)部,通過將一系列的磁盤 I/O 指令進(jìn)行合并,以批量處理的方式來執(zhí)行“陷入后模擬”流程,減小由于虛擬機(jī)上下文切換而引起的開銷。這種方法的不足之處是需要修改虛擬機(jī)的內(nèi)核代碼,在一定程度上可能破壞了 I/O 全虛擬化的兼容性。2011 年,VMware 公司對(duì)外公布了 vIC 策略35,以減小虛擬機(jī)頻繁處理來自于虛擬設(shè)備的中斷而引起 CPU 消耗過多的問題。該策略使用了中斷積聚(Interrupt Coalescing)技術(shù)來減少虛擬中斷引起的上下文切換次數(shù),同時(shí)也對(duì)中斷處理的最大提供了保證。由于

47、該策略巧妙地將發(fā)生的I/O(Commands率中斷延in Flight)作為中斷積聚參數(shù),而不需要像傳統(tǒng)方法那樣依賴特定的高時(shí)定時(shí)器(High-Resolution Interrupt-Delay Timers),因此已經(jīng)廣泛地部署在了系列當(dāng)中36。類似的工作還有VMware 公司旗下的 ESX大學(xué) Cheng 等人提出的 vBalance37,用于改進(jìn)基于 SMP(Symmetric MultiProcessing)結(jié)構(gòu)的虛擬機(jī) I/O中斷處理性能。同樣是 2011 年,以色列理工學(xué)院和 IBM 海法在開源的 KVM 平臺(tái)上合作并提出了SplitX 結(jié)構(gòu)38,用以優(yōu)化因?yàn)镮/O 操作而發(fā)生虛

48、擬機(jī)上下文切換引起的CPU開銷。它的思想是將虛擬機(jī)管理器和虛擬機(jī)分別放置于不同的 CPU。當(dāng)發(fā)生上下文切換時(shí),這種分離的 CPU 放置技術(shù)不僅可以避免切換后引起的快表和緩存的失8華技 大 學(xué) 博 士效問題,還可以讓虛擬機(jī)繼續(xù)在的 CPU上異步運(yùn)行其它的指令,而不用一直停頓等待自身的運(yùn)行環(huán)境恢復(fù)。和類似的工作不同,SplitX 不需要修改虛擬機(jī)內(nèi)部的源碼,但是需要特定的 CPU 硬件支持。同時(shí),這兩家還共同提出 VAMOS 虛擬化結(jié)構(gòu)39,把在虛擬機(jī)內(nèi)部運(yùn)行的大型應(yīng)用程序的中間件,例如 MySQL 數(shù)據(jù)庫(kù)40中的插件式引擎結(jié)構(gòu)(PluggableStorage Engines),從虛擬機(jī)層次轉(zhuǎn)移

49、至虛擬機(jī)管理器層次,以減少該應(yīng)用程序在進(jìn)行 I/O 密集型操作時(shí)(需要和 PSE 交互)所發(fā)生的虛擬機(jī)與虛擬機(jī)管理器之間的上下文切換頻率,從而改進(jìn)虛擬機(jī)的 I/O 性能。在這當(dāng)中,VAMOS 遵循的一個(gè)規(guī)律是:虛擬機(jī)與虛擬機(jī)管理器之間的上下文切換如果發(fā)生在較為高級(jí)的操作上,比如用戶層的一條 SQL語句,則可以減少對(duì)應(yīng)的切換次數(shù)。這是因?yàn)樵谝话闱?,一條 SQL 語句在到達(dá)了 PSE 之后,可能會(huì)轉(zhuǎn)換成多條 I/O 操作。而每一條 I/O 操作, 在原有的結(jié)構(gòu)上都可以引起上下文切換。現(xiàn)階段 VAMOS 結(jié)構(gòu)的不足之處在于需要修改虛擬機(jī)內(nèi)部的應(yīng)用程序,因此,其普適性還有待驗(yàn)證。2012 年初,威廉瑪

50、麗學(xué)院和 IBM 的.J.沃森研究中心對(duì)虛擬化環(huán)境下特有的嵌套式文件系統(tǒng)結(jié)構(gòu)進(jìn)行了深入的性能分析41。通過對(duì)比虛擬機(jī)與虛擬機(jī)管理器之間多達(dá) 36 種不同文件系統(tǒng)類型的嵌套組合,他們發(fā)現(xiàn),這種嵌套的文件系統(tǒng)結(jié)構(gòu)對(duì)于包含了較多的讀操作工作流幾乎沒有影響,而且,由于預(yù)讀等因素的存在,在某些場(chǎng)合反而會(huì)使其性能比非虛擬化環(huán)境下的還要高。相于包含了較多寫操作的工作流,卻因?yàn)槿罩疚募到y(tǒng)的存在,使得虛擬機(jī)管理器層次的寫操作激增,對(duì)其性能有較大的影響。1.2.2 虛擬機(jī)本地的水平性能優(yōu)化設(shè)備需要處理成倍增加的 I/O虛擬機(jī)本地的另一大是底層的共享請(qǐng)求數(shù)目。在這當(dāng)中,主要用來緩解其性能瓶頸的一個(gè)方式就是本地的調(diào)

51、度和分配。2007 年左右,美國(guó)賓夕法尼亞州立大學(xué)的 Govindan 和美國(guó)萊斯大學(xué)的 Ongaro等人分別在他們的工作中研究了Xen 平臺(tái)的CPU 調(diào)度算法與虛擬機(jī)內(nèi)部的I/O 應(yīng)用9華技 大 學(xué) 博 士之間的和性能影響42。他們指出:盡管當(dāng)前的基于 Xen 平臺(tái)的 CPU 調(diào)度算法可以在普通虛擬機(jī)之間保證 CPU的公平共享,但是會(huì)對(duì)一些包含了 I/O 密集型應(yīng)用的虛擬機(jī)產(chǎn)生拖延調(diào)度等不利因素?;诖祟愑^察,前者提出了一個(gè)基于 I/O 數(shù)目統(tǒng)計(jì)的方法,來對(duì)包含了 I/O 密集型應(yīng)用的普通虛擬機(jī)的調(diào)度延遲進(jìn)行改進(jìn)。Ongaro 等人擴(kuò)展了該思路43,并且還發(fā)現(xiàn)了前者提出的方法仍然會(huì)對(duì) I/O

52、 延遲敏感型的虛擬機(jī)造成影響,借此提出了初步的解決方案。兩者的工作皆缺乏對(duì) I/O 型任務(wù)進(jìn)行感知的技術(shù),因此需要對(duì)虛擬機(jī)內(nèi)部工作流的運(yùn)行特征進(jìn)行人工辨別甚至手工調(diào)整。為彌補(bǔ)該問題,2009 年,韓國(guó)高等科技學(xué)院的 Kim 等人提出了 I/O 任務(wù)透明感知的虛擬機(jī)調(diào)度機(jī)制44。該機(jī)制的一大亮點(diǎn)是通過一種對(duì)普通虛擬機(jī)透明的 I/O 特征感知策略,可以從混合型的工作流當(dāng)中把具有 I/O 特征的虛擬機(jī)內(nèi)部應(yīng)用篩選出來,再進(jìn)行優(yōu)先調(diào)度,以改進(jìn)這些 I/O 工作流的調(diào)度。2010 年,VMware 公司 Gulati 等人提出名為 mClock 的虛擬機(jī)本地的分配算法45。該算法為每一個(gè)運(yùn)行其上的虛擬機(jī)設(shè)定三個(gè)值種類,分別用來給予虛擬機(jī)最低、最高以及基于權(quán)重分配的 QoS(Quality of Service)保證。該算法在具體實(shí)施時(shí),只需要為每一個(gè)虛擬機(jī)的請(qǐng)求加入對(duì)應(yīng)的值,然后根據(jù)一些預(yù)先定義的規(guī)則進(jìn)行值種類的切換和調(diào)整,以適應(yīng)其所處的具體性能環(huán)境。因此,該策略理論上較為通用,但是目前只在 ESX 平臺(tái)上得到了基本的效果驗(yàn)證。類似的工作還有 Shue 等人于 2012 年提

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論