6 ms·
Binary compatibility is the Moat that Intel and AMD have. Try using ARM based server and you quickly realize the pain. Besides, other Hyperscalers won't use A
by srinikoganti 7y ago
Binary compatibility is the Moat that Intel and AMD have.
Try using ARM based server and you quickly realize the pain.
Besides, other Hyperscalers won't use Amazon's Chips. So no economy of scale.
Do you remember Amazon Phone ?
- sanxiyn 7y agoPersonal anecdata: I tried using ARM based server and didn't find any pain.
- srinikoganti 7y agoOk. I guess it depends on the apps and their dependencies. Typically we run in to library issues.
- sliken 7y agoCan you be more specific? You run closed source libraries that you don't have the source for? Compatibility issues? Performance issues? Something else?
- tatersolid 7y agoMany libraries, even open source, have hand-rolled x64 assembly for the hot bits, or have transitive dependencies that have hand-rolled assembly. You want to rewrite that AES-NI code for ARM equivalency yourself? Many open source projects don’t even have build tooling or testing on anything but x64. That’s a lot of pain, even discounting buggy and poorly tested drivers.
- sanxiyn 7y agoIn my experience, most libraries have C fallback for x64 assembly, if not another handrolled NEON assembly. I would like to know which libraries have x64 assembly without C fallback.
- tatersolid 7y agoI’m sure most have C fallback, but that code is 20x slower and isn’t actually tested or used by anybody else in practice. The devs probably don’t even have unit tests or build environments for ARM server platforms. As for which libraries, I’m too lazy to do a detailed search. All I can report anecdotally is that we very briefly tried ARM at dayjob on our codebase about a year ago and it seemed everything was immediately broken. Especially interop between high level languages and C libraries. The team tasked with it said almost imm fiat would “way too hard, let’s quit this experiment”.