ARM架构和避坑指南|开发者分享会

本文涉及的产品
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: 今天分享的内容来自阿里云倚天ECS高级架构师张先国的“ARM架构和避坑指南”。本文内容主要从ARM架构、C和Java如何避坑、等方面详细讲解。

今天分享的内容来自阿里云倚天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差异和避坑

如下图所示,给大家汇总了一些在具体场景的问题出现时的应对方案。

三、如何优化,压榨硬件资源

  1. 如何压榨硬件资源——倚天优化镜像

Alibaba Cloud Linux 是阿里云打造的 Linux 服务器操作系统发行版。我们积极吸收开源社区成果为云上应用程序提供 Linux 社区的增强功能,同时通过引入更完善的发行版质量体系,确保产品品质;同时结合阿里云基础设施进行深度优化,并为用户提供长达 10 年的企业级支持和维护,让用户体验更好的操作系统服务。

  1. 如何降低大数据存储成本
  • 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

都支持

  • 压缩算法升级

  1. 如何压榨CPU水位-视频

  1. 如何压榨CPU水位-Java、Flink、spark、ES

四、相关资料

分类

文档

获取

技术手册

开发文档

阿里云ARM迁移文档Github: https://github.com/aliyun/yitian-ecs-getting-started

迁移手册

官网:  https://help.aliyun.com/document_detail/462189.html?spm=a2c4g.462190.0.0.133a70170SfYs9

Github: https://github.com/aliyun/yitian-ecs-getting-started

ARM芯片手册

Arm Neoverse N2 Software Optimization Guide

https://developer.arm.com/documentation/PJDOC-466751330-18256/0003/?lang=en

C软件包RPM获取

版本推荐

倚天迁移版本推荐:  https://help.aliyun.com/zh/ecs/user-guide/migrate-the-operating-system-of-an-ecs-instance-1?spm=a2c4g.11186623.0.0.233c70174HP4fs

阿里开源镜像站

https://developer.aliyun.com/packageSearch

RPM Find

https://rpmfind.net/linux/rpm2html/search.php?query=rpm(aarch-64)

开源社区Linaro

https://ecosystemdashboard.linaro.org/

Java资源

JDK编译器

https://dragonwell-jdk.io

依赖包

https://mvnrepository.com/ 

学习和培训

倚天在线社区

https://developer.aliyun.com/yitian  

迁移视频课程

https://www.infoq.cn/album/106

最佳实践课程

倚天社区:基于ECS倚天实例的应用构建最佳实践:https://developer.aliyun.com/ebook/8054

迁移方案

迁移方案

阿里云倚天官网: https://help.aliyun.com/document_detail/462190.html  

EasyYitian代码扫描工具

https://help.aliyun.com/zh/ecs/user-guide/easyyitian-migration-tools

容器方案

ACK节点池

https://help.aliyun.com/document_detail/455311.html

构建和推送多架构镜像 

https://help.aliyun.com/document_detail/214497.html

好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8

【扫码填写上方调研问卷】

欢迎每位来到弹性计算的开发者们来反馈问题哦~

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
431 61
|
1月前
|
设计模式 开发者
一、HarmonyOS Next 开发者手册项目之项目架构设计
该项目是一个基于HarmonyOS Next的开发者学习手册应用,旨在帮助开发者系统学习HarmonyOS开发知识。项目采用分级学习方式,从基础到高级逐步深入讲解技术与实践案例。前四章重点介绍应用架构相关内容,助力快速掌握应用核心。 项目结构清晰,包含主入口、源代码目录、公共资源和工具等。页面导航分为多个阶段:萌新小白(基础入门)、登堂入室(进阶学习)、进阶高手(高级开发)。支持Markdown解析,使用`@luvi/lv-markdown-in`插件展示内容,并定义了多种数据结构以规范开发流程。 源码已开源,持续更新中
43 1
|
2月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
130 10
|
3月前
|
存储 机器学习/深度学习 算法
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
|
5月前
|
弹性计算 编解码 运维
飞天技术沙龙回顾:业务创新新选择,倚天 Arm 架构深入探讨
飞天技术沙龙回顾:业务创新新选择,倚天 Arm 架构深入探讨
|
6月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器ECS架构区别及选择参考:X86计算、ARM计算等架构介绍
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下这些架构各自的主要性能及适用场景,以便大家了解不同类型的架构有何不同,主要特点及适用场景有哪些。
920 10
|
7月前
|
人工智能 芯片 Windows
ARM架构PC退货率与CEO策略透视
ARM架构PC退货率与CEO策略透视
|
8月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
445 7
|
7月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统架构差异及其对开发者的影响
本文旨在通过对比分析iOS和Android两大移动操作系统的系统架构,探讨它们在设计理念、技术实现及开发者生态方面的差异。不同于常规摘要仅概述内容要点,本摘要将简要触及核心议题,为读者提供对两大平台架构特点的宏观理解,铺垫
|
9月前
|
Docker 容器
docker:记录如何在x86架构上构造和使用arm架构的镜像
为了实现国产化适配,需将原x86平台上的Docker镜像转换为适用于ARM平台的镜像。本文介绍了如何配置Docker buildx环境,包括检查Docker版本、安装buildx插件、启用实验性功能及构建多平台镜像的具体步骤。通过这些操作,可以在x86平台上成功构建并运行ARM64镜像,实现跨平台的应用部署。
5661 2