C H A P T E R 1 |
Software Overview |
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.1 software CD-ROM.
Almost all the Sun Shared Visualization Software is open source, and is available on the CD-ROM and online for free download. However, the software is not automatically installed by the product installation script. (The “3D extensions to Sun Grid Engine” are entirely scripts and configuration, so no additional source is needed for Solaris systems.)
In releases 1.1 and 1.1u1, source code is in the Linux/Source and Solaris/Source subdirectories, as shown in TABLE 1-2.
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 run time 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 eliminates the workstation and the network as barriers to data size. Users can now visualize gigabytes and gigabytes of data in real time without needing to copy any of the data over the network or sit in front of the machine that is rendering the data.
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 host.
A separate VirtualGL client application runs on the client host. 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.
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 3D application server. (Other X proxies may work with the open source VirtualGL but are not supported by Sun Shared Visualization Software.) 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 2D 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 and an X proxy, the client host does not need to run an X server or vglclient. The 2D rendering is instead performed by an X proxy on the server host. 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.
The Sun Ray Image Transport 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 host as the Sun Ray server. Therefore, higher performance can be achieved by sending compressed images directly to the client rather than sending uncompressed images over the network through the Sun Ray server.
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 its 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 an optimal solution 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. When using the VGL Image Transport, on the other hand, each application window appears as a separate window on the client machine.
TurboVNC also supports collaboration by enabling multiple clients to connect simultaneously to a single TurboVNC server session. Users can take turns using the mouse and keyboard to control the TurboVNC session. View-only clients can observe the TurboVNC session without providing input.
TurboVNC is capable of sending over 30 Megapixels/second over a 100 Megabit/second local area network with perceptually lossless image quality. TurboVNC can deliver 8 Megapixels/second over a 3 Megabit/second broadband connection at reduced (but usable) image quality.
TurboVNC is completely 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.
Copyright © 2008 Sun Microsystems, Inc. All Rights Reserved.