最近啊,华为Mate P60发布的事情弄的沸沸扬扬,其实本人对这个事没啥感觉,现在手机这东西,无论是通信还是办公,各品牌都大差不差。要是业余消遣的话,有钱就买,没钱买也别上升到“情怀”和“人格”。
本以为这就是消费电子领域的一些商业碰撞,但没想到这把火直接烧到了信创领域。前两天接到了一个新项目,第一步就要评估华为的ARM服务器+ExaGear模拟器能否运行主流的工业软件,以帮客户制定下一期的服务器采购的技术路线。在项目验证过程中,我也看了一遍全网这方面所有新闻和信息。
这次就来锅大杂烩,大家各取所需,自行判断。
成果难产?
2020年9月,华为发布了一个“自研”工具名为ExaGear的动态二进制指令翻译工具,在ARM CPU上二制翻译x86指令集,在Linux环境下运行x86/Linux程序。
发布没多久,国内各大贴吧和关注此领域的学者、技术专家和爱好者都纷纷发帖,当时的网络热度不亚于华为公布了自己的“备胎计划”。
如今三年过去了,华为的官网依然保留着“动态二进制指令翻译工具(ExaGear)”的页面,甚至在6月份还有过一次小规模的内容更新,可见,相关技术团队依旧在维护着这个页面,但是基于此技术的应用案例或者技术成果却从未提及过。
有网友这样形容,我觉得挺贴切的:“要么就是没人吃这个螃蟹,要么这个螃蟹有毒,反正没有人能现身说法。”
图 华为官网动态二进制指令翻译工具介绍
当然,在发布之初的很多帖子中,也有个别技术流的专家或者学者,他们针对自研、性能和兼容性等方面进行了深入的研究,就是没得出什么统一结论。
自研?
在“自研”方面,有专家对比了华为ExaGear和俄罗斯ElTechs公司于2012年开发的ExaGear,从提取出来的二进制文件中可以看到,两者完全相同的字符串有5722条,而字符串的总数也不过10603条,再去掉将近一半的乱码,相当于俄罗斯的ExaGear在华为的ExaGear中都有体现。也就是说,这两个ExaGear都是用相同来源的代码编译的。
图 华为ExaGear和俄罗斯ExaGear代码对比
(详见http://www.guee/Articles/Content/34)
性能?
在性能方面,有专家在鲲鹏CPU下安装了动态二进制翻译工具,基于geekbench4 for Linux amd64进行了简单的性能估算,运行效率降低了50%以上,让人大跌眼镜。而华为官网的文档所谓20%的性能损失更是无从谈起。
根据官网排名,运行后的效率大致等于intel Core2级别的CPU,Core2差不多是2006年发布的CPU。
图 基于geekbench4 for Linux amd64的测试得分
图 同等得分的x86 CPU
(详见/d/file/gt/2023-09/3sbm0p3wq3k CPU上二制翻译x86指令集,运行一个Linux环境,然后用wine运行x86/Windows游戏。而华为发布的ExaGear尚未提供wine环境运行Windows程序,在兼容性方面大打折扣。从华为官网的介绍中也可以看到,华为ExaGear目前尚不支持Windows应用,且只支持CentOS 7、Ubuntu18、Ubuntu20三款操作系统。而目前各个科研院所的主流工业软件有一半以上需运行在Windows环境下。
图 华为官网ExaGear技术介绍
(详见/d/file/gt/2023-09/1hn0fkmelzr