Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by mirker on Thursday December 01, 2022 @08:15PM
(#33825502)
The latency to query cost is on the order of hours on user side so the service would be off the limit by the cost rate * cost latency. That’s my guess for why it’s not a feature.
[ Parent
| on HN ]
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by 0cf8612b2e1e on Thursday December 01, 2022 @08:55PM
(#33825731)
I doubt there is a fundamental limit which says the reporting needs to be that slow. I suspect that some metrics are slower to query than others, but it would go a long way if you could get near instantaneous billing wherever possible. Even better if you could have a hard shut off if cpu/disk/network spend goes over x limit.
I choose to believe: it is easy money if people cannot easily avoid accidental mega bills.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by mirker on Thursday December 01, 2022 @11:15PM
(#33826699)
See my other reply. The reason I believe it’s architected this way is to have a good tradeoff between timeliness and overhead cost. Full correctness at global scale would involve serializing all billable events through a series of global transactions, which would bring performance to a crawl (e.g., 10ms just to synchronize the metric).
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by Terretta on Friday December 02, 2022 @12:07PM
(#33833267)
This is absolutely right, and I among others have asked AWS to especially please not put any checks on performance "inline" just to do capacity limits. We are happy with the present tradeoffs.
The needs of those wanting to compute should absolutely outweigh the needs of those wanting to not compute.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by modeless on Thursday December 01, 2022 @09:08PM
(#33825820)
There is no fundamental reason why they can't do better here. There's no law of physics preventing accurate billing caps. And to the extent that they implement their own caps imperfectly the sensible approach would account for the extra cost as simply part of their costs of running the service which should be budgeted for in aggregate and covered by the pricing that they set themselves. It's simply not a priority for them, clearly.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by mirker on Thursday December 01, 2022 @10:54PM
(#33826561)
There actually are some fundamental laws related to this problem. It’s a distributed system, so you can lose availability of the metrics data and be bounded by the CAP theorem. You’d also need to keep the metrics synchronized at some granularity across zones, effectively serializing all billable events at a global scale. For example, if you wrote one byte into storage across the globe, that write would have to be billed, committed, and be globally visible before the next byte could be written and billed. And each communication is bounded by speed of light, etc. You’d effectively be synchronizing all billable events through a database at cloud scale.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by modeless on Thursday December 01, 2022 @11:31PM
(#33826807)
Sure, in theory absolute perfection is difficult. In practice the achievable level of accuracy is well within the bounds of reasonable and far, far beyond what is implemented today. You don't need absolute perfection, since as I suggested you can simply allocate some budget to cover overages amortized over your entire customer base. Especially since the vast majority of the time you'll be operating in a regime where you are far away from the billing cap, so that gives you a lot of leeway. There would never be a need to synchronize every byte written to storage.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by mirker on Thursday December 01, 2022 @11:52PM
(#33826940)
I agree you can get something working. However, if 1% of the time, a customer is overcharged $100+ because they assumed the limit was guaranteed, you’d probably reconsider if you want to offer that service at all.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by modeless on Thursday December 01, 2022 @11:56PM
(#33826961)
If 1% of the time a customer uses $100 extra, you don't charge that customer $100 extra. You charge them $0 extra because they had a bill cap and it was your job to enforce that cap. Then you raise the price of the service a very small amount so customers pay $1 more on average and that covers everyone's overages (that's what I mean by amortizing across your customer base). Then you go and improve your limit enforcement because you are actually incentivized to do so, unlike in the case where customers are charged for overages that aren't their fault, where you are actually incentivized to cause overages. Customers aren't dumb, they can see your incentives (see the comment by 0cf8612b2e1e in the adjacent thread).
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by mirker on Friday December 02, 2022 @12:36AM
(#33827209)
It’s plausible to do what you’re saying. I still think it’s more trouble than it’s worth. If you somehow managed to engineer everything perfectly and tune it as you say, you’d still have customers who wanted their service to stay online past overcharge. I’d think the predominant business case for such tight guarantees would be small and low budget projects. Additionally, every cloud vendor who doesn’t do this seems to be cheaper, so you’d be priced out (in a commodity market).
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by dwild on Friday December 02, 2022 @11:29AM
(#33832669)
> you’d still have customers who wanted their service to stay online past overcharge
Then they wouldn't configure overcharge limit, would they?
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by mirker on Friday December 02, 2022 @03:38PM
(#33836557)
I mean, why not? I have alerts on cost in my cloud usage corresponding to orders of magnitude increases in expected cost. If they trigger a few hours faster (more accurately) that’s good. But I don’t see what I would do bar shutting down the service, so my argument is that it’s not really a feature that would make a difference for most use cases. And if your service is steady, you can already do a linear extrapolation from yesterday’s costs to see if you’d go over budget.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by shalmanese on Friday December 02, 2022 @02:46PM
(#33835820)
Except they're in an adversarial relationship with malicious users so as soon as they open up any bit of slack, they open up an attack vector for people to steal their compute resources.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by modeless on Friday December 02, 2022 @03:07PM
(#33836136)
I maintain that it is possible within the laws of physics to do a good enough job enforcing quotas that losses are not high, with minimal runtime overhead. The problem is that cloud providers are not incentivized to invest in accuracy, in fact the opposite. Anyway, truly malicious repeat offending customers can be dealt with in other ways.
Re:John Carmack trying to get a bunch of GPUs on Google Cloud
by codedokode on Friday December 02, 2022 @03:29AM
(#33828162)
Isn't main reason that when there are no limits people spend more money?