RISC-V软件迁移保障:符合性与性能测试
1. 成果简介
RISC-V 作为一种新兴的指令集架构,其基础软件是一个庞大而复杂的集合。当将使用 C/C++ 语言编写的系统软件从已有架构平台迁移到RISC-V平台时,往往会面临多种问题和挑战,包括编译兼容性、运行逻辑一致性以及性能表现差异等。为确保迁移后的RISC-V基础软件的有效性和运行效率,课题组开发了两套工具,分别用于测试系统软件在迁移过程中的软件符合性和性能一致性。
首先,针对 软件符合性问题,工具系统从函数调用链、程序分支跳转两个方面入手,分析迁移前后软件在逻辑层级上的表现是否与原平台一致。通过自动化测试与验证,工具能够有效检测迁移过程中可能引入的逻辑偏差和潜在错误。

在对 RISC-V openEuler 23.09 版中200多个软件包的检测中,结果显示符合性问题主要集中在以下几个方面:可变参数处理、CPU 扩展指令差异、默认编译优化策略、变量有无符号、是否支持原子操作、运行时库兼容性、编译器内建函数处理差异以及边界条件处理不一致等。这些问题揭示了RISC-V平台在工具链、运行时和扩展指令支持方面与传统平台存在的差异,也为后续的生态完善提供了改进方向。
其次,针对性能一致性问题,课题组设计了一套基于 LLVM 插桩和离散化统计的性能测试工具。该工具采用模块化设计,分为编译插桩、运行采集、日志存储和数据分析与可视化四个阶段,从函数级别入手,评估迁移后软件在执行效率方面是否存在差异。通过跨平台对比分析,该工具能够帮助发现性能瓶颈并指导优化。

总体来看,这两套工具相辅相成:符合性检测工具保障了迁移后系统软件逻辑上的正确性,性能一致性工具确保了软件在运行效率上的稳定性,为 RISC-V 基础软件生态的健壮性与可用性提供了有力支撑。
2. 技术先进性
该技术的技术先进性体现在以下方面。
(1)提出面向跨架构迁移的软件符合性检测方法,从函数调用链、分支跳转两个方面入手,突破了传统结果比对方式的局限,能够精确发现迁移过程中因编译优化、指令扩展或变量处理差异引入的隐性错误。
(2)研发基于 LLVM 插桩的轻量化性能一致性检测工具,在编译阶段自动嵌入采集逻辑,并结合离散化统计方法,实现跨平台、低开销的函数级性能分析。
3. 技术成熟度
该基础当前处于小试阶段(实验室验证)。
4. 可应用领域
该工具适用于 RISC-V 基础软件迁移验证与性能评估,可对软件包的一致性和函数级性能进行分析;助力 RISC-V 基础软件生态建设,发现性能瓶颈并优化系统。
5. 联系人
蔡彦,yancai@ios.ac.cn,15010619808
