当服务器用,很多人推荐 x86 ,那 arm 有啥缺点?我自己用的闲鱼买的黑豹 x2 ,刷的 armbian ,个人感觉 arm 机子的几个优点,精致小巧,省电,不过可刷的固件有限,但是限制 arm64 也有很多软件适配下来了
1
rojer12 2023-09-05 11:15:06 +08:00 1
你自己不是说了么,“可刷的固件有限”、“很多软件适配”
用 x86 需要考虑的是哪些特定场景/应用不好使(不是说用不了) 用 arm 需要考虑的是能用于哪些场景和哪些场景还没法用/doge |
2
OceanBreeze 2023-09-05 11:25:25 +08:00
我们公司很多 web 服务器都是 arm
|
4
hatw 2023-09-05 11:28:09 +08:00
貌似是指令集少了?然后很多东西用不了还是啥的。。。看过文章,忘了。。。。
|
5
cpstar 2023-09-05 11:30:30 +08:00 2
局限就是没有替代 x86 成为主流,当 80%的市场份额都是 ARM 的时候,什么适配什么有限,全都不存在。
|
6
gpt5 2023-09-05 11:33:03 +08:00
局限性就是很多 软件/包 不支持 arm 或支持的不好啊
|
7
tool2d 2023-09-05 11:34:31 +08:00
就是算力的区别,x86 能在高压的情况下,把并发拉上去。
arm 自己用用可以,商用一般要改散热,默认风扇都不太给力。 |
8
julyclyde 2023-09-05 11:39:59 +08:00
可刷的固件没必要太多
操作系统对硬件的适配,那个所谓 board support package 才是对各设备不同的 上层软件基本都源码级别通用 |
9
crysislinux 2023-09-05 11:55:23 +08:00 via Android
ARM 驱动不好搞,x86 通用很多。ARM 大部分都是一个板子焊接到一起的,x86 标准接口的东西多。
|
10
luckyrayyy 2023-09-05 12:00:07 +08:00 1
生态
|
11
duke807 2023-09-05 12:02:37 +08:00
未来是 risc-v ,当下是 x86 ,arm 只是过度
|
12
wanguorui123 2023-09-05 12:11:07 +08:00
ARM 的生态相对落后,但是自从 M1 问世现在基本上模糊化了
|
13
superchijinpeng 2023-09-05 13:09:55 +08:00
现在政企很多服务器全换成 arm 了
|
14
ljrdxs 2023-09-05 13:14:54 +08:00
@superchijinpeng 为什么? ARM 是公司出售的产品,并不是纯开源的吧?
|
15
superchijinpeng 2023-09-05 13:19:30 +08:00
|
16
happy32199 2023-09-05 13:22:29 +08:00 via iPhone
@OceanBreeze 请问你们 arm 服务器 用的哪些型号啊
|
17
ljrdxs 2023-09-05 13:37:46 +08:00
@superchijinpeng 你发的图好像是 Linux 。似乎不相关。
|
18
XyIsMy 2023-09-05 13:50:17 +08:00
@OceanBreeze arm 用在 web 服务上稳定么。有没有遇到过问题
|
19
smartruid 2023-09-05 14:19:32 +08:00
arm 主打低功耗吧,x86 的生态和性能是优势。看你服务器需求
|
20
cslive 2023-09-05 14:23:45 +08:00 2
x86 通用,随便刷机,arm 闭源驱动,刷个机费劲
|
21
niantoudeyisi 2023-09-05 14:32:15 +08:00 via Android
感觉是生态
|
22
nothingistrue 2023-09-05 14:33:13 +08:00
ARM 性能上不去(或者说能效比涨得比频率快),X86 待机功耗下不来。
|
23
OceanBreeze 2023-09-05 14:34:01 +08:00
|
24
superchijinpeng 2023-09-05 14:42:32 +08:00
@ljrdxs #17 用的是这些发行版
|
25
ljrdxs 2023-09-05 14:46:25 +08:00
@superchijinpeng 我以为芯片都是国产。看来不是这意思。
|
27
qieqie 2023-09-05 14:49:31 +08:00
没有 256bit 以上 SIMD 指令和寄存器,没有硬件层面的 strong memory model
|
28
ljrdxs 2023-09-05 14:52:53 +08:00
@xdeng 我的最初疑问是,既然 ARM 是公司售卖的产品,就算华为买了造,也不属于“开源可控”吧?
当然官场上没那么看重技术。 |
29
longbo666 2023-09-05 15:50:20 +08:00
@qieqie 因为我自己看不懂哈哈,所以我把你说的发给 GPT——
不完全正确。ARM 架构与 x86 架构在某些方面不同,但并不是完全没有 256 位以上的 SIMD ( Single Instruction, Multiple Data )指令和寄存器,也不是完全没有硬件层面的 strong memory model 。 SIMD 指令和寄存器: ARM 架构在其 NEON 扩展中引入了 128 位和 64 位 SIMD 指令集,以支持向量化操作。虽然 128 位是主流的,但某些 ARM 处理器已经引入了 256 位的 SIMD 指令集(例如,ARMv8.5-A 架构引入了 SVE ,Scalable Vector Extension ,支持 256 位和更大的向量寄存器)。这使得 ARM 能够进行高效的数据并行计算。 Memory Model (内存模型): ARM 架构实际上有一种称为 ARMv8-A 的硬件层面的内存模型,它提供了一种强内存模型,与 x86 的内存模型类似。ARMv8-A 引入了严格的一致性内存模型,确保多线程程序中的内存访问按照一定顺序执行,从而简化了并发编程。这个内存模型是面向多核和多线程应用程序的。 总之,ARM 架构与 x86 架构在 SIMD 指令集和内存模型方面存在一些差异,但不是没有 256 位以上的 SIMD 指令和寄存器,也不是完全没有硬件层面的 strong memory model 。这些差异主要取决于具体的 ARM 处理器架构和版本。 |
30
pagxir 2023-09-05 16:21:46 +08:00 via Android
软件生态支持不够。比如多媒体硬件编解码,x86 的基本上 vaapi 直接用,arm 基本上除非是 Android 否则就只能 CPU 硬扛
|
32
L4Linux 2023-09-05 16:39:30 +08:00
@nothingistrue Nervous-N1 开始就比较强了。
|
33
adoal 2023-09-05 16:43:53 +08:00
自己拿来当“服务器”角色玩的盒子就别想那么多了。
人家的 ARM System Ready 服务器是生产环境的正规服务器。 |
34
jian0jian 2023-09-05 17:00:08 +08:00
软件生态, 有些软件只有 x86 版本,这就没办法了。 不过大部分 arm 没问题。
|
35
yinmin 2023-09-05 17:05:37 +08:00
现在,mac 的 m1/m2 芯片的加持下,几乎常用的 linux 软件都支持 arm64 了,不支持 arm64 的软件不是流行软件了。
|
38
webcape233 2023-09-05 17:56:11 +08:00 via iPhone
科学计算 ,行业软件,arm 可用性还约等于无
|
40
Donahue 2023-09-05 18:26:47 +08:00
自己做家用服务器用其实没什么区别
可刷的固件少-> 大部分功能 armbian/openwrt 都能搞, 甚至你喜欢折腾的话黑豹 x2 也能刷 pve, 只是没那个必要。 我自己用我家云/黑豹 x2 做旁路由,觉得挺稳定的,本来都性能过剩,毕竟我宽带才 100M, 完全没有上 x86 的意义。即使千兆,arm 旁路由也足够的 arm 的缺点是可扩展性和 cpu 性能,如果你想加硬盘加内存这些就用 x86 , 相反如果你觉得黑豹 x2 的 4G 内存, 32Gemmc 或 TF 卡能满足你的要求,那我觉得 arm 其实是更优的选择。 |
41
Jirajine 2023-09-05 18:37:40 +08:00 via Android
就是没有硬件可用。不要说软件适配,开发团队都买不到实际可用的硬件。arm 的服务器一直处于 experimental 阶段,只有少数云厂商、小型开发板,以及国内为了政治指标硬上的电子垃圾等少数产品能用到 arm 的服务器。
|
42
bequt 2023-09-05 19:49:49 +08:00
请问 arm 能跑 python 吗?最近也考虑买一个 arm 。docker 能跑也行
|
44
bt7vip 2023-09-05 21:02:44 +08:00 via Android
arm 使用的是复杂指令集,X86 使用的精简指令集,精简是把功能做成黑盒,你开发直接调用,精简是给你一块地自己想种啥种啥,但是开发难度大,相比精简指令集,复杂指令集的效率更高,定制自由度高,但是开发难度大。arm 也在做复杂指令集,但是生态实在是不行。
|
45
bt7vip 2023-09-05 21:03:38 +08:00 via Android
精简是给你一块地自己想种啥种啥》》复杂是给你一块地自己想种啥种啥
|
46
nevin47 2023-09-05 21:06:40 +08:00
@ljrdxs #39 和官场没有半毛钱关系。相比于 X86 ,基于 ARM 的芯片全流程从设计到制造都可以做到可控,未来基于 RSIC-V 可控程度可以做到更高。
|
48
Donahue 2023-09-05 21:11:47 +08:00
@bt7vip 跟指令集有半毛钱关系,你写 c/cpp/python/js 需要写到跟指令集相关的东西么,这写都是写编译器的人才需要了解的
|
49
firstlove 2023-09-05 21:12:17 +08:00
这个 thread 的回复基本都是来搞笑的...
|
50
Donahue 2023-09-05 21:13:56 +08:00
@bequt x86 能跑的语言 arm 基本都能(应该是所有主流语言, 例如 c, c++, python, java, js, ruby, rust, golang), c#不太清楚能不能,我估计 c#也可以。
|
51
haierspi 2023-09-05 21:35:35 +08:00 via iPhone
我能感知的区别就是软件生态
|
52
Inn0Vat10n 2023-09-05 21:38:42 +08:00 2
某些回复给我看傻了,似乎都没上过大学计算机专业课。。。。
|
53
qweruiop 2023-09-05 22:45:38 +08:00
很多计算的库在 arm 上比 x86 慢了几倍。。。
|
54
gtx990 2023-09-05 22:57:45 +08:00 via Android
现代的 cpu 前端第一件事就是把指令译码成微指令
指令长什么样根本不重要 同一个架构甚至可以有多种前端 比如原本 amd 还准备发布 arm 版的 zen ,也就是 k12 |
55
Adelell 2023-09-05 23:22:04 +08:00 via iPhone
提醒一下 Apple silicon m1 m2 就是 arm 架构。
|
57
jameskongawork 2023-09-06 00:20:25 +08:00 via Android
IO 操作,或者说这是 RISC 必有的劣势
另外因为 X86 实际上只掌握在两家手里面(AMD INTEL)所以基本上在预取,CACHE 还有 DMA 上面都会考虑的比较周全。 ARM 的基本上则是根据具体的芯片实现厂商和应用场景去考虑,大量的消费 ARM 片子都是多媒体或者是通信为主,所以基本上 IO 吞吐都不会太强。 |
58
xarthur 2023-09-06 00:22:58 +08:00 via iPhone
差距是市占率不够高,生态还不如 X86 ,不过感谢 Apple 现在支持 ARM 的软件越来越多了,现代芯片行业最值钱的就是生态,而指令集只是生态的边界而已。
这也是为啥 intel 到现在也放不下已经成包袱的 X86 了。 |
59
jameskongawork 2023-09-06 00:24:47 +08:00 via Android
@jameskongawork 另外多说一句,关于硬盘和外设链接,目前所谓的 arm 消费片子当服务器用的所谓 m2 或者是 sata 几乎都是通过内部 IP 转 USB 再转 AMBA 实现的,这是成本使然,所以必然还有的是延时和带宽的限制
|
60
jameskongawork 2023-09-06 00:32:06 +08:00 via Android
@jameskongawork 另外多线程多核操作估计也差目前主流 x86 很远,因为内部的 noc 往往都是 flexnet 这样的设计加个 CCI 。所以这样的话核间的 exchange 代价就比较高,如果做比较强 corelated 的多核操作性能就比不过。
|
61
msg7086 2023-09-06 06:23:16 +08:00
@Donahue 计算密集型项目会大量用到汇编指令集。用 C 然后让编译器去优化,那就不知道慢到哪里去了。
你有兴趣的话可以试试看跑 x265 ,用--no-asm 路径跑(纯 C+编译器优化),看看比 AVX2 要慢多少。 如果只是跑跑 php python 之类的,不追求性能的,那当然怎么搞都无所谓了。但是企业环境下对指令集的依赖是很大的。适配 NEON 是硬性成本,不适配就是性能狂掉。 |
62
wm5d8b 2023-09-06 08:08:43 +08:00 via Android
你有 DTS ,就没有固件数限制了,只能说大牛帮忙做好的现成固件少
|
63
tairan2006 2023-09-06 09:35:46 +08:00
arm 各版本之间兼容性比较差,生态也没跟上,目前只能用在有限的场合。
|