· HP and Sun pick up where SGI left off
How to best carve up the computation: what work should the server do, and what should be left to the client? A question without a one-size-fits-all answer. Depending on the application, available technologies, and which way the winds happened to be blowing at the time, the recommended dividing line between the computation best suited for the server and that best suited for the client has always been in flux. Let the user’s desktop do all the work, or perhaps push more of the tasks to the server and thin the client, or maybe break the workload up somewhere in between.
For the most part though, the world of interactive professional graphics and visualization has been insulated from this client vs. server tug of war. Rather, professional-grade rendering has unequivocally leaned on highly equipped workstations to carry the bulk of the workload.
But if the recent introduced by Sun and HP are indicative of an over-arching trend, that may no longer be the rule, or at least not a rule without a growing number of exceptions. While it’s anything but a revolutionary upheaval, the landscape for professional graphics looks to be shifting.
Real-time graphics on a remote server may be attractive ... but it’s far from easy
Indispensable in the enterprise, servers don’t carry much of the workload in the world of real-time graphics. Yes, servers can and do render, but their role has mostly been limited to non-real time applications like render farms, where they can crank through a big bunch of final frames for ultra high-quality projects like Hollywood CGI films.
When it comes to interactive graphics, the world relies on rendering as physically close to the user and display as possible, with workstations. Why close? Graphics is notoriously bandwidth hungry. Centralized server-based rendering, with output distributed to multiple viewing clients, could bring even the most capable network to its knees, and result in poor frame rates and interactivity.
If you’re looking for 30 frames per second, say, and you have to display 1600 x 1200 resolution on some remote thin-client, then you need roughly 172 MBytes/second sustained. That’s just for a single client, one of perhaps many. Whose network is built to carry that load? And it assumes you’re driving just one display at each client, where more and more often it’s two, three or more. Then there’s the issue of latency, which could be even more problematic than bandwidth, depending on the application.
Now that doesn’t mean there aren’t applications and IT managers out there that wouldn’t love to centralize rendering and visualization. There’s a lot to like about the moving more data and computation off the desk and back to the datacenter: better security, improved manageability, and lower IT maintenance costs.
The cost benefit is not necessarily a universal one, but it can be compelling. Let’s say you’re tasked with implementing a visualization environment that requiring more than what a nominally equipped deskbound workstation can handle: complex compute and render-intensive problems like researching the human genome, running multiple complex weather prediction models, or delving into mountains of seismic data. Well, then it could get exhorbitantly expensive putting together multiple heavyweight systems for each member of your team.
If that’s the case, you’re going to be tempted to think about server-centric graphics, to build one monster virtualization system, and then share it among the team members. But to get there, there are big problems to solve, most notably of which is that bandwidth load. It’s going to take more than simply spending some dollars on a high-capacity network; it’s going to take some cleverness to reduce the bandwidth demand.
In the past, there was one notable vendor in the business of building centralized visualization systems and enabling remote rendering, mostly for niche applications. That was SGI. But with SGI now a very different company post-Chapter 11, it looks like Sun and HP are not only picking up on SGI’s approach, they are pushing it in new directions.