The Register® — Biting the hand that feeds IT

Feeds

NVIDIA VGX VDI: New tech? Or rehashed hash?

You comment, we respond

SaaS data loss: The problem you didn’t know you had

HPC blog My article about NVIDIA’s new VGX virtualised GPU being a potential holy grail for task- and power-user desktop virtualisation inspired reader comments that are well worth addressing. They also brought out a few details that I didn’t cover in the article. First, let’s address a few of the specific comments.

From reader Twelvebore:

21st century X-terminals then. Didn't SGI (Silicon Graphics back then) push this sort of stuff a couple of decades ago?

Absolutely right, Twelve (if I can call you Twelve). One of my former bosses, who also held down a top position at SGI at one time, called that to my attention. According to him, it wasn’t a trivial effort at SGI at the time, but they got it done and delivered it to a few clients who were demanding it. I don’t think it was all that long ago, though – maybe 10 years?

Reader JustNiz talked about gaming:

This demo was obviously running on a LAN, which will not happen in real world application ... Manufacturers will love the relatively cheap cost of parts compared to making a fully featured console but almost certainly won't pass the savings on to the end user, as we are already conditioned to pay $399 for a console ... Software houses will love the fact that end users never get an actual copy of the software (so no pirating). I wonder what they will blame low sales on next. Distributors will love the fact that they can charge users again and again to play the same game ...

These three groups will drive this to replace all current gaming regardless of the fact that its totally worse for the end-user. The populace will just buy this en masse because they've been told to by the advertising...

First: nope, the demo wasn’t running on a LAN. Grady Cofer from Industrial Light & Magic actually went out to their server farm and made adjustments to the Avengers and Battleship footage on the fly.

JustNiz brings up good points in his comments about how VGX will be used for online gaming. I’ll be addressing at least some of them in an upcoming in-depth blog. Briefly, I think there are reasons to be optimistic. Not every change is for the worse, and I think it’s likely that users will see a better gaming experience in some ways. Servers will run games faster and much more efficiently. Developers will only have to write for one platform, meaning they can put more $$ into either making more/better games or reducing prices.

Before you laugh too hard at those last two words, consider this: as this rolls out, we’re going to see new game portals popping up. They’ll be competing on quality of service (performance, RAS, etc), price and game selection. I think the pricing model will be some sort of price per hour of play scheme. So users will be able to play a wide range of games without putting out much money. Game developers will be paid based on how many users play the game – meaning they’ll want to provide a great experience at a “totally worth it, dude” price.

Davidoff didn’t see how this was different from what we’ve seen before:

This is hardly new. Virtualising a GPU is already possible under Windows Server 2008 R2 and Hyper-V Server 2008 R2 with RemoteFX. I think it was HP who put up a demo where someone was playing Crysis on a low-end thin client. I also remember that when El Reg posted an article about RemoteFX [and] the majority of commenters didn't get it. But now Nvidia does it and it's now suddenly the best thing since sliced bread.

This is different than what we’ve seen before. From what I can tell, the closest thing to it is what SGI did in their uber-high-end visualisation HPC boxes several years ago. Reader Phil Dalbeck contributed a technical response...

This is very different than the virtualised hardware GPU offered under RemoteFX or the software 3d GPU offered in Vmware View 5.

Essentially, VGX is a low level instruction path and API that allows a vertical slice of the phyiscal graphics cards resources to be routed through to a VM – by a method similiar to VMware's DirectIO for those who want a read. Basically, the VM has direct, non abstracted access to the physical GPU, together with all that GPU's native abilities and driver calls – ie, Directx11, OpenGL, OpenCL, CUDA... the lot.

The Virtualised GPU in RemoteFX is an abstraction layer that presents a virtual GPU to the VM, with a very limited set of capability (DirectX9 level calls, no hardware OpenGL, no general purpose compute); not only does this not fully leverage the capabilities of the GPU, but it is less efficient due to having to translate all Virtual > Physical GPU calls at a hypervisor level.

Contrary to some comments above – VGX is a real game changer for MANY industries – my only hope is that Nvidia doesn't strangle the market by A) Vastly overcharging for a card that is essentially a £200 consumer GPU B) Restrict[ing] competition by tying virtualisation vendors into a proprietary API to interface with the GPU, thus locking AMD out of the market which is to the longer term detriment of end users (eg, CUDA vs OpenCL).

I couldn’t have put it better myself. And by that, I mean I really couldn’t – I have the technical knowledge and attention span of a ground squirrel. But from what I remember in past VDI products, Phil is spot on. They typically relied on software to provide a virtual GPU that might deliver a decent application experience, but fell short when the loads got tougher.

I also don’t think those solutions scaled very well, meaning that you needed a lot of relatively expensive hardware to support a modest number of users. That’s something that I didn’t get into in my previous article. Neither did I include a picture showing, in a broad way, how this thing works. So here’s a bit more info ...

vgx_picture
vgx_specs

In the top graphic is a simplified picture of the differences between handling a VDI stream with and without VGX. Without VGX, the stream has a longer route back out to the network card, having to run from the GPU back through the CPU and main memory before being sent out to your screen. With VGX, the stream goes directly from the GPU to the NIC card and to your eyes. Fewer hops means less latency – and the less latency the better.

We also have to factor in advances in GPU speed and scalability with Kepler. It has many more cores and performs roughly 3x faster than Fermi. Plus, VGX isn’t just a standard GPU; it’s different in that it has four GPUs (not two like the K20, or one like the K10) and a massive 16GB frame buffer.

We don’t have all of the technical details yet, and certainly don’t have any real-world data about performance, pricing models, or any of that other good stuff. That’ll be coming in time, and we’ll certainly keep asking questions here and prodding there. I’ll also be writing some more about what I learned, and didn’t learn, at GTC12 over the next few days.

cinnamon_roll

I’ll have a lot of time to think about it, too. I’m starting out soon on my 668 mile (1,075km) drive home – plenty of phone and ponder time. On the other hand, it might be like the trip down, where most of my mental cycles were spent watching my nav display track the distance between my current position and the Heaven on Earth Bakery. It’s this little bakery/restaurant in the middle of nowhere. They’ve hooked me with their mega cinnamon rolls that are literally the size of a baby’s head. Can’t wait to get my next fix... ®

Steps to Take Before Choosing a Business Continuity Partner

Critical Path

This demo was obviously running on a LAN...

First: nope, the demo wasn’t running on a LAN. Grady Cofer from Industrial Light & Magic actually went out to their server farm and made adjustments to the Avengers and Battleship footage on the fly.

Fair enough. What kind of WAN connection was he using? 100Mb/s? 10Mb/s 5? More importantly, what was the latency?

If you're streaming an FPS* game, the maximum tolerable latency (just for the video) would be 33ms (that would give you 30fps** - a rock-bottom standard in FPS* gaming.) I've seen worse (by an order of magnitude) on 10Mb/s connections. You can't buffer the video, because it's (ostensibly) interactive -- you don't know what the next frame will be until you've processed the user input.

For commercial render farms, yes, this is definitely a game changer. But for online gaming? The GPU->NIC path isn't the critical path.The WAN is.

* first-person shooter (not frames per second).

** frames per second (not first-person shooter).

1
0
Anonymous Coward

Coming to the point...

So coming to the point, what exactly is the benefit/the use case scenario that justifies doing all of this? Essentially, one would imagine that vgx is all about letting you reap the benefits of centralised/VDI computing while delivering the power of a GPU-per-user using a dense back-end. Well, there's been ways to do that for a while now. ClearCube's blades, for example, allow 8 power users with dedicated CPUs/GPUs and quad monitor displays to be hosted from a 3U chassis in the DC. VDI for power users is what VGX is all about, but how much density can you drive on a single server for power users anyway? *maybe* 12 power users? Is that enough of a premium to warrant shared/VDI scenarios for truly high end users?

Now, you could use vgx for moderate user load scenarios and mid-level non-power users, but again, Aero/DirectX have been supported by Hypervisors for a while, and Aero-remoting has been supported in various software based protocols for a while. So it's not some new form of DirectX/OpenGL accessibility that's the benefit here, merely performance. But is it that simple? For VDI, the issue is not merely providing access to the GPU, but combining that GPU access with adequate general purpose compute power + adequate bandwidth to deliver the pixels to the desktop. Those other two elements are gating factors, not to mention the difficulty of finding/configuring/running modestly priced but high-perf I/O. GPUs aren't the single most important issue for VDI and while nvidia's announcement is welcome, it doesn't drastically change anything.

0
0

Re: Player mods?

I honestly don't expect to see much in the way of player modification allowed for this model. Companies that like the centralized server approach are far more likely to be looking for some sort of micropayments model instead; get players in cheaply then offer tons of DLC content for $2-10 per item. Letting players do their own mods will make this a much less appealing business model.

This is why I no longer play TF2, for example. When I'm in the mood for some TF, I'll look for a Team Fortress Classic server instead. I would far rather play a game that lets the players run their own servers, build up their own communities, and play the game by the rules that they like. It's a business model that made the initial fortunes of Epic, id software, and Valve.

I realize that my preferences are not necessarily mainstream. That's OK. I've always been a big believer in a diverse marketplace. I think there's plenty of room for both the old school gamers who want all that control, the newer players who prefer the pre-baked solutions, the single player only guys who never bother to get online, and every combination of the above and anything else you can imagine. As long as there's a reasonably free market, we'll all be able to play what we want.

0
0

More from The Register

SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
 breaking news
You don't need phone lines or cable for ANYTHING, says Dish
The satellite-dish man can sort you out with phone and broadband over the air too
 breaking news
What's HP got under wraps? Looks awfully flash and tape shaped
What happens in Vegas won't stay there - we've got the details
Microsoft borks botnet takedown in Citadel snafu
Stupid Redmond kicked over our honeypots, wail white hats
IBM's $1bn layoffs latest: Now axe swings in US, Canada - reports
Union claims 121 storage bods canned after dismal sales
NetApp musters muscular cluster bluster for ONTAP busters
Storage array OS overhauled to juggle more nodes, go down on you, er, less
HP adds 'Haswell' Xeon E3s to entry ProLiant servers
Gussies up MicroServer for SMBs, adds baby switches