|A P P E N D I X A|
Sun Ray Network Architectures and VirtualGL
This appendix discusses constraints and behaviors between three types of Sun Ray network architectures and VirtualGL. Topics include:
To display images on a Sun Ray client from another system, that system sends the images to the X server on the Sun Ray server. The Sun Ray server then sends the images to the Sun Ray clients. See FIGURE A-1.
FIGURE A-1 Traditional Graphics Serving
This situation works well for applications that don’t send images at a high rate. However, if using VirtualGL, a single user can generate considerable network traffic to sustain an acceptable frame rate. Multiple users requesting similar services could quickly overwhelm the networking capability of a Sun Ray server.
As a possible solution to this problem, the Sun Shared Visualization 1.1 software includes a Sun Ray plug-in for VirtualGL (the SUNWvglsr Solaris package or the VirtualGL-SunRay RPM for Linux). This plug-in enables VirtualGL to send images directly to the Sun Ray using Sun Ray protocols. See FIGURE A-2.
FIGURE A-2 Sun Ray Plug-in
The current default compression method used for the plug-in is quite lossy but can be controlled with the VGL_SUBSAMP and VGL_PROGRESSIVE environment variables. See the appendix, “VirtualGL Reference”, in the Sun Shared Visualization 1.1 Software Client Administration Guide, 820-3257.
The advantage of this architecture is that the majority of the network load is off of the Sun Ray server, making the model more scalable. If the connection between the Sun Shared Visualization 1.1 server and the Sun Ray clients is a network switch, then the model also avoids a network bottleneck.
Some Sun Ray networks are private, in that only the Sun Ray server has access to the Sun Ray clients. See FIGURE A-3.
FIGURE A-3 Private Sun Ray Network
In this situation, there is no direct network path from the Sun Shared Visualization 1.1 server to the Sun Ray clients, so standard VirtualGL methods need to be used to transmit the images. VirtualGL needs to use X11 Image Transport, which is requested using the -c proxy option on the vglrun command line or setting the VGL_COMPRESS environment variable to proxy.
This configuration might work well for light use, but is not advised for common VirtualGL usage because of the network load that is put upon the Sun Ray server. When practical, an alternative is to use a second Ethernet port on the Sun Shared Visualization 1.1 server to include the server in the private Sun Ray network. See FIGURE A-4.
FIGURE A-4 Semi-Private Sun Ray Network
The advantage of this method is that the Sun Ray plug-in enables lower network load on the Sun Ray server, without changing the Sun Ray network architecture. Documentation on how to configure this network architecture is beyond the scope of this document.
An alternative solution is to put the Sun Ray clients onto the LAN. See the Sun Ray Administration Guide for instructions on how to do this.
It is possible for the Sun Ray server and the Sun Shared Visualization 1.1 server to be the same system if there is graphics accelerator hardware on the Sun Ray server. See FIGURE A-5.
FIGURE A-5 Sun Ray Server as a Shared Visualization 1.1 Server
In this case, the best performance is achieved by using the Sun Ray plug-in, which is the default. Alternatively, you can disable the Sun Ray plug-in so that VirtualGL uses X11 Image Transport to give images to the Sun Ray X server, and the Sun Ray server does the compression and transmission of the images to the Sun Ray clients. This technique can improve image quality at the expense of performance.
The Sun Ray plug-in is disabled by one of these methods:
This architecture works best when it is practical to do graphics resource allocation at the time of Sun Ray session login. In this situation, users access 3D applications or applications, so 3D usage is relatively predictable as a function of the number of users.
If however, the Sun Ray server is hosting a large majority of users who are not using 3D applications, the users who do so consume a disproportionate amount of resources on the network. This situation makes load management on the Sun Ray server more challenging.
The flowchart in FIGURE A-6 describes the behavior of VirtualGL in a Sun Ray network. (For more information about VGL_COMPRESS, see Appendix A of the Sun Shared Visualization 1.1 Software Client Administration Guide.)
FIGURE A-6 Behavior of VirtualGL in a Sun Ray Network