虚拟机上可运行多少软件?

share

Imperas销售总监Larry Lapides与我们一起讨论了使用虚拟平台的MIPS上的软件。

当下,软件验证是中心议题,也使虚拟平台成为嵌入式软件开发、调试和测试的主流方式。若您从未使用过虚拟平台(软件模拟),您可能想知道:

虚拟平台到底可以运行多少软件?

以下便是一个典型的软件堆栈示例:

有了Imperas?虚拟样机的解决方案,您可以根据需要长时间快速运行完整的软件栈——开启Linux或其他操作系统、试行程序和固件并运行应用程序代码。有了Imperas指令集仿真器(ISS),在典型的台式电脑上预期速度可高达1000 MIPS,且Linux SMP开机速度不超过10秒。

然而,随着SoCs向多核多处理器发展的趋势,即使再好的仿真性能也不足以在单一的模拟中运行每10s数十亿甚至数万亿的指令。为此,Imperas开发了一款虚拟平台加速器,可充分利用主机PC上的多个x86内核:QuantumLeap。

QuantumLeap: 独特的并行仿真加速器

QuantumLeap是一款并行仿真性能加速器,具有新的同步算法(旨在多处理器主机的多处理器目标,或MPonMP?),可以使虚拟平台的软件执行速度达到最快。QuantumLeap并行仿真加速器利用运行仿真主机的多个内核,并在特定的虚拟平台中尽可能利用多个内核。其在高达512个目标内核的虚拟平台及高达16个内核的主机上进行测试,并支持非对称多重处理(AMP)、对称多重处理(SMP)和硬件加速器块。更重要的是,QuantumLeap操作对用户透明,没有模型、工具或软件更改。

实际性能指标如下所示:

目前,很多SoC硬件平台结合了多核嵌入式处理器,或具有一个或更多内核的多处理器,加上硬件加速器,所有这些并行执行。然而,单线程虚拟平台的即时(JIT)代码变形仿真器不能为多核SoC进行扩展,这就为高效的嵌入式软件开发树立了障碍。

通过在主机中将模拟内核分配至所有可用的处理器中,QuantumLeap则消除了这个障碍。有了先进的技术确保这些内核进行有效的同步,跨多个主机处理器的模拟线性扩展是可以实现的,且对多核通讯的影响非常小。

用QuantumLeap配备虚拟平台

虚拟平台仿真性能的需求由两个因素驱动。第一个便是单个软件测试的长度。?在网络服务器使用情况下,单个测试有10万多亿个要执行的指令。换言之 ,一个线程模拟需要每秒运行1亿条指令,单个测试的执行时间将大于24小时。

第二个因素是安全关键系统的测试需求,如汽车行业。?在汽车行业,测试套件通常包含了成千上万的测试,日常测试则是回归测试的一部分。?当然,还有其他工具,例如在仿真环境中需要代码覆盖率和故障注入,以满足测试和遵从需求。

大多数的设计为多核处理器、多个处理器,或者两者兼有。可见,对高性能模拟性能具有很大的需求。有了Imperas虚拟平台模拟器,随着模拟内核不断增加,模拟吞吐量仍可保持相对稳定。QuantumLeap可以为嵌入式软件开发、调试和测试在虚拟平台中提供改进的仿真技术。

QuantumLeap还可以提供一个透明的使用模型,在被测试环境下不需要对软件做出改变,亦不需要对虚拟平台上的模型、开发环境中的软件工具或虚拟平台上正在执行的软件做出改变,并可以同时确保确定性模拟的完全执行。

QuantumLeap模拟选项支持Imperas多处理器/多核软件开发工具包(M * SDK)功能,包括3Debug?和验证及分析(VAP)工具。

总结

QuantumLeap先进的并行仿真算法为包含多个处理器的虚拟平台提供强化的仿真性能。QuantumLeap并行仿真技术可以使用大量的处理器扩展主机PC。有了该技术,便可使用越来越多的处理器实例化模型来有效地模拟虚拟平台。基准测试结果如下:?使用标准基准,平均性能的测量比最近的商业解决方案快15倍。?可观察到,使用多核MIPS P5600 OVP模型的虚拟平台每秒可以运行5亿个指令。OVP模型则在标准3.4 GHz四核主机电脑上运行。更多信息,请访问:

1.Imperas软件网站: imperas.com 和 2.“并行仿真加速嵌入式软件开发、调试和测试”,Imperas Software Ltd公司的James Kenney、Simon Davidmann及 Larry Lapides在嵌入式世界2015上发布。3.开放虚拟平台网站4.有关MIPS和Quantumleap的视频5.其余的MIPS小样视频,请点击此处。

share