最终,我决定将代码迁出x86架构!
1 从大型机到 x86 架构,计算的下一个拐点在哪?
- 多核,性能提升 20%,云应用支持度更好,更灵活;
- 支持 8 个 DDR 通道,传统 CPU 仅 6 个,吞吐率提升 25%;
- SOC 芯片,一颗芯片四合一,包含 CPU、南桥、网卡和 SAS 控制器,效能提升 30%;
- 集成压缩、加密、重删等硬件加速引擎的处理器,大大提升应用的性能,释放更多 CPU 算力。
2 跨平台软件迁移实践

实现 90% 的 C、C++ 代码自动迁移

- 软件工程构建文件中包含 -march 与 -mtune 编译参数,如果提示参数不兼容,则需要调整,可能兼容的调整后参数为:-march=ARMv8.1-a -tune=tsv110
- 编译时遇到找不到函数、缺少库文件等错误,安装对应的鲲鹏平台兼容的依赖库,安装方法同 x86 服务器
- 开源项目库不支持 ARM 架构,这种情况较少,一般发生在较旧的项目代码;解决方法包括:修改代码,寻求替代组件等
- 编译时提示代码错误,可能需要根据平台差异修改部分代码,例如平台类型相关宏定义
- 汇编程序和 C/C++ 源代码中内联汇编需要重写,ARM 和 x86 架构指令集不兼容。

- 扫描工具:Dependency Advisor,检查用户软件资源包二进制文件,并评估可移植性;检查指定的用户软件安装路径下的二进制文件,并评估可移植性;检查用户软件 C/C++ 源码、软件构建工程文件,并评估可移植性;向用户提供软件移植报告,提供移植工作量评估;支持命令行方式和 Web 两种工作模式。
- 移植工具:Porting Advisor,检查用户软件 C/C++ 软件构建工程文件,并提供修改建议;检查用户软件 C/C++ 源码,并提供修改建议;检查用户软件中 x86 汇编代码,并提供修改建议;支持命令行和 Web 两种访问方式;提供一键式移植软件到鲲鹏平台;支持用户 RPM、DEB 软件包重构。
- 性能优化工具:Tuning Kit,支持安全可靠的升级回退功能;支持系统性能数据采集和分析,包括:CPU、内存、磁盘 IO、网络 IO,根据现有积累的经验,对已经明确的指标给出基准参考值和优化建议;支持 Java 程序性能分析;支持和 Porting & Dependency Advisor 同时部署在同一台机器。
- 加速库:从底层算力进一步提升应用软件性能,glibc 基础库目前已经在鲲鹏开源社区开源,优化了 16 个最常用的接口,相当于 Intel 优化范围的 10%;HMPP 适配接口数 501 个,占 IPP 信号库接口的 38.5%,占 IPP 库总接口的 11%,对标 Intel IPP 完成功能测试。


3 移植完成,一切才刚刚开始

- 高校教研扶持:面向高校,提供 1 亿人民币的扶持金额,包括人才培养,云资源及样机支持,同时华为与教育部签署 3 年协议投入 10 亿人民币,共同推进人才的培养。
- 初创企业及开发人员扶持:面向初创企业及个体开发人员,以云资源及线下活动的方式发放 1 亿人民币的补助,每家初创公司最高可获得 75 万人民币的云券。
- 合作伙伴发展扶持:面向合作伙伴,提供 6 亿人民币的扶持总额,其中 3 亿人民币一次性研发费用补贴,3 亿人民币的云资源。

最终,我决定将代码迁出x86架构!的更多相关文章
- ARM和X86架构
重温下CPU是什么 中央处理单元(CPU)主要由运算器.控制器.寄存器三部分组成.运算器起着运算的作用,控制器负责发出CPU每条指令所需要的信息,寄存器保存运算或者指令的一些临时文件以保证更高的速度. ...
- Linux x86架构下ACPI PNP Hardware ID的识别机制
转:https://blog.csdn.net/morixinguan/article/details/79343578 关于Hardware ID的用途,在前面已经大致的解释了它的用途,以及它和AC ...
- x86架构的android手机兼容性问题
x86架构的android手机兼容性问题 http://www.cnblogs.com/guoxiaoqian/p/3984934.html 自从CES2012上Intel发布了针对移动市场的Medf ...
- 基于x86架构的内核Demo的详细开发文档
http://hurlex.0xffffff.org/ 这里是hurlex这个基于x86架构的内核Demo的详细开发文档, 包含PDF文档和生成PDF的XeLaTex源码和文档每章节的阶段代码. 你可 ...
- X86架构下Linux启动过程分析
1.X86架构下的从开机到Start_kernel启动的整体过程 这个过程简要概述为: 开机-->BIOS-->GRUB/LILO-->Linux Kernel 其执行的流程图和重要 ...
- X86架构CPU常识(主频,外频,FSB,cpu位和字长,倍频系数,缓存,CPU扩展指令集,CPU内核和I/O工作电压,制造工艺,指令集,超流水线与超标量)
1.主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度. CPU的主频=外频×倍频系数.很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差. ...
- x86架构手机跑安卓好吗?(脑补)
华硕低价位手机ZenFone一推出就掀起市场话题,许多人也对ZenFone所采用的Intel Atom处理器有所意见,深怕其相容性问题无法正确执行应用程式App,这究竟是怎么回事呢? Intel近几年 ...
- X86 架构和 ARM 架构
1.关于x86架构 X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家 ...
- ARM架构和X86架构对比
转载地址 我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性.合理的比价分析. 一.性能: X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得 ...
- X86架构
在接触BIOS的时候,都需要对PC架构有一定的认知.目前的PC架构绝大多数都是Intel的X86架构,貌似也是因为INTEL的这个X86架构早就了目前INTEL如日中天的地位. 废话不多说,X86架构 ...
随机推荐
- 基于 Canal 设计可扩展、高可用 binlog 同步集群
问题 https://github.com/alibaba/canal binlog 同步组件,canal 使用是比较广泛的,canal 逻辑架构如图: 部署架构如图: canal 基于主从模式,任务 ...
- 【Python微信机器人】第一篇:在windows11上编译python
前言 我打算写一个系列,内容是将python注入到其他进程实现inline hook和主动调用.本篇文章是这个系列的第一篇,后面用到的案例是注入python到PC微信实现基本的收发消息.文章着重于py ...
- 如何通过SK集成chatGPT实现DotNet项目工程化?
智能助手服务 以下案例将讲解如何实现天气插件 当前文档对应src/assistant/Chat.SemanticServer项目 首先我们介绍一下Chat.SemanticServer的技术架构 Se ...
- 《数据结构》王卓老师 p48-p62学习反馈
跟着青岛大学-王卓老师的视频进行到链队列时,运行链队列代码的时候遇到了两个问题: 1.)Program received signal SIGSEGV Segmentation fault 附代码: ...
- 17.1 隐藏执行CMD命令
本章内容涉及使用Socket API和CMD命令行工具实现本地CMD命令执行.无管道正向CMD和无管道反向CMD三种功能.执行本地CMD实现使用CreateProcess函数创建一个新的CMD进程,并 ...
- FSCTF 2023(公开赛道)CRYPTO WP
RSA 1 1.题目信息 提交格式:FSCTF{你所解出的内容} p=1458769258361 q=4556983871563 e=17 求d 2.解题方法 exp from gmpy2 impor ...
- HTML5的重要内容-1
HTML学习笔记-1 (一):first-child和:first-of-type :first-child第一个元素 :first-of-type第一个某种类型元素 (二):only-child和: ...
- 分享一个有趣的WBO在线创作画板并且可以远程访问
WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图.该白板对所有线上用户实时更新,并且状态始终保持.它可以用于许多不同的目的,包括艺术.娱乐.设计和教学,使用 ...
- kubernetes container device interface (CDI)
CDI 是什么? Container Device Interface (CDI) 是一个提议的标准,它定义了如何在容器运行时环境中向容器提供设备.这个提议的目的是使得设备供应商能够更容易地将其设备集 ...
- [Codechef REBXOR]Nikitosh and xor (Trie,异或)
题目传送门 分析:首次考虑暴力枚举 \(l_{1},r_{1},l_{2},r_{2}\),配合前缀和时间复杂度 \(O(N^{4})\),需要想办法优化.对于这种两段区间不重合的,我们考虑枚举两段区 ...