本次项目客户是国内工业CAE仿真软件厂商,其Windows版本产品已经商业化多年,软件几十万行代码中,任务调度模块大量调用synchapi.h相关API,支撑多线程并行求解。

信创转型浪潮下,大量成熟商用工业仿真、工控上位机软件,长期基于 Windows生态开发。很多软件底层深度依赖`synchapi.h`头文件提供的整套线程同步机制,事件、互斥量、信号量、多对象等待等同步原语,是支撑仿真并行计算、实时IO采集、多模块数据交互的基础骨架。

当软件迁移至银河麒麟、统信UOS等国产操作系统时,一个极易踩坑的底层难题随之浮现:国产操作系统基于Linux 内核,不存在原生synchapi.h。Windows和POSIX两套线程模型在设计理念、接口语义、唤醒规则上存在巨大差异。

不少工业软件团队初次尝试移植时,以为简单替换锁接口就能完成适配,结果表面编译成功,却埋下大量隐性风险。这类并发问题具备极强的偶发性,常规功能测试很难发现,只有长时间高负载运行才会暴露,一旦上线,会引发仿真任务中断、数据丢失、程序卡死等严重故障,直接影响项目验收。

客户核心痛点

1. 底层同步机制不兼容:国产系统缺少synchapi.h原生支持,直接移植会编译报错;简单粗暴替换pthread锁,会出现事件信号丢失、多对象等待失效、跨进程同步对象无法共享等问题。并发异常属于偶发问题,定位难度极大,压力测试中频繁出现程序时序错乱、偶发死锁。

2. 代码重构风险高、工期紧张:软件代码体量庞大,如果大面积修改上层业务代码,不仅开发周期不可控,还极易引入新bug,破坏原有仿真计算逻辑,客户无法承担重构带来的业务风险。

3. 工业场景可靠性要求严苛:CAE仿真软件需要长时间连续运算,对调度时序稳定性、计算结果一致性要求极高。国产化版本的运行行为,必须和原有 Windows 版本保持一致,不能因为底层适配改动影响仿真精度。

4. 信创验收门槛高:项目需要在飞腾、鲲鹏等国产硬件平台稳定运行,同时满足信创项目规范,不允许引入重型第三方兼容环境,避免性能抖动与后期运维隐患。

图片

客户核心需求

保留原有上层业务代码,最小化代码改动;

在国产操作系统上,完整等效实现synchapi.h同步接口能力,保证线程调度行为、超时逻辑、跨进程同步能力与Windows版本对齐;

软件长时间高负载稳定运行,仿真计算结果无偏差,满足信创项目验收标准;

适配银河麒麟、统信UOS多国产操作系统与国产硬件平台。

客户团队前期自行开展适配工作,多次尝试方案均无法通过长时间稳定性压力测试,项目陷入停滞,找到优飞迪科技寻求技术攻坚支持。

项目落地・解决方案简述

优飞迪技术团队在充分评估客户软件架构、业务场景、信创约束条件后,制定了搭建跨平台同步抽象层的适配方案。

基于国产操作系统POSIX底层能力,封装一套接口签名、语义行为和 Windows synchapi.h保持一致的API层,对外提供适配头文件。上层业务代码仅需少量改动,底层由抽象层完成国产操作系统的能力适配。

图片

项目落地收益

✅ 最小代码侵入,大幅降低改造风险与周期

原有业务代码改动量控制在极低范围,无需大规模重构仿真调度逻辑。最大限度保留客户原有成熟代码资产,规避业务重构带来的新增bug风险,缩短整体信创适配工期,保障项目按计划推进。

✅ 运行行为对齐Windows,保障工业计算可靠性

抽象层完整复刻Windows同步原语语义,国产化版本线程调度时序、任务触发逻辑与原版保持一致。长时间高负载仿真压力测试下,无死锁、无任务丢失、无数据异常,仿真计算结果与Windows版本完全一致,满足工业软件高可靠运行要求。

✅ 多平台兼容,适配信创软硬件栈

方案适配银河麒麟、统信UOS操作系统,支持飞腾、鲲鹏国产芯片平台,不依赖重型二进制兼容组件,运行性能平稳,满足信创项目规范要求,顺利通过客户项目验收。

✅ 可复用适配底座,赋能客户后续产品迭代

本次搭建的跨平台同步抽象层具备通用性,客户后续同系列其他工业软件信创迁移项目,可以直接复用这套能力底座,减少后续项目重复投入,持续降低客户产品国产化改造成本。

✅ 交付完整测试验证体系

优飞迪同步交付配套测试用例与并发压力验证方案,客户后续版本迭代、系统升级时,可自主开展回归测试,持续保障软件并发稳定性,降低后期运维风险。

工业软件信创迁移,难点往往不在表层功能编译,而在底层系统API、多线程并发这类看不见的底层能力适配。很多项目卡在同步原语这类底层细节上,看似功能跑通,却藏着偶发稳定性隐患,拖慢项目验收节奏。

优飞迪科技深耕工业CAE、工控软件跨平台适配与信创落地,擅长解决 Windows工业软件迁移国产操作系统过程中的各类底层系统适配难题。依托多年工业软件项目实战经验,从需求评估、方案选型、适配开发到稳定性验证全流程支撑,帮客户规避信创改造各类技术坑,保障工业软件项目平稳落地。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐