|C H A P T E R 1|
This chapter provides an overview of the software that composes and enhances the Sun Shared Visualization 1.1 software. Topics include:
TABLE 1-1 describes the directory structure and contents of the Sun Shared Visualization 1.1 software CD-ROM.
|Note - Client software for Apple Macintosh systems is available from the Sun Software Download Center. That software is not included on the CD-ROM.|
VirtualGL is an open source software package that provides hardware-accelerated 3D rendering capabilities to thin clients. When you run a 3D application inside a thin client environment (for example, Sun Ray, VNC, Sun Secure Global Desktop, or remote X11), normally one of more of the following occurs:
With VirtualGL, the 3D rendering commands from the application are intercepted at runtime and redirected onto the server’s 3D accelerator hardware. The resulting rendered images are then read back from the 3D hardware and composited into the appropriate window on the user’s desktop. This functionality produces a completely seamless shared 3D environment that performs fast enough to take the place of a dedicated 3D workstation.
VirtualGL has three basic modes of operation:
In VGL Image Transport (formerly called Direct mode), VirtualGL compresses the rendered output images from 3D applications directly on the 3D application server and sends the resulting compressed images (JPEG) directly to the client.
VGL Image Transport requires an X server and the VirtualGL client application (vglclient) to be running on the client machine.
This X server:
A separate VirtualGL client application runs on the client machine. This client application decompresses the image stream from the server and composites the stream into the appropriate X window. See FIGURE 1-1.
FIGURE 1-1 VGL Image Transport
VGL Image Transport is a well-performing solution for running VirtualGL on a local area network. VGL Image Transport provides a seamless end user experience that is indistinguishable from running the application locally. VGL Image Transport is typically used to run data-intensive 3D applications in a back room, and remotely interact with these applications from a laptop or a slim PC located elsewhere in the same building or facility.
VGL Image Transport is currently being used by several oil and gas industry customers. Data sizes in oil and gas visualization applications often exceed the capabilities of a single PC (particularly a 32-bit PC). The data sizes are large enough that transmitting the data across even the fastest of local area networks is impractical. Instead, VGL transmits only compressed images.
X11 Image Transport (previously called Raw mode or Proxy mode) draws the rendered output images from 3D applications into an X proxy, such as TurboVNC on the graphics server. (Other X proxies, such as Sun Secure Global Desktop, NoMachine NX, or Exceed on demand, are not supported.) The X proxy then compresses the images and sends the resulting compressed images to the client.
X11 Image Transport also can be used when the application and the X server are on the same host or are connected by a high-speed, low-latency network, such as Gigabit Ethernet or faster.
With X11 Image Transport, the client machine does not need to run an X server or vglclient. The 2D rendering is instead performed by an X proxy on the server machine. This X proxy can be one of any number of UNIX thin-client applications. As with VGL Image Transport, VirtualGL reroutes the 3D commands from the application to the server’s 3D hardware and reads back the rendered images. But in X11 Image Transport, VirtualGL does not perform image compression. Instead, VirtualGL draws the rendered 3D images into the X proxy as uncompressed bitmaps, enabling the X proxy to compress the images and send the images to the client. See FIGURE 1-2.
FIGURE 1-2 X11 Image Transport
X11 Image Transport, in combination with TurboVNC, is the fastest solution for running VirtualGL on a wide area network (broadband, T1, and so on). X11 Image Transport is typically used to run data-intensive 3D applications in a back room and remotely interact with these applications from a PC located in another city.
In Sun Ray Image Transport (formerly called Sun Ray mode), VirtualGL compresses the rendered output images from 3D applications directly on the 3D application server and sends the resulting compressed images directly to the Sun Ray hardware client. A Sun Ray plug-in is installed on the 3D application server.
Sun Ray mode is a hybrid between VGL Image Transport and X11 Image Transport. The Sun Ray server acts as the X proxy, receiving and rendering 2D commands from the application. But instead of drawing the rendered 3D images into the X proxy, VirtualGL compresses these images directly using the Sun Ray image codec and sends the images directly to the Sun Ray hardware client. See FIGURE 1-3.
FIGURE 1-3 Sun Ray Image Transport
In Sun Ray environments, VirtualGL is generally not running on the same machine as the Sun Ray server. So performance increases when VirtualGL compresses the images rather than send uncompressed images to the proxy.
Sun Ray is a true thin client environment that offers significant strategic advantages over VGL Image Transport or X11 Image Transport, each of which require a UNIX or Windows XP client. The ultra-thin nature of the Sun Ray client has some disadvantages, the most notable being performance. However, VirtualGL and Sun Ray seem to be a popular solution among mechanical CAD application users as the images generated by such applications tend to compress fairly well. Thus, acceptable performance can be achieved despite the Sun Ray client’s limited image processing horsepower.
Government customers also like Sun Ray because of the security. The client has no storage devices, and thus there is no way for users to copy data off of the server unless explicitly permitted to do so.
For further information about the interactions of the Sun Ray network architecture and VirtualGL, see Sun Ray Network Architectures and VirtualGL.
TurboVNC is a derivative of TightVNC and differs from TightVNC in the following ways:
TurboVNC, when used with VirtualGL’s X11 Image Transport, is the fastest solution for remotely displaying 3D applications across a wide-area network. TurboVNC is also suitably fast for local-area network use. However, TurboVNC requires the user to interact with the entire remote desktop in a single client window and thus does not provide a completely seamless experience. Using VirtualGL for VGL Image Transport provides better performance on a local area network and is completely seamless.
TurboVNC also supports collaboration by enabling multiple clients to connect simultaneously to a single TurboVNC server. Users can take turns using the mouse to control the TurboVNC X server’s mouse and entering keyboard input. Read-only clients can observe the TurboVNC session without providing input.
TurboVNC is capable of sending nearly 20 Megapixels/second over a 100 Megabit/second local area network with perceptually lossless image quality. TurboVNC can deliver between 10 and 12 Megapixels/second over a 3 Megabit/second broadband connection at reduced (but usable) image quality.
TurboVNC is completely backward compatible with other VNC distributions and can be installed onto the same system as another VNC distribution without interference.
Sun Grid Engine (formerly called Sun N1 Grid Engine) performs resource management and load balancing, yielding high utilization and increased project throughput. Sun Grid Engine provides a command-line interface and a graphical user interface for both users and administrators.
A Sun Grid Engine administrator can control which users or groups of users are allowed to use which execution servers at what times. An administrator also can control prioritization and scheduling policy.
Sun Grid Engine also handles starting applications on a selected execution host, so the user need not log in to the server. Job scripts can specify options to Sun Grid Engine. For example, in an environment with heterogeneous execution hosts, these options could specify which processor types and operating systems are capable of running the application.
The Sun Shared Visualization 1.1 software extends Sun Grid Engine capabilities to allocate graphics resources. In an environment that has multiple execution hosts or multiple graphics accelerators on an execution host, Sun Grid Engine can select a suitable, lightly-loaded server to run your application. The software can also select a lightly-loaded graphics accelerator on that server.
The Sun Grid Engine administrator can configure how many jobs can run simultaneously on a server and on a graphics accelerator.
Advance Reservation (AR) is a feature of some queuing software systems, but not yet present in Sun Grid Engine. The requirement is to schedule compute and visualization resources at a time when the computer resources and the people to use the resources are both available. The Advance Reservation server makes this situation possible.
If your Sun Grid Engine installation is running the optional AR server, you can request a reservation using a command-line utility or a simple graphical user interface. See Advance Reservation and the Sun Shared Visualization 1.1 Client Administration Guide, 820-3257, for more information.