By Michael A. Schulman & Linda Fellingham
When workstations were introduced in the early 1980s, designers had been using terminals attached to mainframes or mini-computers. The processing of the design intent (CAD) was performed on a larger computer, which was sitting elsewhere on a dedicated network connection. The workstation, defined as having its own general-purpose CPU, graphics adapter, keyboard, mouse, and network connection, gave mechanical designers and engineers much more control and increased interactive speed when working on their respective designs.
Figure 1: This chart shows the Sun Shared Visualization software architecture enabling organizations to share graphics capabilities among users who don’t need full performance of graphics workstations.
By the end of the decade, the major established computer vendors all produced workstations. New entrants in the field formed to capitalize on the workstation market including Apollo, Sun Microsystems, and Silicon Graphics, to name a few. Their systems contained a powerful microprocessor, a dedicated graphics card, Ethernet networking, local storage, and monitor, mouse, and keyboard. Data was typically copied to the workstation’s local disk from some kind of storage system, worked on during the day, and the modified files were copied back to a server at the end of the day.
The benefit to this workflow was that the engineers and designers were able to use their local workstations to get maximum interactivity and performance when they needed it. Their MCAD programs (including FEA pre- and postprocessing) performed at the best possible frame rates and their dedicated CPUs performed the mathematical functions at top speed. As the microprocessor, graphics, and network speed increased rapidly throughout the 1990s and into the current decade, the end users could concentrate more on their design intent and design creativity, rather than the speed of their computer workstation. As workstations proliferated onto desktops or at desksides, the effort to maintain all of them with specific OS levels, graphics drivers, patches, etc., became a significant systems-management task.
However, not all those who are involved in companies that produce or design products need the maximum performance or local processing for their daily activities. While many designers and engineers might need high-performance workstations, many users, including those who might need occasional access to 3D data, now have another method for accessing important 3D data.
Sun Microsystems Shared Visualization software enables organizations to virtualize graphics hardware, and to send the graphics to remote users. This new method of sharing graphics capabilities provides graphical interaction for a wide range of users who might not need the full performance of a local high-powered workstation. The software allows the applications to run unmodified on a server, and deliver the resulting graphics to a user using any one of a variety of clients.
Briefly, the system works as shown in Figure 1. The graphics server is an Opteron or SPARC-based server, running Solaris 10 or Linux. The application runs unmodified, making the normal OpenGL API calls to draw graphics on the screen. The OpenGL API then controls the graphics accelerator, which would normally just send the resulting image to the screen. With the Sun Shared Visualization software, a new library is installed (VirtualGL), which intercepts OpenGL API calls and tells the graphics accelerator to write to a pixel buffer, rather than send it to the screen.
The VirtualGL library recognizes when an image is complete and then reads back the pixels from the pixel frame buffer. The image is then compressed and sent out over the network to the client machine. On the client machine, the VirtualGL library accepts the compressed image, decompresses it, and displays it on the client screen. All of the X protocol (keyboard, mouse events) are handled through a separate network channel, since these do not require high bandwidth.
The ability to create such a system is the result of a number of computer-related technologies that have come together. First, graphics accelerators have sufficient speed today to draw very complex images quickly. Second, the PCI-Express communication protocol between the CPU and the graphics cards allows very fast read-back of the existing image. Third, CPUs are fast enough to compress the images in small fractions of a second. Finally, network speeds to servers and clients are fast enough that the network is not a major bottleneck.
The Sun Fire X4600 is a modular x64 server expandable from two to eight processors.
This approach for delivering 3D interactive graphics to remote clients has a number of advantages over that of using one desktop-deskside workstation per user:
• Power — Since the graphics accelerators would reside in a powerful server, applications that require a significant amount of CPU processing power, or the additional memory (RAM) that servers are designed with, would benefit from this approach.
• Security — Only the images are sent over the network. The actual design data never resides on the client machine. Thus, users are not able to walk away with design files and data on a simple USB data storage device. In addition, system administrators can limit the client device that can access design projects.
• Resource Sharing — In many instances, not all employees need interactive 3D graphics at the same time. Just as a compute server or database server is used by many people, in 3D graphics usage, graphics resources can be shared. By having a central graphics resource that can be shared among a limited number of users at once, and the ability for it to be used by others during other times of the day, a resource like a graphics accelerator can increase the return on investment (ROI) of that asset.
• Reservability — There may be times when a certain resource, in this example a graphics resource, is required by a user. This user may have a deadline to meet, an important presentation to give, or requires a special system configuration to get their work done. Using a distributed resource manager (DRM) like the Sun Grid Engine, and adding the graphics resource to its lists of available resources, users can reserve the graphics hardware for certain times in the future. This gives the organization a better ROI, as the graphics hardware can now be used more frequently during the day. This is not possible in most environments where everyone has a local workstation.
For More Information
Santa Clara, CA
Sun Visualization System
Michael A. Schulman is a marketing manager in the HPC group at Sun Microsystems. Linda Fellingham, Ph.D. is the graphics and visualization software manager at Sun Microsystems. Send comments about this article to DE-Editors@deskeng.com.