6 ms·
I'm kind of curious: what is the selling point of an ARM server? Why would I use an ARM instance on AWS or similar instead of an x86? Are they significantly
by spott 6y ago
I'm kind of curious: what is the selling point of an ARM server? Why would I use an ARM instance on AWS or similar instead of an x86?
Are they significantly cheaper per GHz*core? If so, how hard is it to make use of that power, will a simple recompile work?
- ksec 6y ago>what is the selling point of an ARM server? .....Are they significantly cheaper per GHzcore? In the context of AWS. They are cheaper per some / specific workload* on AWS. Especially when ARM Graviton 2's vCPU on AWS are actual CPU core while Intel / AMD instances are CPU thread. And in general AWS offers the G2 instances with the same vCPU core at 20% discount compared to AMD / Intel instances.
- lsofzz 6y ago> Especially when ARM Graviton 2's vCPU on AWS are actual CPU core while Intel / AMD instances are CPU thread. Thank you for that information. Is there a reference that documents this somewhere?
- ksec 6y agoIt is clearly listed on AWS Instance Types [1] Each vCPU is a thread of either an Intel Xeon core or an AMD EPYC core, except for M6g instances, A1 instances, T2 instances, and m3.medium. Each vCPU on M6g instances is a core of the AWS Graviton2 processor. Each vCPU on A1 instances is a core of an AWS Graviton Processor. [1] https://aws.amazon.com/ec2/instance-types/ https://aws.amazon.com/ec2/instance-types/
- lsofzz 6y agoI looked around but didn't find it. Thanks a lot.
- lowmemcpu 6y agoYes. Here's what AWS' page says > deliver significant cost savings over other general-purpose instances for scale-out applications such as web servers, containerized microservices, data/log processing, and other workloads that can run on smaller cores and fit within the available memory footprint. > provide up to 40% better price performance over comparable current generation x86-based instances1 for a wide variety of workloads, From what I read, it's not terribly hard to tell your compiler to compile for a particular instruction set, you just need to do it. Cost savings and better performance are great incentives, as well as Apple moving their Mac platform to it will drive more market share for developers to take the time to recompile. Edit: Forgot to add the source of those quotes: https://aws.amazon.com/ec2/graviton/ https://aws.amazon.com/ec2/graviton/
- bluGill 6y agoIt might or might not be hard to compile for a different cpu. Intel lets you play fast and loose with mutil threaded code without as many race conditions. As a result code that works fine on Intel often randomly gives wrong results on arm. Fixing this can be very hard. Once it is fixed you are fine. Most of the big programs you might use are already fixed. Some languages give you gaurentees that make it just work.
- FnuGk 6y agoWhat is different on intel since you can play fast and loose with multi threading? Two threads reading and writing the same memory area without and locking would give problems regardless of the ISA or am i missing something?
- prattmic 6y agoARM has a weakly-ordered memory model, while x86 is much more strongly-ordered. See https://en.wikipedia.org/wiki/Memory_ordering#Runtime_memory_ordering https://en.wikipedia.org/wiki/Memory_ordering#Runtime_memory.... So e.g., on x86 if you store to A then store to B, then if another core sees the store to B it is guaranteed to see the store to A as well. This guarantee does not exist on ARM.
- bluGill 6y agoLess electricity used. Air conditioning is a big cost in large data centers. Lower power use cpus mean less heat which means less ac needed which drives down total costs. Of course different cpus can do different amounts of work per amount of electricity used, but arm generally works out better on a watt per unit of work basis.