




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、doi:10.3772/j.issn.1002-0470.2015.06.007延遲存儲:一種降低虛擬機退出開銷的方法吳瑞陽*臺運方""(中國科學(xué)院計算技術(shù)研究所計算機體系結(jié)構(gòu)國家重點實驗室北京100190)(.中國科學(xué)院大學(xué)北京100049)(龍芯中科技術(shù)有限公司北京100190)(甲骨文軟件研究開發(fā)中心(北京)有限公司北京100193)摘要研究了虛擬機退出及恢復(fù)運行時的開銷問題,提出了一種用于降低虛擬機切換時進行保存及恢復(fù)現(xiàn)場的開銷的延遲存儲方法。該方法的主要思想是利用修改虛擬機軟件源代碼的方式,通過判斷虛擬機恢復(fù)運行時是否依然是上次退出時的同一個虛擬機,來減少需要保存
2、和恢復(fù)的寄存器數(shù)量。這個方法不需要對硬件設(shè)計進行改動,可以支持多核操作系統(tǒng)和多個虛擬機同時運行的情況,因此具有廣泛的適用性。在龍芯3A15OO處理器平臺上的試驗結(jié)果顯示,上述延遲存儲方法與現(xiàn)有方法相比,可以降低虛擬機退出開銷65%,虛擬機整體性能提升3%到10%o “核高基”科技重大專項課題(2009ZX01028-002-003,2009ZX01029-001-003,2010ZX01036-001-002,2012ZX01029-001-002-002,2014ZX01020201),國家自然科學(xué)基金(61221062,61100163,61133004,61173001,61232009
3、,61222204,61432016)和863計劃(2012AA010901,2012AA011002,2012AA012202,2013AA014301)資助項目。 男,1991年生,博士生;研究方向:高性能計算機體系結(jié)構(gòu);聯(lián)系人,E.mail:wuniiyang(收稿日期:2014-11-20)關(guān)鍵詞系統(tǒng)虛擬化,虛擬態(tài),虛擬機退出。引言進入21世紀(jì)以來,計算資源和網(wǎng)絡(luò)帶寬得到了大幅的提升,使得云計算的概念越來越流行。系統(tǒng)虛擬化U作為云計算中的關(guān)鍵技術(shù),也得到了越來越快的發(fā)展。系統(tǒng)虛擬化是通過在宿主機上運行虛擬機程序,將一臺物理機器虛擬為另一臺或多臺虛擬機器。無內(nèi)部互鎖流水級的微處理器(mi
4、cessorwithoutinterlockedpipedstages,MIPS)架構(gòu)中對系統(tǒng)虛擬化加入了特定的硬件支持"刃,其中最重要的就是虛擬態(tài)模式。大多數(shù)指令都可以在虛擬態(tài)模式下運行,然而,還是有一些特權(quán)指令不能在虛擬態(tài)下運行,需要退出虛擬態(tài),在宿主機中進行模擬,這種退出過程被稱為虛擬機退出。多個虛擬機之間進行切換、虛擬機運行時出現(xiàn)特權(quán)例外等,延遲存儲情況也會導(dǎo)致虛擬機退出。虛擬機退出時,需要進行現(xiàn)場保存,當(dāng)宿主機處理完畢并再次切換回到虛擬態(tài)時,再進行現(xiàn)場恢復(fù)。以MIPS虛擬機架構(gòu)為例,虛擬機有很多需要保存和恢復(fù)的現(xiàn)場,包括通用定點寄存器、浮點寄存器,以及一些虛擬
5、機專用的寄存器,如虛擬態(tài)處理器控制寄存器(CPO寄存器)等。保存和恢復(fù)現(xiàn)場是虛擬機退出與恢復(fù)運行過程中的主要工作。本文將這兩部分開銷都視為虛擬機退出帶來的開銷。本文針對虛擬機退出及虛擬機恢復(fù)運行時的開銷問題,提出了一種延遲存儲的方法。用此方法,虛擬機退出時暫不保存虛擬機專用寄存器,而是在虛擬機恢復(fù)運行時判斷與之前退出時是否是同一個虛擬機:如果是同一個虛擬機,則不需要保存和恢復(fù)這些虛擬機專用寄存器;如果不是同一個虛擬機,則進行完整的現(xiàn)場保存與恢復(fù)工作。該方法可以支持多核處理器的情況,不需要進行硬件改動,也不局限于MIPS虛擬化架構(gòu)。在龍芯3A1500多核處理器上的試驗結(jié)果顯示,單處理器核上運行單
6、虛擬機時,延遲存儲方法可以降低65%的虛擬機退出開銷,虛擬機的整體性能提升了5%到10%o1相關(guān)工作虛擬機退出是每一個虛擬機軟件和每一種虛擬機架構(gòu)都會遇到的問題。VMWare6'使用掃描替換的技術(shù),在不退出虛擬機的情況下用軟件模擬特權(quán)指令,減少了虛擬機退出的次數(shù)。Xen也使用了類似的方法,通過修改軟件的方式來減少特權(quán)指令的數(shù)量。通過硬件設(shè)計也可以減少虛擬機退出,其中Intel通過加入非根(nonroot)模式,使得大多數(shù)特權(quán)指令都可以直接在該模式下執(zhí)行。MIPS架構(gòu)的硬件虛擬化支持則加入了客戶(Guest)模式,并加入了虛擬機專用的CP0寄存器。在Guest模式下可以執(zhí)行大多數(shù)的特權(quán)指
7、令,指令的執(zhí)行受到虛擬機專用的CP0寄存器控制,而不受宿主機的CP0寄存器控制。在Guest模式下執(zhí)行的讀取或修改CP0寄存器的指令則直接作用于虛擬機專用的CP0寄存器。MIPS架構(gòu)的虛擬化支持減少了導(dǎo)致虛擬機退出的特權(quán)指令的數(shù)量,從而減少虛擬機退出的次數(shù)。除了上述減少虛擬機退出次數(shù)的方法,還有一些技術(shù)可以降低每次虛擬機退出的開銷。Intel在處理器中加入了VMCS結(jié)構(gòu),于是每一個虛擬機有其對應(yīng)的VMCS域,當(dāng)虛擬機退出時,處理器會自動將現(xiàn)場保存到VMCS中對應(yīng)的域,在重新回到虛擬態(tài)時,處理器還會自動進行恢復(fù)。然而,MIPS架構(gòu)的虛擬化規(guī)范并沒有相關(guān)的功能,虛擬機退出時,需要由軟件顯式地進行現(xiàn)
8、場保存和恢復(fù)。本文針對該問題,提出了一種延遲存儲的方法,來降低虛擬機退出的開銷。該方法不需要硬件改動,因此不需要進行硬件驗證與重新流片,也不違背MIPS的虛擬化規(guī)范。2方法的可行性分析在MIPS虛擬化架構(gòu)中,進入虛擬態(tài)模式與退594出虛擬態(tài)模式時,需要由軟件顯式地進行現(xiàn)場的保存與恢復(fù)工作,其過程如下:(1) 在進入虛擬態(tài)模式時,保存當(dāng)前宿主機的通用寄存器及浮點寄存器,并且恢復(fù)該虛擬機對應(yīng)的通用寄存器、浮點寄存器及虛擬機專用寄存器。(2) 在退出虛擬態(tài)模式時,保存當(dāng)前虛擬機的通用寄存器及浮點寄存器,并保存虛擬機專用寄存器,并且恢復(fù)宿主機的通用寄存器及浮點寄存器。以Linux系統(tǒng)中常用的虛擬化平臺
9、KVM為例,需要保存和恢復(fù)的寄存器如表1所示。表1需要保存和恢復(fù)的寄存器個數(shù)寄存器類型個數(shù)通用寄存器34浮點寄存器16虛擬機專用寄存器21其他3總計66表1中,通用寄存器與浮點寄存器的保存只需要一條存儲指令,如SD或SDC1指令。但是,虛擬機專用寄存器保存時,需要先使用MFGC0指令將該寄存器的值取到通用寄存器之后,才能使用SD指令進行保存。同理,恢復(fù)現(xiàn)場時,恢復(fù)通用寄存器與浮點寄存器也只需要一條讀取指令,如LD或LDC1指令,而恢復(fù)虛擬機專用寄存器時,需要先使用LD指令將被保存的值取到通用寄存器中,再使用MTGC0指令將其存儲到虛擬機專用寄存器中。按照MIPS虛擬化的設(shè)計規(guī)范,MTGC0指令
10、所操作的虛擬機專用寄存器沒有寄存器重命名機制,必須等到該指令成為流水線中最老的指令之后才可以發(fā)射并執(zhí)行。此外,與MFGC0或MTGC0指令配對使用的存儲或讀取指令還會導(dǎo)致寄存器數(shù)據(jù)相關(guān)。相比之下,用于保存和恢復(fù)通用寄存器或浮點寄存器的指令則是普通的存儲指令或讀取指令,這些指令可以全流水地在訪存功能部件執(zhí)行。從上述分析中可以發(fā)現(xiàn),虛擬機專用寄存器的保存與恢復(fù)是虛擬機退出時所需要進行的現(xiàn)場保存與恢復(fù)工作中的重頭戲,會對虛擬機的整體運行性能產(chǎn)生影響O通過分析可以發(fā)現(xiàn),虛擬機專用寄存器的值只有在虛擬態(tài)模式下才能發(fā)揮作用,并不會對宿主機執(zhí)行的指令產(chǎn)生任何影響。而宿主機除了使用特定的MTGCO指令之外,也
11、無法修改虛擬機專用寄存器的值。因此,虛擬機退出時暫時不保存虛擬機專用寄存器的值不會導(dǎo)致錯誤,等虛擬機恢復(fù)運行,處理器切換回到虛擬態(tài)模式時,還可以繼續(xù)運行。不過,在多個虛擬機同時在一臺宿主機上運行的情況下,每一個虛擬機都有其對應(yīng)的運行環(huán)境,各自的虛擬機專用寄存器的內(nèi)容也不相同。但是硬件上只實現(xiàn)了一份虛擬機專用寄存器,因此在多個虛擬機之間進行切換時,還是要對虛擬機專用寄存器進行保存與恢復(fù)工作。根據(jù)上面分析的結(jié)果,可以用下述方法來減少虛擬機專用寄存器的保存與恢復(fù):在虛擬機切換到宿主機的過程中,不進行虛擬機專用寄存器的保存,在宿主機切換到虛擬機的過程中則進行判斷:如果與之前虛擬機退出時是同一個虛擬機,
12、則不需要恢復(fù)虛擬機專用寄存器;如果是不同的虛擬機,則將虛擬機專用寄存器的值保存到之前退出的那個虛擬機的存儲空間中,并從新虛擬機的存儲空間中導(dǎo)入屬于它的虛擬機專用寄存器的值。這種方法使得簡單的虛擬機退出時不需要保存和恢復(fù)虛擬機專用寄存器,只有多個虛擬機進行切換時才需要保存和恢復(fù)。在宿主機是多核處理器的情況下,該方法也可以適用,但是需要一些改動:虛擬機軟件有可能在處于非虛擬態(tài)模式下時被操作系統(tǒng)調(diào)度到另一個處理器核上執(zhí)行,此時需要在操作系統(tǒng)進行調(diào)度之前保存虛擬機專用寄存器,并在調(diào)度完成后進行恢復(fù)。該方法的安全性需要兩方面來保證,一方面是宿主機不會在虛擬機退出后使用MTGCO指令來修改另一個虛擬機的專
13、用寄存器,另一方面是程序可以正確區(qū)分是否進行了虛擬機切換,以及多核處理器情況下準(zhǔn)確地識別出是否發(fā)生了進程調(diào)度。前者可以通過檢查虛擬機軟件的源代碼來保證,因為從虛擬機的功能來說,沒有修改非當(dāng)前激活的虛擬機的需求,宿主機并不會主動去修改虛擬機專用寄存器的值。而后者的要求則可以通過判斷虛擬機的虛機處理器核序號的變量來實現(xiàn)。因此,延遲存儲方法的安全性可以保證。3方法的實現(xiàn)方案通過上面的分析,可以設(shè)計一套延遲存儲的方法,該方法需要對虛擬機軟件進行一定的修改:(1) 新增兩類變量,其中第一類變量是每個處理器核各有一個的全局變量,表示該處理器核上次運行的虛擬機的序號;第二類變量則是每一個虛擬機的局部變量,表
14、示該虛擬機上次運行的宿主機處理器核的序號。這兩類變量的初始值都可以設(shè)置為-1,表示虛擬機還未被運行過的情況。(2) 虛擬機退出時,不再需要進行虛擬機專用寄存器的保存工作。但是,通用寄存器和浮點寄存器等還是需要進行保存,并恢復(fù)宿主機的寄存器備份。(3) 從宿主機回到虛擬態(tài)的虛擬機恢復(fù)運行過程需要進行修改?;氐教摂M態(tài)模式時,應(yīng)當(dāng)檢查即將被運行的虛擬機的序號是否與當(dāng)前處理器核上次運行的虛擬機序號相同,然后再檢查當(dāng)前處理器核的序號是否與這個即將被運行的虛擬機所記錄的上次運行的處理器序號相同。如果兩次檢查都沒有發(fā)現(xiàn)變化,則不需要進行虛擬機專用寄存器的恢復(fù),僅需要處理通用寄存器等其他寄存器;若兩次檢查中任
15、意一次發(fā)現(xiàn)了序號變化,則需要將當(dāng)前的虛擬機專用變量保存在之前運行的虛擬機的存儲空間中,并從即將運行的虛擬機的存儲空間中恢復(fù)虛擬機專用變量,并進行通用寄存器等其他寄存器的保存與恢復(fù)工作。(4) 操作系統(tǒng)進行進程調(diào)度時,需要額外的虛擬機專用的處理過程。該處理過程會根據(jù)指示虛擬機序號的全局變量,將虛擬機專用變量保存在之前運行的虛擬機的存儲空間中,并將上述全局變量改為-1,表示當(dāng)前處理器核中的虛擬機專用變量已經(jīng)過時了。經(jīng)過上述修改后,虛擬機進入與退出的處理流程圖如圖1所示。擬機號,并給每一個虛擬機分配一個表示當(dāng)前宿主圖1虛擬機退出與恢復(fù)的流程圖操作優(yōu)化前優(yōu)化后虛擬機退出8362虛擬機恢復(fù)27262表2
16、虛擬機退出指令所需周期數(shù)似的性能結(jié)果。下面分別介紹各個試驗平臺及其試驗結(jié)果O龍芯3A15OO處理器是龍芯3號處理器系列的最新產(chǎn)品,在2014年三季度進行了流片,最多支持4個處理器核,是一款四發(fā)射的超標(biāo)量、動態(tài)流水線、支持亂序執(zhí)行的高性能處理器,擁有兩個定點運算部件、兩個浮點運算部件以及兩個訪存功能部件,設(shè)計有Guest模式等多種虛擬化輔助功能。在龍芯3A1500的RTL平臺上,對虛擬機退出及恢復(fù)運行時所需要的保存與恢復(fù)現(xiàn)場的指令序列進行了模擬,結(jié)果如表2所示??梢钥闯?,在單處理器核單虛擬機情況下,使用延遲存儲方法可以降低虛擬機退出開銷24%,降低恢復(fù)運行時的開銷77%,總開銷降低65%o通過上
17、述修改,就可以實現(xiàn)本文所提出的降低虛擬機退出開銷的延遲存儲方法??梢灶A(yù)計,其效果在單處理器核上運行單個虛擬機的情況尤為顯著。在多核操作系統(tǒng)的情況下,則可以通過綁定程序運行處理器號的方式,如taskset命令,將多個虛擬機分別綁定在特定的處理器核上,使得每一個處理器核只運行一個特定虛擬機,以此達(dá)到與單個處理器核上運行單虛擬機情況的等同效果。4試驗平臺和試驗結(jié)果本文在虛擬化平臺KVM中實現(xiàn)了所提出的延遲儲存方法,并在多個平臺上進行了試驗,包括龍芯3A1500處理器的RTL平臺、EVE仿真加速器平臺,以及QEMU模擬器平臺"°。不過受限于試驗平臺對多核處理器模式的支持不足,因此只
18、測試了單個處理器核運行單個虛擬機的情況。但是在理論上,當(dāng)同時運行的虛擬機數(shù)量不超過處理器核數(shù)目時,可以通過程序綁定處理器核運行的方式得到近QEMU:10是一款跨平臺模擬器,可以運行完整的操作系統(tǒng)和應(yīng)用程序,并可以在一個架構(gòu)上高效地模擬另一種架構(gòu)的處理器。QEMU作為KVM解決方案的一個重要部分,在系統(tǒng)虛擬化領(lǐng)域中得到了廣泛的使用。試驗中使用的QEMU模擬器的版本為0.14.0,運行的宿主機操作系統(tǒng)和虛擬機操作系統(tǒng)都是Linux,內(nèi)核版本都為2.6.36。虛擬機中運行的應(yīng)用程序為SPECCINT2000111測試集。試驗結(jié)果如圖2所示,應(yīng)用程序的運行時間減少了9.6%。EVE仿真加速器是一款基于
19、FPGA的仿真加速器平臺,可以周期級精確地實現(xiàn)處理器的功能,并提供有調(diào)試接口和驗證工具集成環(huán)境,是處理器流片前驗證的重要工具。該平臺運行的處理器為龍芯3A15OO處理器,操作系統(tǒng)為Linux,內(nèi)核版本2.6.360在EVE平臺上,測試了虛擬機內(nèi)核的完整啟動過程。這個啟動過程被劃分為6個階段,從圖3中可以看到應(yīng)用延遲存儲方法前后的性能對比。Linux內(nèi)核的完整啟動過程速度提升了2.8%,其中的一個階段獲得了8.5%的提升。單核方案撩普通情況圖2標(biāo)準(zhǔn)化的SPEC程序運行時間O.O.O.O.底在te收涅她推9H8716II性能提升pl-p2p2p3p3-p4p4-p5p5-p6p6-p7total圖
20、3Linux內(nèi)核啟動性能提升件方法。本文針對虛擬機退出代價的問Biff,提出了在上述三種平臺的試驗結(jié)果表明,虛擬機退出所消耗的時間是整個虛擬機性能中的一個重要組成部分,而本文中提出的延遲存儲方法可以降低虛擬機退出及恢復(fù)運行時所需的時間,降低效果在單處理器核單虛擬機的情況下尤為明顯。虛擬機整體性能獲得的提升幅度則與虛擬機退出的數(shù)量有關(guān)。運行SPEC測試程序獲得的性能提升比啟動Linux內(nèi)核時要大,是因為龍芯3A1500處理器實現(xiàn)了MIPS虛擬化架構(gòu)所需要的硬件支持,大部分特權(quán)指令都可以在虛擬態(tài)下直接執(zhí)行,反而是內(nèi)存缺頁請求會導(dǎo)致虛擬機退出,因此越大規(guī)模的程序也會導(dǎo)致越多的虛擬機退出。虛擬機退出更
21、頻繁的情況下,延遲存儲方法對性能的提升也越大,總體而言,本文提出的方法可以對虛擬機的運行帶來約6%的性能提升。5結(jié)論虛擬機退出的開銷是系統(tǒng)虛擬化性能開銷的重要部分,在硬件虛擬化輔助設(shè)計較少的處理器架構(gòu)中,虛擬態(tài)與正常運行狀態(tài)之間的切換更是占用了大量時間。目前業(yè)界有多種方法來減少虛擬機的退出次數(shù),但是并沒有用于降低虛擬機退出時間的軟一種延時存儲的方法,該方法不需要進行硬件改動,通過減少虛擬機退出和恢復(fù)運行時所需的現(xiàn)場保存工作,降低了虛擬機退出的開銷。通過在國產(chǎn)龍芯3A1500處理器平臺上的試驗可以看到,即使在擁有完備虛擬化硬件輔助設(shè)計的處理器中,虛擬機的運行性能依然可以獲得可觀的提升。本文提出的
22、延遲存儲方法在虛擬機研究領(lǐng)域具有廣泛的適用性,是一種有效的提升虛擬機性能的手段。延遲存儲方法并沒有完全消除虛擬機退出時需要的保存現(xiàn)場工作,定點通用寄存器與浮點寄存器還是需要進行切換。通過同時使用其他方法,如利用影子寄存器:來進行通用寄存器切換,可以進一步降低虛擬機退出對虛擬機運行性能的影響。上述工作以及通過減少虛擬機退出次數(shù)來提高虛擬機性能的工作是下一步研究的方向。參考文獻1KivityA,KamayY,LaorD,etal.KVM:thelinuxvirtualmachinemonitor.In:ProceedingsoftheOttawaLinuxSymposium,Ottawa,Cana
23、da,2007.225-2302PopekGJ,GoldbergRP.Formalrequirementsforvirtualizablethirdgenerationarchitectures.CommACM1974,17:4124213MIPSTechnologiesInc.MIPS64architecturereferencemanualvolumeIV-i,20104 MIPSTechnologiesInc.MIPS32architectureforprogrammersvolumeIV-i:virtualizationmoduleoftheMIPS32architecture,201
24、3MIPSTechnologiesInc.MIPS64architectureforprogrammersvolumeIV-i:virtualizationmoduleoftheMIPS64architecture,20136WaldspurgerCA.MemoryresourcemanagementinVMwareESXserver.In:Proceedingsofthe5thSymposiumonOperatingSystemsDesignandImplementation,Boston,USA,2002.181-1947BarhamP,DragovicB,FraserK,etaLXena
25、ndtheartofvirtualization.ACMSIGOPSOperatingSystemsReview,2003,37:164-1778jUhligR,NegerG,RodgerD,etal.IntelVirtualizationTechnology.Computer,2005,38:48-56Synopsys.EVE.http:/www.eve-team,com:Synopsys,20109 BellardF.Qemu,afastandportabledynamictranslator.In:ProceedingsoftheUSENIX2005AnnualTechnicalConf
26、erence,Anaheim,USA,2005.41-4611StandardPerformanceEvaluationCorporation.SPECCPU2000.http://cpu2000:StandardPerformanceEvaluationCorporation,200012NethercoteN,SewardJ.Valgrind:aframeworkforheavyweightdynamicbinaryinstrumentation.ACMSigplanNotices,2007,42(6):89-100Delaystoring:amethodtoreducethecostofvirtualmachineexitTVf*rrr奉*WuKuiyang,laiiunlang(*KeyLaboratoryofComputerArchitecture,InstituteofCumputingTechnology,ChineseAcademyofSciences,Beijing100190)("UniversityofChineseAcademyofSciences,Beijing100049)(*LoongsonTechnologyCorporationLimited,Beijing100190)Oracl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)技術(shù)產(chǎn)業(yè)生態(tài)建設(shè)協(xié)議
- 網(wǎng)絡(luò)設(shè)施租賃與運維服務(wù)協(xié)議
- 2025年采購師(高級)考試試卷:采購風(fēng)險管理案例分析
- 2025年醫(yī)保知識考試題庫及答案:醫(yī)保政策調(diào)整與影響法規(guī)應(yīng)用易錯題解析試卷
- 2025年電子商務(wù)師(初級)職業(yè)技能鑒定模擬試題分析
- 2025年文化旅游融合發(fā)展示范區(qū)建設(shè)資金申請項目市場推廣策略報告
- 2025年金融風(fēng)險管理升級方案:量子計算模擬技術(shù)深度報告001
- 醫(yī)藥電商合規(guī)化運營模式下的藥品質(zhì)量追溯與監(jiān)管政策優(yōu)化研究報告
- 2025年表面工程化學(xué)品項目提案報告
- 議論文如何表達(dá)觀點5篇
- 2024年湖南省公安廳機關(guān)警務(wù)輔助人員招聘筆試參考題庫附帶答案詳解
- 中華民族共同體概論課件專家版7第七講 華夷一體與中華民族空前繁盛(隋唐五代時期)
- 青春期的婦科知識講座
- 中考語文二輪專題復(fù)習(xí)《詩歌賞析之情感把握復(fù)習(xí)》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 2023起重機械安全技術(shù)規(guī)程
- JJF 2088-2023 大型蒸汽滅菌器溫度、壓力、時間參數(shù)校準(zhǔn)規(guī)范
- 設(shè)立體育產(chǎn)業(yè)公司可行性研究報告
- 社區(qū)托管班方案
- 山羊傳染性胸膜肺炎的防治
- 15-1外墻節(jié)能構(gòu)造現(xiàn)場施工檢驗記錄
- 汽車耐腐蝕標(biāo)準(zhǔn)
評論
0/150
提交評論