Live data from Hacker News

ARM Mac: Why I'm Worried About Virtualization

bmalehorn.com

291–300 of 313 posts

Re: ARM Mac: Why I'm Worried About Virtualization

#291
post #127

Earlier quoted context omitted.

Almost every server applications (databases, webservers, webapps) are available as docker images. It's very easy to deploy those apps using docker, which is why it's taking over sysadmin world by storm. Previously, handling a big web application deployment is a complex task that requires a dedicated team. Now, you can just package your app as a docker image, and other people that know docker will know how to deploy y…

If you use Docker as a production tool instead of prototyping several shit will happen soon.

Certainly not for production, but when you can't run x86-64 images, just simple prototyping or building images that requires x86-64 will require using external servers instead of using locally installed docker, which will be a huge barrier for casual prototyping.

Re: ARM Mac: Why I'm Worried About Virtualization

#292

Once again -- Apple will do what the entire industry without Apple couldn't do. In this case, force a migration to ARM-based servers, so that prod is running on the same architecture as the developer's machine. Apple is finally killing x86.

If it takes a dictator to force a platform upon everyone is it really that great of a platform?

Re: ARM Mac: Why I'm Worried About Virtualization

#293
post #120

Earlier quoted context omitted.

Hooray, we have successfully fixed the mistake with an open platform and will now be relegated to incompatible hardware without any competition. At last, the future will surely be bright!

How was x86 any more "open" of a platform? If anything, x86 is a far more "closed" platform, as there are only two remaining manufacturers of x86 parts, and there is no licensing process to join them. Meanwhile, there are hundreds of ARM licensees, and the process for becoming a licensee is all documented online [1]. [1]: https://www.arm.com/why-arm/how-licensing-works

x86 might be a platform with few vendors. ARM isn't even a platform. Most SoCs are meant to run a single OS and that's about it. Not exactly what I'd call a platform because platforms let their users build on top of them. That includes running whatever OS you want to run on that processor.

What you might be worried about is a duopoly which has nothing to do with whether something is a software platform or not. For example Microsoft has a monopoly on Windows. That doesn't stop Windows from being a platform for which you can write arbitrary software. Apple has a monopoly on iOS but it's not possible for users to write their own software, they have to join a developer program that can always exclude them. This is what one would call a closed platform. ARM is closer to the iOS model than to Windows.

Re: ARM Mac: Why I'm Worried About Virtualization

#294

Earlier quoted context omitted.

ARM has 250 licensees for application processors with 8 licensees (including AMD and Nvidia) who can develop their own architectures around the 64 bit ARM instruction set. You can buy socketed ARM CPUs today that are likely to be more than fast enough - from Marvell for example. You're 100 % right that there isn't an ARM ecosystem at the moment in the way that there is a PC ecosystem with all its flexibility. But tha…

There's only about two ARM licensees that can even come close to desktop tier performance. The instruction set doesn't matter if only one company can make a fast enough CPU, using a massive number proprietary changes to the original architecture. When we'll have three ARM companies making socketed CPUs with standardized I/O between them that are faster or very close to AMD or Intel, then it will be good.

Preferably AMD just makes an ARM based chip. They have done so in the past.

Re: ARM Mac: Why I'm Worried About Virtualization

#295
post #73

Earlier quoted context omitted.

Apple released a list of open source projects that they have ported to ARM, they intend to upload patches to each of these projects: - Bgfx - Blender - Boost - Skia - Zlib-Ng - Chromium - cmake - Electron - FFmpeg - Halide - Swift Shader - Homebrew - MacPorts - Mono - nginx - map - Node - OpenCV - OpenEXR - OpenJDK - SSE2Neon - Pixar USD - Qt - Python 3 - Redis - Cineform CFHD - NumPy - Go - V8

It’s interesting that Electron is on that list.

It's also interesting that this won't fix old Electron applications. The idea of easy cross platform development via Electron is a myth because most developers won't support your platform even if all support requires is checking a box. When you consider that this is the primary justification for using Electron over other stacks it just makes your blood boil. All the downsides with none of the benefits.

Re: ARM Mac: Why I'm Worried About Virtualization

#296

Earlier quoted context omitted.

Yep, I think we're of one mind here. I'm not worried about the ARM architecture shift, but the whole direction of the platform makes me expect I won't be using a Macbook as my primary dev machine much longer. Interestingly enough - for personal hacks (mostly cross-compiling Golang to ARM, natch) I'm actually using WSL lately, and it's definitely good enough. Not perfect, but nothing much is.

> Not perfect, but nothing much is. Has anyone ported Plan9 to ARM yet?

Shure!!

http://9front.org/releases/

.386.iso 386 pc

.amd64.iso amd64 pc

.pi.img arm paspberry pi 1, 2 and 3

.pi3.img arm64 raspberry pi 3 and 4

Re: ARM Mac: Why I'm Worried About Virtualization

#297
this is why intel should be scared - very scared - that the PC world seems to be converting to ARM en masse. PCs might be a relatively small fraction of intel’s total sales, but it’s the second order effects they should be worried about. if it becomes less convenient for developers on ARM machines to develop and deploy software to x86 cloud architecture, they will begin to demand that the cloud architecture be shifted to ARM as well.

Re: ARM Mac: Why I'm Worried About Virtualization

#298
post #213

Earlier quoted context omitted.

I agree on the performance loss. Just for kicks, I ran the same commands on some real aarch64 (32 cores, 3.0GHz, ARMv8.? - can't remember and already logged off the machine, but I can double check tomorrow). Without further context, numbers: someuser@some-aarch64-machine:~$ docker run arm64v8/ubuntu bash -c 'dd if=/dev/urandom bs=4k count=10k | gzip > /dev/null' 10240+0 records in 10240+0 records out 41943040 bytes (…

Awesome, thanks for testing this out! A 3x slowdown is not as bad as 6x, but it's still quite a bit. I also saw a slowdown of ~4x when I tried this experiment on a native Linux x86_64 running ARM - perhaps the Mac -> Linux virtualization slowed it down further. 5x may have been a bit alarmist, but regardless we should brace ourselves for a big performance hit on x86_64 virtualization.

I'm surprised it's only a 3x slowdown. But the single-thread performance of native execution (without emulation) is worse on aarch64, which was expected. Imo, a better benchmark would take into account the multithread performance with/without emulation.

Re: ARM Mac: Why I'm Worried About Virtualization

#299
As a Linux tech, I welcome this Apple move honestly.

Having a proper competitor for x86/x64 is a good thing.

The fact docker is slower on ARM (at the moment!) is mostly due to the lack of interests for optimizations.

With Apple starting to produce MacARM machines, and maybe more ARM servers in the wild, docker (and other platforms/frameworks) will start to get more performant on ARM as well.

Re: ARM Mac: Why I'm Worried About Virtualization

#300
post #290
post #250

Earlier quoted context omitted.

Can you run an x86 guest under it?

No. Virtualization (dividing a host into different logical hosts but executing unmodified CPU instructions, like VMware, VirtualBox, ...) and emulation (translating instructions, like Rosetta) are two different beasts.

That's pretty much what I assumed from what I know of VMWare. It's going to be a big issue for future Macs, there are entire segments of developers who may have to abandon Macs if we can't run VMs of x86 operating systems.
Post reply on HN