diff --git a/README.md b/README.md index 15aa0d7c8fd77b51c1287971cdbebb7061e015b9..cad10f694c95c39da8286cfd71ac7ecfcf87fc82 100644 --- a/README.md +++ b/README.md @@ -54,55 +54,26 @@ ZVM目前支持兼容ARMv8架构的处理器芯片,包括: 环境搭建部分主要介绍Linux/Ubuntu主机开发环境的配置,包括主机各类环境变量的配置与升级、zephyrproject SDK的配置、环境验证、zvm仓库的初始化以及简单zvm sample的构建与测试等,方便用户快速入手搭建开发环境,详细内容见如下链接:[Environment_Configuration:https://gitee.com/openeuler/zvm/blob/master/zvm_doc/2_Environment_Configuration.rst](https://gitee.com/openeuler/zvm/blob/master/zvm_doc/2_Environment_Configuration.rst) -#### 3. ZVM运行与测试: +#### 3. 运行ZVM: 我们提供了ZVM在QEMU和RK353568板卡进行验证的指南,可以在上面运行多个虚拟机并进行虚拟化功能测试,下面是ZVM在各个平台上运行的详细教程: - [ZVM on QEMU:https://gitee.com/openeuler/zvm/blob/master/zvm_doc/3_Run_on_ARM64_QEMU.rst](https://gitee.com/openeuler/zvm/blob/master/zvm_doc/3_Run_on_ARM64_QEMU.rst) - [ZVM on RK3568:https://gitee.com/openeuler/zvm/blob/master/zvm_doc/4_Run_on_ROC_RK3568_PC.rst](https://gitee.com/openeuler/zvm/blob/master/zvm_doc/4_Run_on_ROC_RK3568_PC.rst) +- [ZVM on FVP:https://gitee.com/openeuler/zvm/blob/master/zvm_doc/5_Run_on_ARM64_FVP.rst](https://gitee.com/openeuler/zvm/blob/master/zvm_doc/5_Run_on_ARM64_FVP.rst) -## ZVM性能测试 +## ZVM性能测试结果 -ZVM的性能测试在瑞芯微RK3568芯片上进行(开发板采用ROC-RK3568-PC),RK3568芯片是一款代表性的基于ARMv8.2架构(采用Cortex A55)的4核CPU国产SoC芯片。本次性能测试主要对比虚拟机操作系统(VM)在**裸板**(即RK3568裸板)和**ZVM**(即ZVM on RK3568)上的各种性能指标,包括系统线程的调度时延、中断处理时延、内核对象的操作时间、系统吞吐量等。本次测试采用的VM为Zephyr RTOS(3.7 LTS)和Debian(Linux 5.10内核),使用的测试集包括:1)Zephyr Latency Measure测试集;2)Debian Cyclictest测试集;3)Zephyr Sys kernel测试集;4)Debian Unixbench测试集。前两个测试集关注VM的系统延迟,后两个测试集关注VM的整体性能,具体说明见下面测试中描述。 +ZVM的性能测试在瑞芯微RK3568芯片上进行(开发板采用ROC-RK3568-PC),RK3568芯片是一款代表性的基于ARMv8.2架构(采用Cortex A55)的4核CPU国产SoC芯片。本次性能测试主要对比虚拟机操作系统(VM)在**裸板**(即RK3568裸板)和**ZVM**(即ZVM on RK3568)上的各种性能指标,包括系统线程的调度时延、中断处理时延、内核对象的操作时间、系统吞吐量等。本次测试采用的VM为Zephyr RTOS(3.7 LTS)和Debian(Linux 5.10内核),使用的测试集包括:1)Zephyr Latency Measure测试集;2)Debian Cyclictest测试集;3)Zephyr Sys kernel测试集;4)Debian Unixbench测试集。前两个测试集关注VM的系统延迟,后两个测试集关注VM的整体性能,具体说明见下面测试链接中描述。 -#### 测试1:**Zephyr RTOS的延迟测试** +- [Test ZVM on RK3568:https://gitee.com/openeuler/zvm/blob/master/zvm_doc/6_Test_on_RK3568.rst](https://gitee.com/openeuler/zvm/blob/master/zvm_doc/6_Test_on_RK3568.rst) -我们分别在裸板和ZVM上运行Zephry RTOS,并在ZephyrRTOS中运行Zephyr Latency measure测试集,该基准测试测量选定内核功能的平均延迟,如线程上下文切换、中断处理、信号量收发的延迟,测试项的细节见:[Zephyr Latency measure](https://github.com/zephyrproject-rtos/zephyr/tree/main/tests/benchmarks/latency\_measure)中列出的基准项。 -
-
Zephyr中运行Latency Measure测试结果 - -测试结果如上图所示,横坐标代表各个基准项目的时延(单位为ns),纵坐标为各个基准测试项。结果显示,相比于裸机,Zephyr RTOS运行在ZVM上时,“Context switch between preemptive thread”测试项的延迟增加了7.1%, “Abort thread”测试项增加了2.4%,所有其他测试项延迟增幅均低于1%,且大部分是0增长。整体结果表明,ZVM对Zephyr RTOS的各项基准测试延迟的影响很小。 - -#### 测试2:**Debian的延迟测试** - -我们分别在裸板和ZVM上运行Debian,并在Debian中运行Cyclictest测试集,Cyclictest 是一个用于测量 Debian系统实时性能的工具,尤其是测量系统的**中断延迟**和**调度延迟**。它通常用于测试系统在实时场景下的响应能力,以确保系统在关键任务中具备足够的实时性。见[Cyclictest](https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/test-design)详细描述。在测试过程中,我们还通过stress工具逐步增加Debian的负载,依次将CPU密集型线程数量从1个增加到8个,每次Cyclictest测试的运行时间为30分钟,累计运行时间4小时。我们同时使用stress生成固定数量的IO和内存密集型任务,以模拟真实部署场景。 - -
-
Debian中运行Cyclictest测试结果 - -测试结果如上图所示,横坐标为CPU密集型线程数量,纵坐标为具体的延迟数据指标(单位为us)。我们选择1,2,4,8等四个CPU密集型任务数量作为采样点。结果显示,相比于裸机,Debian运行在ZVM上时,最大延迟增加了6.2%,最小延迟增加了2.4%。随着系统负载的增加,Debian在ZVM运行的Cyclictest测试结果逐渐逼近裸机。具体原因是负载较轻情况下ZVM本身内核的线程存在资源竞争会会对Debian线程有一定影响,而当负载到达一定临界值时,裸机与ZVM的资源竞争都满量。 - -#### 测试3:**Zephyr RTOS开销测试** - -我们分别在裸板和ZVM上运行Zephyr RTOS,并在Zephyr RTOS中运行Zephyr sys kernel基准测试集,其主要评估Sem、LIFO、FIFO、堆栈和Memslab等内核对象的操作效率,以体现系统开销。见[Zephyr sys kernel](https://github.com/zephyrproject-rtos/zephyr/tree/main/tests/benchmarks/sys_kernel)详细描述。 - -
-
Zephyr中运行Sys kernel测试结果 - -测试结果如上图所示,横坐标为各项基准测试项目,纵坐标为相关执行项的时间(单位为ns)。测试结果显示,相比于裸机平台,ZVM上运行Zephy RTOS的Semaphore 3测试项的损耗最大(8.7%),LIFO 3项的性能损耗为5.4%,其余损耗均在3%以内,且FIFO/Stack/Memslab等多个测试项的损耗为0。相比于裸机,ZVM引入的平均开销损耗仅为1.4%,说明ZVM上运行Zephyr RTOS的性能达到了裸机平台的98.6%。 - -#### 测试4:**Debian开销测试** - -我们分别在裸板和ZVM上运行Debian,并在Debian中运行UnixBench基准测试集。UnixBench套件包含多项测试,每项测试评估Debian性能的不同方面,并提供相应的评分。最终,这些评分会被加权并平均,生成一个综合分数作为系统整体性能的评估值,即系统基准指数分数(System Benchmarks Index Score),详细描述见[UnixBench](https://github.com/kdlucas/byte-unixbench)。 - -
-
Debian中运行Unixbench测试结果
-
-测试结果如上图所示,横坐标为各项基准测试项,纵坐标各个基准项的评分(Score数值)。测试结果显示,相比于裸机平台,ZVM上运行Debian的Process Creation测试项所引入的性能损耗最大(5.7%),其余项的性能损耗都在2%以内。ZVM和裸机对比,基准指数分数上的开销损耗仅为0.7%。说明ZVM上运行Debian的性能达到了裸机平台的99.3%,基本可以忽略不计。
+## 交流与反馈
+如有相关问题可以加入ZVM开发者群进行交流
-## 交流与反馈
+* 技术交流微信群:可以添加如下微信账号进群,xgqman 、 Char_lie027;
* 技术交流QQ群:如有相关问题可以加入ZVM开发者群进行交流;
diff --git a/zvm_doc/5_Run_on_ARM64_FVP.rst b/zvm_doc/5_Run_on_ARM64_FVP.rst
index f297834b8afba9c7115ff660ab05b52f547a67af..bdaab5ae258d9fe186204484a239a3f856c07adc 100644
--- a/zvm_doc/5_Run_on_ARM64_FVP.rst
+++ b/zvm_doc/5_Run_on_ARM64_FVP.rst
@@ -82,3 +82,5 @@
等待弹出zvm_host#的窗口即可。
`Prev>> 在RK3568上运行ZVM Zephyr中运行Latency Measure测试结果
+
+测试结果如上图所示,横坐标代表各个基准项目的时延(单位为ns),纵坐标为各个基准测试项。结果显示,相比于裸机,Zephyr RTOS运行在ZVM上时,“Context switch between preemptive thread”测试项的延迟增加了7.1%, “Abort thread”测试项增加了2.4%,所有其他测试项延迟增幅均低于1%,且大部分是0增长。整体结果表明,ZVM对Zephyr RTOS的各项基准测试延迟的影响很小。
+
+#### 测试2:**Debian的延迟测试**
+
+我们分别在裸板和ZVM上运行Debian,并在Debian中运行Cyclictest测试集,Cyclictest 是一个用于测量 Debian系统实时性能的工具,尤其是测量系统的**中断延迟**和**调度延迟**。它通常用于测试系统在实时场景下的响应能力,以确保系统在关键任务中具备足够的实时性。见[Cyclictest](https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/test-design)详细描述。在测试过程中,我们还通过stress工具逐步增加Debian的负载,依次将CPU密集型线程数量从1个增加到8个,每次Cyclictest测试的运行时间为30分钟,累计运行时间4小时。我们同时使用stress生成固定数量的IO和内存密集型任务,以模拟真实部署场景。
+
+ Debian中运行Cyclictest测试结果
+
+测试结果如上图所示,横坐标为CPU密集型线程数量,纵坐标为具体的延迟数据指标(单位为us)。我们选择1,2,4,8等四个CPU密集型任务数量作为采样点。结果显示,相比于裸机,Debian运行在ZVM上时,最大延迟增加了6.2%,最小延迟增加了2.4%。随着系统负载的增加,Debian在ZVM运行的Cyclictest测试结果逐渐逼近裸机。具体原因是负载较轻情况下ZVM本身内核的线程存在资源竞争会会对Debian线程有一定影响,而当负载到达一定临界值时,裸机与ZVM的资源竞争都满量。
+
+#### 测试3:**Zephyr RTOS开销测试**
+
+我们分别在裸板和ZVM上运行Zephyr RTOS,并在Zephyr RTOS中运行Zephyr sys kernel基准测试集,其主要评估Sem、LIFO、FIFO、堆栈和Memslab等内核对象的操作效率,以体现系统开销。见[Zephyr sys kernel](https://github.com/zephyrproject-rtos/zephyr/tree/main/tests/benchmarks/sys_kernel)详细描述。
+
+ Zephyr中运行Sys kernel测试结果
+
+测试结果如上图所示,横坐标为各项基准测试项目,纵坐标为相关执行项的时间(单位为ns)。测试结果显示,相比于裸机平台,ZVM上运行Zephy RTOS的Semaphore 3测试项的损耗最大(8.7%),LIFO 3项的性能损耗为5.4%,其余损耗均在3%以内,且FIFO/Stack/Memslab等多个测试项的损耗为0。相比于裸机,ZVM引入的平均开销损耗仅为1.4%,说明ZVM上运行Zephyr RTOS的性能达到了裸机平台的98.6%。
+
+#### 测试4:**Debian开销测试**
+
+我们分别在裸板和ZVM上运行Debian,并在Debian中运行UnixBench基准测试集。UnixBench套件包含多项测试,每项测试评估Debian性能的不同方面,并提供相应的评分。最终,这些评分会被加权并平均,生成一个综合分数作为系统整体性能的评估值,即系统基准指数分数(System Benchmarks Index Score),详细描述见[UnixBench](https://github.com/kdlucas/byte-unixbench)。
+
+ Debian中运行Unixbench测试结果
+
+测试结果如上图所示,横坐标为各项基准测试项,纵坐标各个基准项的评分(Score数值)。测试结果显示,相比于裸机平台,ZVM上运行Debian的Process Creation测试项所引入的性能损耗最大(5.7%),其余项的性能损耗都在2%以内。ZVM和裸机对比,基准指数分数上的开销损耗仅为0.7%。说明ZVM上运行Debian的性能达到了裸机平台的99.3%,基本可以忽略不计。
+
+`Prev>> 在ARM FVP上运行ZVM
+
+
+
+