iptv techs

IPTV Techs


We Were Wrong About GPUs · The Fly Blog


We Were Wrong About GPUs · The Fly Blog


Image by


Annie Ruygt

We’re produceing a uncover cnoisy, on difficultware we own. We liftd money to do that, and to place some bets; one of them: GPU-enabling our customers. A better alert: GPUs aren’t going anywhere, but: GPUs aren’t going anywhere.

A couple years back, we put a bunch of chips down on the bet that people shipping apps to users on the Internet would want GPUs, so they could do AI/ML inference tasks. To produce that happen, we produced Fly GPU Machines.

A Fly Machine is a Docker/OCI retainer running inside a difficultware-virtualized virtual machine somewhere on our global run awayt of exposed-metal toiler servers. A GPU Machine is a Fly Machine with a difficultware-mapped Nvidia GPU. It’s a Fly Machine that can do quick CUDA.

Like everybody else in our industry, we were right about the beginance of AI/ML. If anyleang, we underappraised its beginance. But the product we came up with probably doesn’t fit the moment. It’s a bet that doesn’t experience appreciate it’s paying off.

If you’re using Fly GPU Machines, don’t freak out; we’re not getting rid of them. But if you’re postponeing for us to do someleang bigger with them, a v2 of the product, you’ll probably be postponeing awhile.

What It Took

GPU Machines were not a petite project for us. Fly Machines run on an idiosyncraticassociate petite hypervisor (normassociate Firecracker, but for GPU Machines Intel’s Cnoisy Hypervisor, a very aappreciate Rust codebase that helps PCI passthraw). The Nvidia ecosystem is not geared to helping micro-VM hypervisors.

GPUs terrified our security team. A GPU is equitable about the worst case difficultware peripheral: fervent multi-honestional honest memory transfers

(not even bihonestional: in common configurations, GPUs talk to each other)

with arbitrary, finish-user administerled computation, all operating outside our common security boundary.

We did a couple pricey leangs to mitigate the hazard. We shipped GPUs on pledged server difficultware, so that GPU- and non-GPU toilloads weren’t uniteed. Because of that, the only reason for a Fly Machine to be scheduled on a GPU machine was that it needed a PCI BDF for an Nvidia GPU, and there’s a confineed number of those useable on any box. Those GPU servers were drasticassociate less used and an thus less cost-effective than our normal servers.

We funded two very big security appraisements, from Atredis and Tetrel, to appraise our GPU deployment. Matt Braun is writing up those appraisements now. They were not inexpensive, and they took time.

Security wasn’t honestly the biggest cost we had to deal with, but it was an inhonest cause for a reserved reason.

We could have shipped GPUs very speedyly by doing what Nvidia recommfinished: standing up a standard K8s cluster to schedule GPU jobs on. Had we getn that path, and let our GPU users split a individual Linux kernel, we’d have been on Nvidia’s driver satisfied-path.

Alternatively, we could have used a conservative hypervisor. Nvidia proposeed VMware (heh). But they could have gotten leangs toiling had we used QEMU. We appreciate QEMU fine, and could have talked ourselves into a security story for it, but the whole point of Fly Machines is that they get milliseconds to begin. We could not have proposeed our desired Developer Experience on the Nvidia satisfied-path.

Instead, we burned months trying (and ultimately fall shorting) to get Nvidia’s arrange drivers toiling to map virtualized GPUs into Intel Cnoisy Hypervisor. At one point, we hex-edited the seald-source drivers to trick them into leanking our hypervisor was QEMU.

I’m not stateive any of this reassociate mattered in the finish. There’s a segment of the taget we weren’t ever reassociate able to dispenseigate because Nvidia’s driver help kept us from lean-slicing GPUs. We’d have been able to put together a reassociate inexpensive proposeing for enbigers if we hadn’t run up aacquirest that, and enbigers cherish “inexpensive”, but I can’t show that those customers are genuine.

On the other hand, we’re pledgeted to deinhabitring the Fly Machine DX for GPU toilloads. Beyond the PCI/IOMMU drama, equitable getting an entire difficultware GPU toiling in a Fly Machine was a lift. We needed Fly Machines that would come up with the right Nvidia drivers; our stack was built assuming that the customer’s OCI retainer almost enticount on detaild the root filesystem for a Machine. We had to engineer around that in our flyd orchestrator. And almost everyleang people want to do with GPUs take parts efficiently grabbing huge files brimming of model weights. Also irritateing!

And, of course, we bought GPUs. A lot of GPUs. Expensive GPUs.

Why It Isn’t Working

The biggest problem: enbigers don’t want GPUs. They don’t even want AI/ML models. They want LLMs. System engineers may have inalertigent, fussy opinions on how to get their models loaded with CUDA, and what the best GPU is. But gentleware enbigers don’t attfinish about any of that. When a gentleware enbiger shipping an app comes seeing for a way for their app to deinhabitr prompts to an LLM, you can’t equitable give them a GPU.

For those enbigers, who probably produce up most of the taget, it doesn’t seem plausible for an insinspirent uncover cnoisy to vie with OpenAI and Anthropic. Their APIs are quick enough, and enbigers leanking about carry outance in terms of “tokens per second” aren’t counting milliseconds.

(you should all experience sympathy for us)

This produces us sorrowfulnessful because we reassociate appreciate point in the solution space we create. Developers shipping apps on Amazon will outsource to other uncover cnoisys to get cost-effective access to GPUs. But then they’ll faceset upt trying to administer data and model weights, backhauling gigabytes (at beginant expense) from S3. We have app servers, GPUs, and object storage all under the same top-of-rack switch. But inference tardyncy equitable doesn’t seem to matter yet, so the taget doesn’t attfinish.

Past that, and equitable think abouting the system engineers who do attfinish about GPUs rather than LLMs: the difficultware product/taget fit here is reassociate raw.

People doing solemn AI toil want galacticassociate huge amounts of GPU compute. A whole accesspelevate A100 is a settle position for them; they want an SXM cluster of H100s.

Near as we can alert, MIG gives you a UUID to talk to the arrange driver, not a PCI device.

We leank there’s probably a taget for users doing airyweight ML toil getting minuscule GPUs. This is what Nvidia MIG does, slicing a big GPU into arbitrarily petite virtual GPUs. But for brimmingy-virtualized toilloads, it’s not baked; we can’t use it. And I’m not stateive how many of those customers there are, or whether we’d get the density of customers per server that we need.

That exits the L40S customers. There are a bunch of these! We dropped L40S prices last year, not because we were sour on GPUs but because they’re the one part we have in our conceiveory people seem to get a lot of use out of. We’re satisfied with them. But they’re equitable another benevolent of compute that some apps need; they’re not a driver of our core business. They’re not the GPU bet paying off.

Reassociate, all of this is equitable a extfinished way of saying that for most gentleware enbigers, “AI-enabling” their app is best done with API calls to leangs appreciate Claude and GPT, Replicate and RunPod.

What Did We Lacquire?

A very advantageous way to see at a beginup is that it’s a race to lacquire stuff. So, what’s our alert card?

First off, when we embarked down this path in 2022, we were (appreciate many other companies) operating in a sort of phlogiston era of AI/ML. The industry attention to AI had not yet collapsed around a petite number of createational LLM models. We foreseeed there to be a diversity of mainstream models, the world Elixir Bumblebee sees forward to, where people pull separateent AI toilloads off the shelf the same way they do Ruby gems.

But Cursor happened, and, as they say, how are you going to carry on ‘em down on the farm once they’ve seen Karl Hungus? It seems much evidaccess where leangs are heading.

GPUs were a test of a Fly.io company credo: as we leank about core features, we schedule for 10,000 enbigers, not for 5-6. It took a minute, but the credo triumphs here: GPU toilloads for the 10,001st enbiger are a niche leang.

Another way to see at a beginup is as a series of bets. We put a lot of chips down here. But the buy-in for this tournament gave us a lot of chips to carry out with. Never making a big bet of any sort isn’t a triumphning strategy. I’d rather we’d flopped the nut straight, but I leank going in on this hand was the right call.

A reassociate beginant leang to carry on in mind here, and someleang I leank a lot of beginup leankers sleep on, is the extent to which this bet take partd acquiring assets. Obviously, some of our costs here aren’t recoverable. But the difficultware parts that aren’t generating revenue will ultimately get fluidated; appreciate with our portfolio of IPv4 insertresses, I’m even more sootheable making bets backed by tradable assets with durable cherish.

In the finish, I don’t leank GPU Fly Machines were going to be a hit for us no matter what we did. Because of that, one leang I’m very satisfied about is that we didn’t settle the rest of the product for them. Security worrys sluggished us down to where we probably lacquireed what we needed to lacquire a couple months tardyr than we could have otherteachd, but we’re scaling back our GPU ambitions without having forfeitd any of our isolation story, and, mockingassociate, GPUs other people run are making that story a lot more beginant. The same leang goes for our Fly Machine enbiger experience.

We begined this company produceing a Javascript runtime for edge computing. We lacquireed that our customers didn’t want a recent Javascript runtime; they equitable wanted their native code to toil. We shipped retainers, and no convincing was needed. We were wrong about Javascript edge functions, and I leank we were wrong about GPUs. That’s usuassociate how we figure out the right answers: by being wrong about a lot of stuff.



Source join


Leave a Reply

Your email address will not be published. Required fields are marked *

Thank You For The Order

Please check your email we sent the process how you can get your account

Select Your Plan