8 ms·
This link is a little confusing because the top comment and much of the conversation is talking about the DTK which was based on the much older A12X CPU and not
by ogre_codes 6y ago
This link is a little confusing because the top comment and much of the conversation is talking about the DTK which was based on the much older A12X CPU and not the M1.
As far as I can tell, the M1 does have virtualization support, Docker just isn't ported yet.
Update: Also, from Apple docs it seems like you won't be able to run emulation and virtualization in the same process. So you can run x86 Mac apps, but it's likely x86 Docker images will be out-of-reach.
- terhechte 6y agoAlso, it seems Apple demoed Docker on Apple Silicon at WWDC: https://twitter.com/0xtim/status/1326980313160032256?s=21 https://twitter.com/0xtim/status/1326980313160032256?s=21
- ogre_codes 6y agoI know they demoed Linux virtualization at WWDC, but I don't recall Docker. I could easily be mistaken though.
- arilotter 6y agoThey specifically mentioned it by name in the keynote, and even have a screenshot of it running on Big Sur. https://www.youtube.com/watch?v=GEZhD3J89ZE&t=6006 https://www.youtube.com/watch?v=GEZhD3J89ZE&t=6006 (1:40:06) if the timestamp doesn't work
- 1over137 6y agoYes, but it was ARM up and down, no x86 at all.
- hinkley 6y agoI think we made couple of expedient design decisions early on in our build process at work that is going to make producing multi-platform docker images a bit of a chore. I'm not looking forward to what happens on the next machine upgrade cycle. Probably we will end up with most people on the final generation of Intel Macbooks so we have a while to figure it out.
- ogre_codes 6y ago> Probably we will end up with most people on the final generation of Intel Macbooks so we have a while to figure it out. If the early story around performance of the M1 bears out, I suspect this won't be the case. If their CPU for the base MacBook Air trouncing higher end MacBook Pros, what kind of a beast will their higher end CPUs going to be? People who really need x86 compatibility will stick with x86 based Macs. Others? I'm not sure. For my current job where everything runs on node.js, the performance and battery life on the new CPU is pretty appealing.
- momokoko 6y agoYou realize most engineers write software that runs in production on x86 Linux, right? All that performance is going to be used to run cloud based Linux x86 development environments. Repl.it and Github codespaces are the real winners with the move to Apple Silicon
- ogre_codes 6y ago"Most"? I'm not entirely sure that's true. Or at least not entirely relevant/ interesting. First, you have thousands of developers writing code for iOS/ Android & Chromebooks. That right there is a pretty big chunk of developers. And at least for the iOS developers, running on ARM instead of x86 is a significant advantage. Second, a lot of us are writing software for the web which means primarily writing software that runs in the browser. So long as we have a good running version of node.js and a browser to test with, we are golden. Assuming for a moment here that Google Chrome and Firefox are both going to be ported to ARM, I don't really see why I care about x86 linux except... Of course you need to serve up your site and that piece is usually running on x86. Only... many of us are already crossing platforms. Our web server is Node on Linux and my dev system is MacOS (no Docker or Linux VM) so I'm already cross platform. When I was primarily running a Python/ Django shop, it was a similar deal—so long as I was able to get Python running I was good. There are definitely a few places where you notice the difference, but there are definitely places where I can use an extra 50% battery life and a faster CPU as well. I don't know how many other developers really need x86 and how many don't. I have had jobs where running Docker/ Kubernetes was important, but I've had a fair number where it wasn't as well.
- ineedasername 6y agoIs the inability to run emulation & virtualization limitation of the silicon itself? I.e., will it ever be possible an these chips?
- saagarjha 6y agoIt's a hardware thing, so the answer is "never" on A12Z and "it's possible" on A14 and "Apple supports it" on M1.
- comex 6y agoThe limit on “emulation and virtualization” just means Apple’s emulator software (Rosetta) doesn’t support x86 virtualization. Someone could write a different emulator that does support it.
- mbreese 6y ago> run emulation and virtualization in the same process To me this says that Rosetta doesn’t convert VT-X commands (et al) to their ARM counterparts. I don’t see an issue here... sure you’d be left without a dedicated VM framework from Apple, but you should be able to run a qemu process that is emulating a Linux VM. That qemu binary could be either x86 or Arm. But instead of using the Mac OS Hypervisor.Framework, you’d be back to using stock qemu that we used to use. It just isn’t packaged up as nicely at the moment. (And who knows how fast it will run).
- chungus_khan 6y agoI'm not exactly sure what the point of VT-X would be in an emulated environment anyway, and it would be a waste to make Rosetta 2 that much more complicated for it.
- monocasa 6y agoAlso, Rosetta 2 is user mode only, and VT-X commands are kernel/hypervisor mode only.
- threeseed 6y agoHolden Karau has public videos showing her attempts to get ML tools e.g. Dask/Kubernetes running on ARM including heavy use of Docker. For the last year she has been working at Apple so I've always suspected that she was developing on M1 hardware but with Linux OS. https://www.youtube.com/c/HoldenKarau/videos https://www.youtube.com/c/HoldenKarau/videos
- geerlingguy 6y agoKubernetes itself has been installable / running on ARM for years now (I remember getting it working on Pis back in 2016/2017 and have been running http://www.pidramble.com http://www.pidramble.com on K8s since then). Many, many images are now multi-arch so I encounter failures to deploy things to the Pi much less frequently nowadays.
- frogblast 6y agoRight, lots of confusion in this thread. A12Z/DTK: HW does not support virtualization at all. Apple M1 / New Apple Products: HW does support virtualization for ARM64 guests (both windows and linux demonstrated). What about x86 software in the guestOS? Not with Rosetta. Instead, the guest OS will have to provide its own translation (such as windows/arm's current x86->arm64 or upcoming x86_64->arm64 feature). I'm not familiar if there is any usable high performance x86_64->arm translation available for linux. Docker w/ arm images: needs some work to be able to work on mac/arm virtualization, but it's coming. Docker w/ arm linux kernel + x86 userland images: Any translation solution would be found within the linux guestOS, not macOS. I don't know if any candidates exist. Maybe qemu? Docker w/ full x86 image (incl. kernel): I don't think this is possible?
- LeSaucy 6y agoThis was a huge reason why I decided to go with a 16" MBP with an i9 vs the M1 today. I assume this will get worked out eventually, but as massive as Apple's gravity is in their ecosystem to pull apps along, they will have a much harder time against the massive library of x86 docker images.
- zhengyi13 6y agoApropos of yesterday's thread(s?) around running a k3s cluster on Raspberry Pis - when I tried to do something similar, I very quickly ran out of steam trying to find manifests and charts that didn't have some random x86_64 image hardcoded somewhere inside them. I spent more time trying to figure out ways to get the right images than I did learning k8s, so I kinda put the project down. I do think this is exactly the sort of thing though that will start to flush that out, long term.
- floatingatoll 6y agoYou did the right thing. This is not the right time for software developers to experiment with Apple Silicon, unless they’re willing to help develop software to work with Apple Silicon.
- 6y ago
- ellis0n 6y agoLooks like Valgrind 32-bit porting story to Mac 64-bit
- headmelted 6y agoThis will become less of a problem over time as more M1’s make it into the wild. What gives me pause moreso than this is the absence of the touchscreen and Face ID, which are very obviously coming in the next refresh (iPad app support without touch?). As impressive as the new MacBooks are, they’re very clearly a stopgap solution so as not to replace everything all at once.
- Cthulhu_ 6y ago> As impressive as the new MacBooks are, they’re very clearly a stopgap solution so as not to replace everything all at once. I agree, but at the same time, they pushed it pretty hard by not just doing an Air with the chip like I thought they would, but putting it in a Pro as well (with, according to the early benchmarks I've seen, barely any performance difference. I mean they could at least have put two of them in there)
- johncalvinyoung 6y agoRe: the Pro and Air difference... expect the performance for anything long-running to be rather significantly different, I'd guess...
- ogre_codes 6y agoYep. The Pro adds - Brighter Screen - Better cooling for extended CPU loads - Touch Bar (which many don't care for) - Bigger battery. The MacBook Air boosted to 16B is likely the biggest bang for the buck unless you are going to be hitting that CPU hard all the time. The iPad has pretty damned good performance without fans so I expect the Air will do quite fine.
- StreamBright 6y agoIn this case the whole Docker universe needs to be ported, including gazillion packages? I am glad if most of the datascience packages compile successfully on x86. Much fun it seems.