Hacker News new | ask | show | jobs
by frognumber 1387 days ago
I like the transparency, but this doesn't feel like the right way to do it. Computation should be free (or nearly free) if there's idle capacity, paid if Google is near capacity, and expensive/bidding if Google is above capacity.

Flat compute units seem simple, but result in a lot of waste.

5 comments

There might not be servers going idle. Google has plenty of batch jobs they can run in lower-traffic times, both internal and external.

And if it does go idle, it saves energy, which costs money. At scale, compute isn't free.

>Computation should be free (or nearly free) if there's idle capacity

I guess nothing stops you from buying infra and offering it for "free (or nearly free)".

Agree. I just do not like restaurants which charge full price of burgers to me when there are clearly more patties on grill than customers at that time.
So you also wouldn't expect to be paid when a company has less work than it has employees during a week ?
That would be logical conclusion. I think people looking for (nearly) free collab would agree.
There are stores in my area which sell, at a discount, overstock food products before they expire. It costs less stores less than simply wasting food, and people who aren't picky about what they buy are able to get quality food at a low price.

And to the employee point, overtime (and contractors) typically get paid more to fill gaps when demand exceeds supply. In some cases, when there is reduced demand, employees are offered furloughs. I recall during a recession when I was a child, my Dad spent about a month at home, but was still paid some fraction of his normal salary to stay on payroll.

Adjusting pricing to supply-and-demand isn't exactly crazy, freeloading, or communism. If co-lab were designed to generate a profit, the same type of pricing as AWS and GCP do would make sense. Since it seems designed to position Google in some position in the ML ecosystem, free makes sense.

As a footnote, I don't use co-lab. That's not because of pricing, but because in free offerings like these, I am the product. That's not always a bad deal, but it is for me for the type of work I do. I like running ML models locally (I have a pretty fancy GPU) using my employer's in-house cluster, or paying for AWS. I don't discourage others from using co-lab (that decision is specific to what I do).

I'm not sure why this discussion is so hostile, and reads so much false subtext into statements which shouldn't be controversial at all.

> Computation should be free (or nearly free) if there's idle capacity

HN used to be a place for interesting discussions. Now it's a grievance forum for entitled freeloaders.

How do you mean? Should GCS storage also be free, unless Google is nearing storage capacity?
That's a little bit different. I would assume Google grows GCS over time to meet demand. Most of the demand is static. If Google needs 1PB of storage, they will probably have 1.01PB, and the amount won't go down.

Compute is dynamic. You might be above capacity for Christmas shopping, and below capacity at 4am in the middle of the weekend.

By varying pricing, you can be more efficient. People who can will smooth out that load. If I don't need to run something during peak hours, I might wait until off-peak. Google needs less capacity. Everyone comes out ahead.

For a profit-making project, dynamic pricing makes sense. I suggested free since the primary goal of co-lab isn't to make money (but they also don't want to subsidize it too much, so they do need to charge).

> By varying pricing, you can be more efficient.

AWS and GCP have spot pricing on VMs, so they do have products that do this.

Maybe that's enough. When Colab load goes low, they can turn down a bunch of Colab tasks, and sell the freed capacity as Spot VM / preemptable VMs.

I'm sure there are many big companies out there that essentially have a standing bid for any compute cheaper than $X, and will soak it up as Spot VMs.

Not every GCP product needs to have spot pricing to be efficient. In fact if you silo capacity per product then you'll be less efficient. E.g. someone is willing to pay for spot VMs, but you only have spot Colab available.

A computation could use fewer compute units if resources are idle. There isn't enough information to make a judgment.