虛擬機(jī)上可運(yùn)行多少軟件?
Imperas銷售總監(jiān)Larry Lapides與我們一起討論了使用虛擬平臺(tái)的MIPS上的軟件。
當(dāng)下,軟件驗(yàn)證是中心議題,也使虛擬平臺(tái)成為嵌入式軟件開發(fā)、調(diào)試和測試的主流方式。若您從未使用過虛擬平臺(tái)(軟件模擬),您可能想知道:
虛擬平臺(tái)到底可以運(yùn)行多少軟件?
以下便是一個(gè)典型的軟件堆棧示例:
有了Imperas?虛擬樣機(jī)的解決方案,您可以根據(jù)需要長時(shí)間快速運(yùn)行完整的軟件?!_啟Linux或其他操作系統(tǒng)、試行程序和固件并運(yùn)行應(yīng)用程序代碼。有了Imperas指令集仿真器(ISS),在典型的臺(tái)式電腦上預(yù)期速度可高達(dá)1000 MIPS,且Linux SMP開機(jī)速度不超過10秒。
然而,隨著SoCs向多核多處理器發(fā)展的趨勢,即使再好的仿真性能也不足以在單一的模擬中運(yùn)行每10s數(shù)十億甚至數(shù)萬億的指令。為此,Imperas開發(fā)了一款虛擬平臺(tái)加速器,可充分利用主機(jī)PC上的多個(gè)x86內(nèi)核:QuantumLeap。
QuantumLeap: 獨(dú)特的并行仿真加速器
QuantumLeap是一款并行仿真性能加速器,具有新的同步算法(旨在多處理器主機(jī)的多處理器目標(biāo),或MPonMP?),可以使虛擬平臺(tái)的軟件執(zhí)行速度達(dá)到最快。QuantumLeap并行仿真加速器利用運(yùn)行仿真主機(jī)的多個(gè)內(nèi)核,并在特定的虛擬平臺(tái)中盡可能利用多個(gè)內(nèi)核。其在高達(dá)512個(gè)目標(biāo)內(nèi)核的虛擬平臺(tái)及高達(dá)16個(gè)內(nèi)核的主機(jī)上進(jìn)行測試,并支持非對稱多重處理(AMP)、對稱多重處理(SMP)和硬件加速器塊。更重要的是,QuantumLeap操作對用戶透明,沒有模型、工具或軟件更改。
實(shí)際性能指標(biāo)如下所示:
目前,很多SoC硬件平臺(tái)結(jié)合了多核嵌入式處理器,或具有一個(gè)或更多內(nèi)核的多處理器,加上硬件加速器,所有這些并行執(zhí)行。然而,單線程虛擬平臺(tái)的即時(shí)(JIT)代碼變形仿真器不能為多核SoC進(jìn)行擴(kuò)展,這就為高效的嵌入式軟件開發(fā)樹立了障礙。
通過在主機(jī)中將模擬內(nèi)核分配至所有可用的處理器中,QuantumLeap則消除了這個(gè)障礙。有了先進(jìn)的技術(shù)確保這些內(nèi)核進(jìn)行有效的同步,跨多個(gè)主機(jī)處理器的模擬線性擴(kuò)展是可以實(shí)現(xiàn)的,且對多核通訊的影響非常小。
用QuantumLeap配備虛擬平臺(tái)
虛擬平臺(tái)仿真性能的需求由兩個(gè)因素驅(qū)動(dòng)。第一個(gè)便是單個(gè)軟件測試的長度。?在網(wǎng)絡(luò)服務(wù)器使用情況下,單個(gè)測試有10萬多億個(gè)要執(zhí)行的指令。換言之 ,一個(gè)線程模擬需要每秒運(yùn)行1億條指令,單個(gè)測試的執(zhí)行時(shí)間將大于24小時(shí)。
第二個(gè)因素是安全關(guān)鍵系統(tǒng)的測試需求,如汽車行業(yè)。?在汽車行業(yè),測試套件通常包含了成千上萬的測試,日常測試則是回歸測試的一部分。?當(dāng)然,還有其他工具,例如在仿真環(huán)境中需要代碼覆蓋率和故障注入,以滿足測試和遵從需求。
大多數(shù)的設(shè)計(jì)為多核處理器、多個(gè)處理器,或者兩者兼有??梢姡瑢Ω咝阅苣M性能具有很大的需求。有了Imperas虛擬平臺(tái)模擬器,隨著模擬內(nèi)核不斷增加,模擬吞吐量仍可保持相對穩(wěn)定。QuantumLeap可以為嵌入式軟件開發(fā)、調(diào)試和測試在虛擬平臺(tái)中提供改進(jìn)的仿真技術(shù)。
QuantumLeap還可以提供一個(gè)透明的使用模型,在被測試環(huán)境下不需要對軟件做出改變,亦不需要對虛擬平臺(tái)上的模型、開發(fā)環(huán)境中的軟件工具或虛擬平臺(tái)上正在執(zhí)行的軟件做出改變,并可以同時(shí)確保確定性模擬的完全執(zhí)行。
QuantumLeap模擬選項(xiàng)支持Imperas多處理器/多核軟件開發(fā)工具包(M * SDK)功能,包括3Debug?和驗(yàn)證及分析(VAP)工具。
總結(jié)
QuantumLeap先進(jìn)的并行仿真算法為包含多個(gè)處理器的虛擬平臺(tái)提供強(qiáng)化的仿真性能。QuantumLeap并行仿真技術(shù)可以使用大量的處理器擴(kuò)展主機(jī)PC。有了該技術(shù),便可使用越來越多的處理器實(shí)例化模型來有效地模擬虛擬平臺(tái)?;鶞?zhǔn)測試結(jié)果如下:?使用標(biāo)準(zhǔn)基準(zhǔn),平均性能的測量比最近的商業(yè)解決方案快15倍。?可觀察到,使用多核MIPS P5600 OVP模型的虛擬平臺(tái)每秒可以運(yùn)行5億個(gè)指令。OVP模型則在標(biāo)準(zhǔn)3.4 GHz四核主機(jī)電腦上運(yùn)行。更多信息,請?jiān)L問:
1.Imperas軟件網(wǎng)站: imperas.com 和 2.“并行仿真加速嵌入式軟件開發(fā)、調(diào)試和測試”,Imperas Software Ltd公司的James Kenney、Simon Davidmann及 Larry Lapides在嵌入式世界2015上發(fā)布。3.開放虛擬平臺(tái)網(wǎng)站4.有關(guān)MIPS和Quantumleap的視頻5.其余的MIPS小樣視頻,請點(diǎn)擊此處。