Comment by gorbak25
3 years ago
I think their usecase makes a lot of sense as their workloads consume a predefined amount of ram. As a customer you rent a VM with a specified amount of memory so fly.io does not care about reclaiming it from a running VM.
Depends on if they're using smart memory allocation to keep costs lower, IE, if they can pattern that certain workloads only need N amount of memory at Y time, they can effectively borrow memory from one VM for usage in another that has an opposite statistical likelihood of needing that memory.
This is why paying for dedicated memory is often more expensive than its counter part, because that dedicated memory is not considered as part of pooling.
Generalized oversubscription like that is very challenging if not impossible to do securely, since you want to keep workloads isolated to single tenant numa nodes.
E.g. using the firecracker jailer: https://github.com/firecracker-microvm/firecracker/blob/main...
I think it would be easier to just enable KSM (KVM can use it to deduplicate memory and save some RAM on duplicate blocks like people loading same libraries into memory)
Shit like this is how you burn customers and then they find out you aren't changing the sheets, they change hotels.
Just because you can doesn't mean you should.
Almost everything is oversubscribed in our world.
Malloc will happily “return” the 15 TiB you asked for.
If 10000 people called 911 at the same time, only a tiny fraction would get through (and even fewer would get help).
Evacuating a large city by road would result in giant traffic jams.
There are 5-8x as many parking spots as there are cars (and we still can’t find a goddamn spot).
And of course… the great toilet paper shortage of 2020.
It’s a common technique though. I believe it’s called oversubscription, where you rent the same hardware to more tenants hoping they won’t use it all at once.
Fly.io themselves admitted they’re oversubscribed and AWS is doing the same for years now
Source: https://fly.io/blog/the-serverless-server/
1 reply →
I don't see the problem. Is this not the value proposition of the cloud? At scale things like block level de-duplication and over-provisioning of compute are more efficient to say nothing of power and cooling. This efficiency drives down cost. As long as your data isn't leaking and you get the hardware you pay for when you need it what's the problem?
1 reply →
>.. they change hotels
And then they learn all hotels are doing exactly same thing. One hotel doing is risk, all hotels doing is industry standard.
Airlines, hotels, restaurants, doctors and so on oversubscribe all the time. Whoever complains are free to move and add to their further disappointments.
3 replies →
Super common though. Everyone from Hetzner to AWS does this, unless you specifically pay for full allocation, which is typically ~2x the price.
Chances are you are using systems that do this and you haven't even noticed.
3 replies →