Re:Ask HN: What's the worst piece of software you use everyday?
by yjftsjthsd-h on Saturday July 11, 2020 @03:33PM
(#23805114)
Isn't that inherent because Docker needs a Linux kernel, so running it on Darwin has a hard requirement on virtualization and running an entire guest operating system?
[ Parent
| on HN ]
Re:Ask HN: What's the worst piece of software you use everyday?
by jlokier on Saturday July 11, 2020 @03:36PM
(#23805150)
Virtualization and even running a guest kernel and OS isn't 5x expensive on the CPU, so the problem is not virtualization per se.
Perhaps the problem is Darwin.
Re:Ask HN: What's the worst piece of software you use everyday?
by arp242 on Sunday July 12, 2020 @02:03AM
(#23809230)
Docker abstracts and re-implements a lot of the filesystem and IO stuff; almost all of the issues (often outright bugs) I've had with Docker on Linux are related to that, too.
Re:Ask HN: What's the worst piece of software you use everyday?
by yjftsjthsd-h on Saturday July 11, 2020 @03:43PM
(#23805235)
I know it's not bad on CPU, but I thought it took more of a hit on I/O? Granted, I suspect that some of this is indeed some issue with Darwin itself, or at least poor integration with it.
Re:Ask HN: What's the worst piece of software you use everyday?
by jlokier on Saturday July 11, 2020 @04:17PM
(#23805529)
I agree, I/O can be pretty expensive.
It depends quite a lot on the kind of I/O and how it's implemented, so design choices matter.
If there's a full Linux kernel inside the VM, then you may as well do I/O inside the VM as well, using something like virtio and a ringbuffer of async block device commands to the host, or at least batching them. That will be quicker than relaying every POSIX file operation synchronously to the host, because the number of VM exits is much lower in the former case.