News for hackers. Stuff that matters.
Re:AWS Graviton2 by vbezhenar on Saturday January 25, 2020 @04:19PM (#22148679)
It is surprising, because I was under impression that Java has so many optimizations for x86 and ARM was so new that it's almost impossible to beat x86 without very significant investments. It's nice to hear that I was wrong.
Re:AWS Graviton2 by ianopolous on Saturday January 25, 2020 @06:07PM (#22149212)
In a previous job, we had a cross compiler that cross/decompiled a static x86 Linux binary to Java bytecode (with syscalls emulated in Java). Testing this on an ARM processor the Java version of a scientific benchmark we were using was significantly faster (1.6X) than the best gcc could do with the original C. This wasn't anything fancy our cross-compiler had done, but the JVM itself. This isn't a comparison to x86 hardware, just an indication of the effort put into the ARM based JVM.
Re:AWS Graviton2 by Twirrim on Saturday January 25, 2020 @04:56PM (#22148880)
ARM has been so dominant in the mobile market that there has been a lot of effort around ARM optimisations, both in compilers and interpreted languages. Way more so than alternative architectures like MIPS etc.
Re:AWS Graviton2 by thu2111 on Sunday January 26, 2020 @09:15AM (#22152155)
Java doesn't have that many x86 specific optimisations actually. It does some auto-vectorisation, it supports things like AES-NI and other specialised hw instructions, but, those are easy to port to ARM.

The vast bulk of the effort in modern JVM compiler optimisations is more at the program structural level: removing allocations, merging methods together so they can be optimised as a whole, removing abstraction, and so on. All that stuff is CPU independent.

Re:AWS Graviton2 by pm215 on Saturday January 25, 2020 @04:46PM (#22148818)
It's not very "new". People have been working on porting, improving and optimizing software for the Arm server ecosystem for more than a decade now; really performant and widely available hardware may be new on the scene, but it would be silly to wait for that before starting work on the software side of things...
Re:AWS Graviton2 by lallysingh on Saturday January 25, 2020 @06:21PM (#22149267)
x86's age and complexity give it a significant disadvantage. Both the cache coherency model and the instruction set incur a lot of overhead to do at speed.
Re:AWS Graviton2 by atdt on Sunday January 26, 2020 @01:27AM (#22150737)
That's very interesting. Could you elaborate?
Re:AWS Graviton2 by hnuser123456 on Sunday January 26, 2020 @03:23AM (#22151101)
A lot of the most commonly run software out there doesn't use the large, complex instructions offered on x86, so a bunch of pristine silicon goes to waste. Use the space taken by AVX512 etc to make more, simpler cores, and you get more performance for the same price, or less cost for the same performance. Simpler cores are easier to clock higher with less voltage, and less likely to have defects that would pull down yields.
Re:AWS Graviton2 by Dylan16807 on Sunday January 26, 2020 @04:59AM (#22151328)
The big vector units aren't the problem though. They're a consequence of the big complicated schedulers that most x86 cores are designed with. As long as the core has to be huge anyway, you might as well spend some space on more powerful math units.

It's possible to design an x86 chip with much more priority on throughput per square centimeter, with many more simple cores working together, but I have no idea how it would work out.

Re:AWS Graviton2 by lallysingh on Sunday January 26, 2020 @10:30AM (#22152492)
There's a lot of logic and complexity on decoding, fusing, etc.
Re:AWS Graviton2 by jchw on Saturday January 25, 2020 @10:20PM (#22150182)
FWIW, 32 bit x86 (i386) and ARM arrived in the same year (1985.)