Coming Soon – Graviton2-Powered General Purpose EC2 Instances
aws.amazon.com
aws.amazon.com
> Based on these results, we are planning to use these instances to power Amazon EMR, Elastic Load Balancing, Amazon ElastiCache, and other AWS services.
Amazon running their PaaS services on top of their own silicon is really an interesting prospect. I wonder how much hardware is allocated to running their platform services vs. EC2 instances for customers, as there's definitely an opportunity for Amazon to port these workloads and decrease the dependence on Intel.
For a Java/Node/Python application, this means changing one line in a docker file, and running preprod/integration tests.
Java might surprise you, too, especially on EMR. I've found math, compression, and machine learning libraries that reach out to native code using JNI.
Native libraries are most often used to make boring things faster, use popular C libraries, and are already ported.
Unless your in-house library is using native bindings for custom code, it very likely will be a drop-in replacement.
ARM isn't so esoteric these days like it might have been 5-10 years ago.
[1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-s...
Stay tuned!
Ironically, the theory contradicts the practice and native code is often the easiest to port on new archs.
I have ported to ppc64be, POWER, armv7 and aarch64 several HPC stacks, it is often the native app made in C/C++/Fortran which is the easiest to port/recompile/cross-compile simply because:
- Their build system has been made from the beginning to handle multiple architectures.
- The compilers for C/C++ are the first thing to be ported and tested on a new arch.
At the opposite, python / node / java embed pretty often native modules hidden somewhere, with hand rolled compile scripts in pip / npm / maven and which are everything excepted robust and portable.
My monitoring application was written in golang, and that made cross-compilation trivial - although I guess I'd made a little extra-effort to keep it all native and avoid CGO.
That's not necessarily a bad trade-off, mind you, it depends on what business you're in, what your architecture looks like, and what your org's capabilities are. But it is a trade-off and customers should be mindful of the downsides when they make these decisions.
I think you miss a much bigger elephant in the room: Amazon is too small to get good offer when negotiating with fabs.
May sound weird to people from silicon valley.
Fabs, above all, like reliable clients with stable business because cashflow certainty is of vital importance in the fab business. Small orders are invariably very pricey, but so are big orders from companies that are "come and go" clients, whose own prospects and plans are uncertain.
Amazon literally has custom silicon in every machine they add to AWS now in the form of the nitro system. They are pretty damn big customers that are not “come and go”. If ELBs start using graviton, that’s a sizable subset of the instances in AWS data centers that isn’t even reliant on external customer demand.
> damn big customers that are not “come and go”.
I think, they are. There is no guarantee for a FAB that they will not revert to vendor CPUs if over the years their team can't keep their design competitive. And their accounting...
Only way to guarantee so if for them to do a contract with a cash bond — a practice not uncommon in the industry, but the digit will be much bigger than for, say, a commodity 65nm asic, and amount of wafers they need.
Also note that they've changed the branding from A1 to M6g, making ARM a peer of Intel and AMD. So their 2020 lineup will probably be:
M6: Intel Ice Lake-SP
M6a: AMD Rome
M6g: ARM Graviton2
No, the Graviton and Graviton2 processors do not have SMT. Each vCPU (or logical processor, for a bare metal instance) is a core.
"Each vCPU is a thread of either an Intel Xeon core or an AMD EPYC core, except for A1 instances... Each vCPU on A1 instances is a core of an AWS Graviton Processor."
That's hugely impressive. I don't remember any ARM processors beating Skylake in single threaded workloads before. To pull ahead by 40% seems almost unbelievably good. (I understand Skylake can clock much higher than 3.1GHz, but I guess cloud instances are mostly around this value due to the high core counts.)
The actual question is whether you want to put that effort or not. You'll have to decide if the savings through instance are worth it or not.
Then I also need to ensure that all the tooling I use (for example - agents running on the box, other processes decoupled from my service, etc) are all working as expected without functional or performance regressions.
I’m actually not sure what else needs to be looked at... but this is all new work without new value if I look at it on its own. Hard to justify to my CIO.
I don’t know what the pricing model is but I wouldn’t even think of adopting this unless there’s a significant price benefit, allowing me to run on much cheaper hardware.
Even then, it only makes sense to me if you have hundreds or thousands or tens of thousands of hosts provisioned where that price delta really adds up to savings.
This is all conjecture - I’ve never done a migration like this.
But it might make sense to build new applications on ARM.
Some will involve one hell of a fight with your compiler, libraries, build tools, etc.
AMZN itself is a good early adopter for a new architecture since they have so many services such as S3, SQS, where they have huge fleets of machines running a single set of programs, so the payback time for the port should be low.
I could be off base, would like to know an experts opinion as well.
This one in particular is dead simple, though: ARM instances will be a better value for lots of AWS customers. While it will probably start out as niche, I expect it to catch on fast when people realize that their workloads are already portable and they can decrease their bill.
We'll be launching configurations of these Graviton2 powered instances with local NVMe storage. The largest sizes will have a good bit of local storage, though not as much as I3. There are some really exciting numbers from customers building ultra high performance database engines who have early access. They'll be in the updated CMP322 talk at re:Invent today.
https://www.portal.reinvent.awsevents.com/connect/sessionDet...