摘 要
光传送网络在现代网络中起到了越来越重要的作用,为各个领域以及各种新兴技术提供了高质量网络传输。随着信息技术的快速发展和各类业务需求的不断增长,通信单板业务软件愈加复杂,在通信单板业务软件的开发调试过程中存在诸多难题,例如:单板物料资源紧缺导致各种依赖硬件的验证工作难以开展;无法对单板业务软件进行源码级别单步调试;难以对单板进行数据注入构造测试场景;代码仓库合并门禁测试用例覆盖率过低无法拦截问题代码等。这些问题的紧迫性愈加突出,已严重影响了光传送系统软件的开发调试效率以及软件质量。
由于主导板在整个光传送系统的作用尤为重要,许多单板软件的开发调试场景都需要依赖主导板,使用频率甚高。因此,本文依托华为武汉研究所光传送系统主导板仿真项目,开展关于主导板仿真、主导板仿真性能优化以及主导板仿真数据注入的研究,研究内容如下:
第一,基于虚拟化仿真平台QEMU设计并实现了光传送系统中的主导板的仿真。本文对光传送系统主导板构成分析,设计主导板仿真架构,分为各层面:设备层面、SoC层面以及板级层面。参考硬件用户指南以及芯片手册完成了基础设备仿真、总线设备仿真以及外围设备仿真,在设备仿真的基础上完成了SoC仿真和多种主导板仿真,使得业务软件可以稳定运行在仿真主导板上,开发和测试人员可以基于仿真主导板进行调试验证工作。
第二,提出了一种基于region层面的TCG缓存刷新优化方案以及使用半虚拟化VirtIO网卡进行仿真主导板性能优化。本文对主导板仿真启动和运行过程中时间和空间层面的开销进行分析,以寻找性能瓶颈点并提出解决方案。对于TCG缓存利用率过低的问题,深入分析TCG模块指令翻译流程以及TCG缓存利用情况,设计并实现了基于region层面的保热去冷的TCG缓存刷新方案;对于全虚拟化网卡传输效率低的问题,使用半虚拟化VirtIO网卡来替代全虚拟化网卡以避免报文收发过程中不必要的虚拟化模拟。同时使用以上两种方法可使主导板仿真启动耗时从1680秒(28分钟)降至982秒(约16分钟)。
第三,基于本文的主导板仿真,开发了数据插件框架以及结合WebIDE的外挂仿真云化平台,实现了主导板仿真的数据注入。针对测试验证场景中关于测试数据注入的现状,基于仿真主导板开发数据插件框架,可直接对仿真主导板进行数据注入,减少对真实设备的依赖,同时解决了仿真数据注入门槛高、步骤繁琐以及部分外设种类繁多导致仿真代码臃肿等问题。并且针对数据插件框架无法跨机器使用的痛点,在其基础上开发了结合WebIDE的外挂仿真云化平台,使得开发人员可以在多个WebIDE中直接对仿真主导板进行数据注入。
本文工作为光传送系统嵌入式软件开发维护提供了一种参考,减少了光传送系统嵌入式软件开发测试过程中对于真实设备的依赖,同时对仿真主导板进行了性能优化,并提供数据注入功能。本文技术已在华为光传送系统嵌入式软件开发测试过程中广泛使用,一定程度上提高了开发测试效率以及软件质量。
关键词:QEMU;虚拟化仿真;光传送系统;TCG;数据注入