this post was submitted on 22 Sep 2023
-3 points (47.5% liked)

Technology

34789 readers
378 users here now

This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.


Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.


Rules:

1: All Lemmy rules apply

2: Do not post low effort posts

3: NEVER post naziped*gore stuff

4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.

5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)

6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist

7: crypto related posts, unless essential, are disallowed

founded 5 years ago
MODERATORS
 

tr:dr; he says "x86 took over the server market" because it was the same architecture developers in companies had on their machines thus it made it very easy to develop applications on their machines to then ship to the servers.

Now this, among others he made, are very good points on how and why it is hard for ARM to get mainstream on the datacenter, however I also feel like he kind lost touch with reality on this one...

He's comparing two very different situations, more specifically eras. Developers aren't so tied anymore like they used to be to the underlaying hardware. The software development market evolved from C to very high language languages such as Javascript/Typescript and the majority of stuff developed is done or will be done in those languages thus the CPU architecture becomes irrelevant.

Obviously very big companies such as Google, Microsoft and Amazon are more than happy to pay the little "tax" to ensure Javascript runs fine on ARM than to pay the big bucks they pay for x86..

What are your thoughts?

all 46 comments
sorted by: hot top controversial new old
[–] pastermil@sh.itjust.works 29 points 1 year ago (2 children)

As someone dealing with enterprise software for living, what he's saying absolutely makes sense, and I deal mostly in web applications (where I never really have to worry about the low level stuff).

Just because the top layer seems to be the same, doesn't mean the underlying ones are. There's a reason why perfect bug compatibility is a thing (or maybe, was, in RHEL ecosystem?).

Things that looks like slam dunks in theories are never such in practice. Weird bugs pop up from time to time; and believe me, they will!

It might be rare, you may only see it once or twice in a project; but when it happens, you're gonna want to be ready, or people will question your ability to do your job.

[–] thelastknowngod@lemm.ee 6 points 1 year ago (1 children)

The cross-compiling point makes sense but, since this is a 4.5 year old message, the state of ARM in the cloud has changed. Now developers do actually have ARM-based machines because of Apple. AWS has Graviton2 instances now and they are a lot cheaper than similarly specced x86_64 instances. ARM is a viable consideration that can be made.

[–] pastermil@sh.itjust.works 4 points 1 year ago (2 children)

While its true that having ARM ecosystem is more feasible now, there's not many companies that's willing to equip their whole team with very specific model of laptop, with almost no servicable parts for no perceivable benefit. No, Pinebooks as well as Raspberry Pi laptops and cyberdecks are not feasible for industry.

Most companies are not looking for gimmicks for work, even when they make some for living; so no, looking cool is not a benefit that defeats all that cost.

Meanwhile, most people in the industry, such as myself, and my current bosses & colleagues, and my previous bosses & colleagues, and probably all my future bosses & colleagues are fine running x86 for production servers. It got everything we'd need, including upgradable RAM and decades worth of collective experience, which I cannot say ARM has.

At the same time, I have some hope for RISC-V. It won't take over the industry anytime soon, but it's been showing some promise for long term.

[–] TCB13@lemmy.world 1 points 1 year ago (1 children)

No, Pinebooks as well as Raspberry Pi laptops and cyberdecks are not feasible for industry.

You know that's all just a software thing. If Microsoft decided to open Windows for ARM then it would no longer apply.

are fine running x86 for production servers. It got everything we’d need, including upgradable RAM and decades worth of collective experience, which I cannot say ARM has.

Yes but people nowadays go mostly for the cloud. Cloud providers will make scale ARM and sell it cheaper and you won't be replacing RAM on those for sure... at some point your management will simply crush your budget you'll be forced on ARM.

[–] pastermil@sh.itjust.works 1 points 1 year ago (3 children)

Okay, now you got me curious. Gimme examples of companies using ARM servers.

[–] thelastknowngod@lemm.ee 2 points 1 year ago* (last edited 1 year ago)

Not who you were responding to but, my company does this in AWS. To be fair, the entire platform is running in EKS so it's not much more difficult than updating the CI build pipelines to build multi-arch containers, adding additional nodepools, and scaling down the amd64 ones. This was tedious but not difficult to do. I keep a small set of amd64 nodes for off the shelf software that doesn't support arm.. I think the only thing left on those now is newrelic agents. Once we move off of them the x86_64 nodes can be killed entirely.

This ended up saving us tens of thousands of dollars per month. The next step is to move the bulk of workloads to spot instances. I'll be preferring arm but if there is only capacity for x86_64, I'll have that option because of the multi-arch containers. This is going to save even more money and force developers to build applications more tolerant of node failure in the process.

[–] TCB13@lemmy.world 2 points 1 year ago

If we exclude all cloud providers who sell ARM like Google, Amazon and Oracle. Facebook actively uses ARM at scale and I personally have seen medium size companies (~200-500 employees) using it simply because their backend run fine and it's cheaper.

[–] TCB13@lemmy.world 1 points 1 year ago

Vodafone is now into ARM as well: https://www.eenewseurope.com/en/vodafone-fast-tracks-arm-based-chipsets-for-open-ran/

Mobile phone service provider Vodafone has announced it is speeding up the development of chipsets based on the Arm architecture for use in Open Radio Access Networks (Open RAN). At the same time Vodafone told Reuters it continues to work with Intel to create a chipset architecture for Open RAN.

[–] thelastknowngod@lemm.ee 1 points 1 year ago

Fair. For what it's worth though, macbooks have been the default laptop at every startup I've worked at over the last ~8 years.. The first M1 mbp was released in 2020 and most of those companies I was at had a policy of replacing machines after 2-3ish years too. it's getting to the point where entire companies can be/are running on arm.

Might be more specific to particular industries or company maturity level but this has been my personal experience.

[–] TCB13@lemmy.world 2 points 1 year ago (1 children)

Things that looks like slam dunks in theories are never such in practice. Weird bugs pop up from time to time; and believe me, they will!

It might be rare, you may only see it once or twice in a project; but when it happens, you’re gonna want to be ready, or people will question your ability to do your job.

Yes, however price is more important that all that. If your management knows it can save 20% on their cloud spending by running ARM they'll run ARM and have you deal with those rare bugs.

[–] mea_rah@lemmy.world 1 points 1 year ago (1 children)

"If" being the key word here. There are nuances to be considered. One DB might run really well on arm, the other not so much.

I'm saying it as huge fan of the arm servers. They are amazing and often save a lot of money essentially for free. (practically only a few characters change in terraform) In AWS with the hosted services (Opensearch, and such) there's usually no good reason to pay extra for x86 hardware especially since most of the intricacies are handled by AWS.

But there are workloads that just do not run on arm all that well and you would end up paying more for the HW to get to the performance levels you had with x86.

And that's beside all those little pain points mentioned above that you're "left to deal with" which isn't cheap either. (but that doesn't show up on the AWS bill, so management is happy to report cost savings)

[–] TCB13@lemmy.world 1 points 1 year ago (1 children)

there’s usually no good reason to pay extra for x86 hardware especially since most of the intricacies are handled by AWS. (...) all those little pain points mentioned above that you’re “left to deal with” which isn’t cheap either. (but that doesn’t show up on the AWS bill, so management is happy to report cost savings)

Exactly my point above when people start shouting about upgradability compatibility and whatnot.

[–] mea_rah@lemmy.world 2 points 1 year ago

Yeah, I was saying "no reason" in the context of SAAS. Once the management falls on the end user, it's a different beast altogether.

I think we're trying to say the same in a different way actually. 😅

[–] jet@hackertalks.com 22 points 1 year ago* (last edited 1 year ago) (3 children)

He has a strong opinion, but he hasn't lost the plot. It's very reasonable to say you need to develop on the architecture you wanted to deploy to. If you want to be efficient, so most companies are going to deploy to architecture they have locally.

But you're taking comments from 2019. Nowadays lots of Mac developers develop directly on arm. So by his own argument, those Mac developers would be more comfortable deploying to an arm-based architecture cuz the running on an arm-based architecture.

So broadly I agree with him, or his past comments from 2019, you're going to need local developer environments, before you're going to get efficient server software

[–] avidamoeba@lemmy.ca 9 points 1 year ago* (last edited 1 year ago)

ARM on Mac isn't nearly as helpful for workloads on an ARM server as x86 PC for an x86 server. The differences in hardware behavior between the two x86 parts is small because the platforms are standardized way beyond the instruction set. The ARM server on the other hand has nothing to do with the Mac beyond the instruction set. Something runs great on your Mac because of the on-SoC ridiculously fast RAM. You throw it on an ARM server with completely different ARM CPUs, slotted RAM and a bottleneck shows up.

[–] metallic_z3r0@infosec.pub 5 points 1 year ago

I hope we get there soon with RISC-V.

[–] DeprecatedCompatV2@programming.dev -1 points 1 year ago (3 children)

I hate my M2 Mac because I hate Macs and Docker doesn't always work correctly.

[–] dot20@lemmy.world 2 points 1 year ago (1 children)

Have job

Get paid to suffer

[–] ikidd@lemmy.world 1 points 1 year ago

I'd be surprised if Docker worked at all on an M2, because it doesn't work worth a shit on an x86 Mac.

[–] kornel@programming.dev 1 points 1 year ago (1 children)

If you run an ARM system inside docker, it works much better!

Many pre-baked images may be x86 only. However, thanks to M processors there’s a real demand for more than Raspberry Pi, so this will get better too.

[–] DeprecatedCompatV2@programming.dev 1 points 1 year ago (1 children)

Unfortunately I was trying to build WebRTC, which is supported on Linux only.

[–] kornel@programming.dev 1 points 1 year ago (1 children)

There’s aarch64 version of Linux.

Not all the dependencies are supported on aarch64 unfortunately.

[–] kornel@programming.dev 21 points 1 year ago

I’ve got an ARM Mac. I’ve got ARM VPSes from Hetzner, and I’m compiling native code for the server.

It’s definitely easier to develop, build, and test on the same architecture, than to deal with cross-compilation and emulation.

So I think Linus is right.

[–] Wooki@lemmy.world 19 points 1 year ago* (last edited 1 year ago) (1 children)

JavaScript and TS are script languages with little to nothing to do with threading

[–] DarkenLM@artemis.camp 3 points 1 year ago (1 children)

It can do multithreading using worker threads, IIRC.

[–] Zangoose@lemmy.one 1 points 1 year ago

TS and JS are completely single threaded unless you have multiple instances of node running at the same time.

[–] phx@lemmy.ca 17 points 1 year ago (1 children)

X86 and AMD64 based stuff is fairly standard in terms of a motherboard with a BIOS/UEFI and peripheral busses. ARM has for a long time been kind of a mess in this regard, and there are several varieties of ARM architecture that don't play nicely with code compiled for others.

Don't get me wrong. ARM can be great for certain types of workloads. It's typically more efficient at lower power than X86, and better at various types of math. That's why we DO see it available on ARM for certain stuff like Lambda functions, but you probably won't be running full VM environments on it.

Last: notice how it's been hard to find certain varieties of Pi and various other stuff running ARM? There's shortages all over the place but I'm general Intel and AMD have been able to apply demand for their CPU's.

Yes, devs aren't tied to hardware, but there are efficiencies of scale to consider

[–] TCB13@lemmy.world 1 points 1 year ago (1 children)

That’s why we DO see it available on ARM for certain stuff like Lambda functions, but you probably won’t be running full VM environments on it.

We do see Amazon, Oracle and other providers offering full ARM based VMs, they work fine for the price... Even Facebook have been investing in ARM for their datacenters.

, but there are efficiencies of scale to consider

Yes there are, ARM will always be cheaper than Intel and is reaching competitive / comparable levels of performance.

[–] qaz@lemmy.world 1 points 1 year ago* (last edited 1 year ago)

Yes there are, ARM will always be cheaper than Intel and is reaching competitive / comparable levels of performance.

Compute time is significantly cheaper than dev time. 76% of the internet web is powered by PHP and entire services are developed in JS. The average cost of a software developer in the US is 140k, while you can rent a server with 24 cores, 64 GiB of RAM and 4 TiB SSD that can run plenty of badly optimized Node.js docker containers for 90 bucks a month.

[–] Gecko@lemmy.world 11 points 1 year ago

The linked message is from 2019, i.e. per-M1 Apple laptops and at a time when arm in datacenter was just starting out.

Tbh, I feel like it's kinda pointless to discuss a comment made by someone over 4-years ago. Both the environment and the person itself can change a lot in that time.

[–] Kethal@lemmy.world 7 points 1 year ago* (last edited 1 year ago) (1 children)

"The software development market evolved from C to very high language languages such as Javascript/Typescript and the majority of stuff developed is done or will be done in those languages thus the CPU architecture becomes irrelevant."

I saw someone else make a similar comment about C. People track these things, and C has been in the top 2 most widely used languages for more than 2 decades. Not knowing this should probably make you wonder why your background has resulted in such a narrow experience.

https://en.m.wikipedia.org/wiki/TIOBE_index#

[–] TCB13@lemmy.world -4 points 1 year ago* (last edited 1 year ago) (1 children)

Look, I'm not saying C is important nor that people aren't using it but... Let me ask you one thing, if you look at the majority of the web (not specific cases) you'll find that 76% of it is PHP. Furthermore if you think that everyone is moving to mobile apps you'll get a mix of Java/Kotlin, Swift and a very strong move to towards cross-platform stuff that is, in most cases, based on Javascript. To make things worse bootcamps for wanna be devs have been teaching node as a valid backend solution for quite a while now. We see startups going that route and things going perfectly well.

Since we've that huge market for higher level that run perfectly well on ARM do you really thing that stuff made in C really dictates the future of the market? The "issue" I see with the link you've provided is simple: nobody is developing "run of the mill" solutions with C anymore like we used to and those are the solutions that have the numbers to move the market. Nowadays C is operating systems, libraries for higher level languages, engines such as the JS V8, a ton of IoT devices (that ironically are ARM), low level electronics, industrial automation and financial use cases where performance is really important.

C is going to stay on specific places but nobody develops websites, desktop and mobile applications with hence my simplistic "the software development market evolved from C to very high language languages such as Javascript/Typescript" conclusion.

The market is moved by the large masses and the masses use technologies that are not bound anymore to architectures like other used to be.

[–] Kethal@lemmy.world 5 points 1 year ago* (last edited 1 year ago)

It's odd that you're saying you shouldn't consider the specific cases where C excels and then narrowing down things to the Web, where languages like php excel. So now you probably have some idea why your experience is so narrow. There's a lot more to programming than the Web, and there's always going to be.

[–] umami_wasbi@lemmy.ml 6 points 1 year ago (2 children)

He is sort of right, back in 2019. Even then, IBM PowerPC mainframe are still thriving.

Now, new language with cross compilation with some maturity are here. Major cloud providers now have ARM base machines ready, even designing to their own need.

ARM is in the datacenter market and become a trend.

The only thing I worried about, is the architecture of ARM are too fractured. AWS Graviton might behave differently than Ampere Altra, despite both have the ARM ISA.

[–] avidamoeba@lemmy.ca 3 points 1 year ago

Different cores, different topologies, different interconnects, different memory throughputs... fahgedabouddit.

[–] skullgiver@popplesburger.hilciferous.nl 1 points 1 year ago* (last edited 11 months ago) (1 children)

[This comment has been deleted by an automated system]

[–] umami_wasbi@lemmy.ml 1 points 1 year ago (1 children)

With x86, there are AMD and Intel. With ARM, how many designers are here? With more designers, the smaller the potential common ground is, and more code paths to optimize, thus cost more to build.

[–] skullgiver@popplesburger.hilciferous.nl 1 points 1 year ago* (last edited 11 months ago)

[This comment has been deleted by an automated system]

[–] bobtreehugger@awful.systems 2 points 1 year ago (1 children)

It's tough to debug issues when you can't run on the same hardware directly.

There's a reason that arm support in open source software has exploded in the past few years, and it's because of apple silicon.

I'll agree that it's easier now, with most developers using higher level runtimes, but someone's got to get those runtimes working, and it's much easier to develop if you have a laptop running that hardware.

[–] bloopernova@programming.dev 13 points 1 year ago

Raspberry Pi also brought arm64 to a lot more people.