Live data from Hacker News

Linus Torvalds on Why ARM Won't Win the Server Space

realworldtech.com

201–210 of 545 posts

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#201

It's extremely hard to agree with Linus on that. One problem in his argument is that he believes that everybody has a kernel hacker mindset: most today's developers don't care about environment reproducibility at architecture level. The second problem is that he believes that every kind of development is as platform sensitive as kernel hacking, and he even makes the example of Perl scripts. The reality is that one ye…

I guess the situation is similar to containers and static linking that got popular for server deployments quite recently. They allow to develop, test and deploy your application with its dependencies in the exact same version - the exact same binary. Although usually this works just fine even with minor differences in the dependencies, a lot of developers deem it worthwhile to preclude such issues. If you now use ARM in production, you can't use the same binary file anymore.

There might be different implementations depending on the architecture in some library you use. Also even with higher-level languages like Java it is possible to observe ISA differences: e.g. memory ordering.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#202
post #169
post #56

Earlier quoted context omitted.

Linus is mostly wrong except for HPC. Very few dev pipelines for folks result in native executables. The vast majority of code is delivered as either source (python, ruby, etc) or bytcode, JVM, Scalia, etc. And the Xeon class machines folks deploy to in data center envs is a world apart from their MacBooks. These truths are true for Linus, but not for the majority of devs. Even those creating native binaries, this is…

Even in a bytecode language, there is no guarantee that an application is write-once run-everywhere. I converted a small app that was running on Windows with Oracle JDK to run on Linux with OpenJDK and it was not plug-and-play. It was close, but there were a few errors particularly surrounding path resolution (and yes, the Windows application was already using Unix-style paths, this was actually a difference in how p…

The same can happen on the same hardware just by switching versions of the same toolchain.

So Linus position is a bit of straw man.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#203
post #182

Earlier quoted context omitted.

When "mobile" and "PC" gets merged I don't see this happening. PCs are tools for getting real work done. Mobiles are mostly communication and entertainment devices. I like to fall back on this Steve Jobs quote, employing a car/truck metaphor for computers: When we were an agrarian nation, all cars were trucks, because that's what you needed on the farm. But as vehicles started to be used in the urban centers, cars go…

I’ve always thought PCs will become business workstations. Meaning you use them for office work but everything else will be “cars” as your quote put it. Meaning internet browsing, social media, view/edit photos, and the like will be done on some mobile device. Windows is alresdy the de facto business workstation and I don’t see it going away. There’s already a whole generation or two who will likely have little to no…

Yep. I mostly use laptops since 2000 and went full laptop around 2006.

With 2-1 and tablet docking stations, the desktop case will be fully covered.

Surface, Samsung DeX, ...

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#204
post #117

Earlier quoted context omitted.

> Mobiles are mostly communication Communication is also work, especially as you go up the management value chain. I think maybe people should refer to the thing that PCs do and mobiles don't as "typing".

It isn't just the keyboard which PCs hold as an advantage, it's the mouse as well. There are a lot of tasks that workers do on PCs with a mouse that can't be done reliably with a touchscreen. Maybe an iPad Pro with its stylus could perform a lot of those mouse-driven tasks, but using the stylus for long periods of time is going to be exhausting and injury-prone. By using a mouse your arm can rest comfortably and allo…

Android and Windows support mices on tablets.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#205
post #167

Earlier quoted context omitted.

> That doesn't mean that their deployment target is Windows, most of the time it's Linux. I don't feel like that's true. I don't have data to say otherwise, but my impression for the majority of non-tech businesses I encounter is that they are very much still Windows shops, and still on-prem.

I've worked for a few, consulted for others, have friends working for yet others. It's a mix. Java shops go Win/Lin, .NET generally is Win/Win, for now.

There are also Java/.NET shops :)

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#206
post #204

Earlier quoted context omitted.

It isn't just the keyboard which PCs hold as an advantage, it's the mouse as well. There are a lot of tasks that workers do on PCs with a mouse that can't be done reliably with a touchscreen. Maybe an iPad Pro with its stylus could perform a lot of those mouse-driven tasks, but using the stylus for long periods of time is going to be exhausting and injury-prone. By using a mouse your arm can rest comfortably and allo…

Android and Windows support mices on tablets.

Doesn't really matter. Mice are not first class peripherals for those mobile applications.

Desktop and mobile OSes should remain separate. You don't go around hauling fully loaded semi trailers with a car.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#207

It's extremely hard to agree with Linus on that. One problem in his argument is that he believes that everybody has a kernel hacker mindset: most today's developers don't care about environment reproducibility at architecture level. The second problem is that he believes that every kind of development is as platform sensitive as kernel hacking, and he even makes the example of Perl scripts. The reality is that one ye…

I'm with Linus on this one.

I had the pleasure (?) of working on a C/C++ codebase that compiled on Windows and ten different flavors of Unix. It was all "portable", but all over the place there was stuff like

  #if defined AIX || defined OSF1
  short var;
  #else
  int var;
  #endif
And to get it right, you had to compile it on all the platforms and fix all the errors (and preferably all the warnings).

Yeah, cross platform is never as simple as same platform.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#208
post #178

It's extremely hard to agree with Linus on that. One problem in his argument is that he believes that everybody has a kernel hacker mindset: most today's developers don't care about environment reproducibility at architecture level. The second problem is that he believes that every kind of development is as platform sensitive as kernel hacking, and he even makes the example of Perl scripts. The reality is that one ye…

It seems likely that, simply, times have changed. There was a time when being on the same platform as the deployment environment was super important, but nowadays the tooling has gotten so much better that it matters a lot less. The proportion of people still writing C code on a day to day basis has dropped... well to pretty much a rounding error. The bigger issue is really that ARM servers aren't that much cheaper t…

> There was a time when being on the same platform as the deployment environment was super important

Which is also interesting because there was a time before that where being on the same platform as the deployment environment was sometimes considered nigh impossible, such as the early days of the "microcomputer" revolution where a lot of software was written on big iron mainframes to run on much more constrained devices (C64, Apple II, etc). It's interesting to compare the IDEs and architectures of that era and how much cross-compilation has always happened. There doesn't seem to be a lot of computing history where the machine used to build the software was the same machine intended to run the software, it's the modern PC era that seems the unique inflection point where so much of our software are built and run on the same architectures.

(A lot of the modern tools such as VMs like the JVM and CLR are because of the dreams and imaginations of those developers that directly experienced those earlier eras.)

It's interesting how that tide shifts from time to time, and we so easily forget what that was like, forget to notice the high water marks of previous generations. (Even as we take advantage of it in other ways, we cross-compile to mobile and IoT devices today we'd have no way to run IDEs on, and would rather not try to run compilers directly on them.)

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#209

Earlier quoted context omitted.

> Developers are using cheap Raspberry PIs as local desktop development platforms. IMHO this is still a problem, it is easy to get RPi-style devices but for development a more powerful device would be great, however this is much harder to get. Sure, cross-compilation works but is usually tedious to setup and work with. I've had the chance to work on one of these powerful ARM servers for some time. I was connected via…

There are more powerful ARM SBC boards out there. Take a look at Pine64.org for example. They have a Rock64 board that supports up to 4 gig of RAM with quad core CPUs. They are under $50.

I personally would like to see an ARM competitor to the Intel NUC. 4GB and 4 cores sounds great but might not be enough for development or certain benchmarks. Something like 16GB RAM and at least 8 fast cores with a fast SSD should be enough. It seems that you can only get ~50$ devices or >2000$ servers (if they even sell single ones). I guess we have to wait for Apple to sell a MacBook with their own cpu.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#210

It's extremely hard to agree with Linus on that. One problem in his argument is that he believes that everybody has a kernel hacker mindset: most today's developers don't care about environment reproducibility at architecture level. The second problem is that he believes that every kind of development is as platform sensitive as kernel hacking, and he even makes the example of Perl scripts. The reality is that one ye…

I don't think you are not really disagreeing with Linus - he's not saying ARM is not viable - he is saying it will not win. With your current setup (cross-compiling), are your ARM executables more performant than x86? Or do they have any other advantage at all over x86? Without an advantage, ARM can't possibly win.

Having a cheap, viable ARM-native development platform drastically increases the chances of ARM-only killer apps to exist, this would be an advantage over the currently dominant x86 (just as there were Windows-only and Linux-only killer apps that cemented their ascent). However, if everyone is cross-compiling due to the cost, it means ARM will always be a secondary platform (at most)- it can't win by being the Windows Phone of platforms.

[edited for clarity]

Post reply on HN