Cover V10, I10

Article

oct2001.tar

Managing Sunrays in Technical Environments

Moazam Raja

Systems administrators who manage servers and labs that are used by programmers/developers have very different jobs from their peers who deal with just regular users. Developers usually do not need as much hand holding as typical users, but when they do need help, they can present very difficult problems and scenarios. Also, developers in technical markets have strict deadlines, an ever-increasing appetite for compute power, and the need for regular data backups. The special breed of systems administrators who serve developers can use all the help they can get in alleviating maintenance troubles and headaches. In many developer-based groups, the Sun Ray desktop appliance is a great fit, and can be just the right answer for both the systems administrator and the developer. In environments with hundreds of developers and only a handful of systems administrators, the Sun Ray model of computing can also be a lifesaver.

The Sun Ray appliance is a zero-administration and zero-maintenance device, which can be used to replace the traditional desktop workstation. It is a 100% noise-free device with no fans or disk drives, and it delivers crisp 24-bit color. The basic ingredients of a Sun Ray setup are:

  • Sun Ray Server hardware with two 100-Mb Ethernet cards
  • Sun Ray Server software
  • Dedicated network interconnect for Sun Ray appliances
  • 100-Mb Ethernet Switch
  • Sun Ray appliances

Over the long term, one of the benefits of using Sun Ray appliances is the upgrade path. As developers' needs increase, the systems administrator does not need to deploy newer and faster desktop units to every developer, but can instead simply upgrade the Sun Ray server, or the compute/application servers that are housed in a lab environment. This saves time for the administrator, and allows developers to work in an environment with very little interruption and downtime. In this article, I will describe the concept of Sun Ray appliances, and discuss how to plan for them and maintain them in technical environments. I will also point out the advantages and disadvantages of Sun Ray appliances, where to use them, and where not to use them.

How Sun Rays Differ from Traditional X Terminals

The major difference between Sun Ray appliances and X terminals is in how the user's display session is managed. On an X terminal, a display session is sent directly to the X terminal and is managed by that X terminal. On a Sun Ray appliance, the display session is housed on the Sun Ray server and forwarded to the appropriate Sun Ray appliance. For example, the display setting for a typical X terminal in a UNIX environment would be:

x415sun01:0.0.
This shows that the primary display on the X terminal named "x415sun01" will be used for displaying X information, and all display traffic will be sent directly to the X terminal itself. On the other hand, a Sun Ray appliances display setting is as follows:

sunraysrv:70.0.
The "sunraysrv" machine is not actually the name of the Sun Ray appliance, but of the Sun Ray server, where the display session is hosted. The number after the server name denotes which Sun Ray display session is in use. Instead of having the display session managed on the desktop appliance, the session is stored, maintained, and managed on the Sun Ray server in a virtual frame buffer.

This difference in display methodology gives the Sun Ray appliance a distinct advantage over traditional X terminals -- mobility. A Sun Ray user with an active display session in her office can pull out her Smart Card from the device, walk to the sys admin's office, insert the Smart Card into the admin's Sun Ray device, and instantly have her active session transferred. The user's full desktop, including any customized window manager features, is displayed on the new Sun Ray appliance. If the user was playing an audio file at her original location, the audio will also be heard on the Sun Ray appliance to which she moved. This unique feature, which is a part of the Hot Desk Architecture, allows developers to easily share their desktop environment with others, in a one-on-one environment, or even in a large meeting of many developers.

Another major difference between Sun Ray appliances and X terminals is the network interconnect used. While X terminals were usually deployed on the same network as other servers and workstations, Sun Rays are deployed with a separate and dedicated network interconnect. The Sun Ray server is required to have at least two network interfaces -- one for the public network, and one for the Sun Ray interconnect. This allows for much greater efficiency, as extraneous traffic is not sent over the Sun Ray network. The Sun Ray network interconnect does not carry X11-based traffic, and uses its own display protocol that is much more efficient.

Sizing up Your Sun Ray Environment

A key part of a successful Sun Ray deployment is the design. The recommended server configuration for an average office with 50 active Sun Ray appliances is a Sun E250 with dual processors, 1 Gig of RAM, dual 100-Mbps Fast Ethernet controllers, and two disks to spread the swap space onto. This configuration is very well suited for normal users, but it may not work as well for developers who are known for taxing servers and workstations with their projects.

Many developers are accustomed to using workstations with 128 MB of RAM; for those users, it is beneficial to have a minimum of 100 MB of RAM per user on the Sun Ray server. Systems administrators and developers both need to understand that the Sun Ray server should be used only for session display purposes, and not compute-intensive tasks. Developers will need to use separate application server machines for compiling, testing, and debugging. These application server machines should not be connected to the Sun Ray network interconnect, but to the public network, which is accessed by the public network interface on the Sun Ray server.

A good solution for a moderate-sized workgroup of 50 developers is to use a Sun E450 server with two processors, which can be upgraded later to four processors. Gigabit Ethernet cards are highly recommended if developers will be connecting via X11 to compute/application servers. Each development group is different, and while some medium-to-large groups use moderate CPU power, some small groups of developers may use an enormous amount of resources. In each case, the systems administrator must figure out what kind of load is expected. A tool such as perfmeter can help administrators determine the average CPU and network utilization over a period of time. Another Solaris utility that can greatly assist administrators is the /usr/proc/bin/pmap program. pmap allows administrators to measure the memory footprint of an application and plan server configurations accordingly.

Where to Compute?

Compute- and application-specific servers are of great benefit to developers working in a Sun Ray environment. The load is kept off the Sun Ray server and placed on machines meant to handle compute-intensive load. For developers who require a dedicated machine for development, 1U rack servers are a great solution. 1U rack servers such as the Netra X1 are inexpensive enough that individual developers can be assigned a server to work on. Other developers may require different types of operating systems and architectures, such as Linux on x86 hardware. Sun Ray users can log directly into any compute/application servers with X11 via the CDE remote session option. The major disadvantage to doing so is the adverse effect on the Hot Desk Architecture. Because the user is logged into an application server, the Sun Ray server is not able to properly map audio and USB devices. If the user tries to move to another Sun Ray appliance, the session from the application server will transfer over, but the aduio and USB mappings will not.

Shared Compilers

One way to entice developers to use Sun Ray appliances for development is to install all of the different compilers they use in a centralized location. For example, I have installed Sun C/C++/Pascal/Fortran compilers ranging from Sun Workshop 3.0, to Sun Forte Developer 6.2, on a centralized file server, which is available via NFS. I've also placed many different versions of GNU compilers and tools at the same NFS location. This alleviates the task from the developers, and they do not have to worry about installing and maintaining the various software packages that they need for daily work.

Tips and Tricks

Unlike regular users, developers generally open many terminal windows. When a large number of developers open 10-15 pseudo-terminals each, the Solaris pty resource may be overrun, and the maximum amount of pseudo-terminals will be reached. The solution to this problem is to edit the /etc/system file on the Sun Ray server and set the pt_cnt value to a higher number. This solution is only needed on Solaris 2.6 and 7. In Solaris 8, the pt_cnt variable is increased dynamically. One formula to figure out a good value for pt_cnt on your Sun Ray server is:

(number of users) * (average number of windows/user) = number of ptys
For example, if you have 50 developers who open an average of 10 terminal windows each, you would figure:

(50) * (10) = 500
Hence, the line to edit or add in the /etc/system file would be:

set pt_cnt= 500
Users with knowledge of the Solaris Resource Manager (SRM) software package may be tempted to use it on a Sun Ray server to control resource usage by end users. Because of the way the current implementation works, SRM is not a good fit for Sun Ray server usage. SRM was designed to manage a small number of resource-intensive tasks on a single server. SRM is unable to manage a large amount of Sun Ray sessions with many processes and will actually slow down the Sun Ray server.

A better way to control and limit resources used by individual Sun Ray users is to use the Solaris limit, ulimit, and quota commands. The following example script from "Sun Ray Server Software 1.2 Product Notes" can be used to limit the resources used by each Sun Ray user. The script limits the value of the stack, virtual memory, core file size, and soft file size on the Sun Ray server:

#!/bin/ksh
# Set default limits
#
# Data/stack size in KB (1GB/200)
#
ulimit -d 1000000
ulimit -S -d 500000
ulimit -H -s 1000000
#
# VM
#
ulimit -S -v 1000000
#
# Core file size in blocks
#
ulimit -c 500000
ulimit -S -c 200000
#
# Soft file-size limit 500MB
#
ulimit -S -f 1000000
To put this script into effect, it should be copied to the /etc/dt/config/Xsession.d/ directory and made executable.

Where to Find More Information

A plethora of information is available from Sun Microsystems about configuring and managing Sun Ray appliances. Here are some of the URLs that will help administrators in deploying a successful Sun Ray installation:

  • Sizing Sun Ray Enterprise Servers: http://www.sun.com/products/sunray1/whitepapers/sizing.pdf
  • Sun Ray Server Software 1.2 Product Notes: http://www.sun.com/products/sunray/docs/1.2/prodnote.pdf
  • Sun Ray Enterprise Server Software 1.1 Administrators Guide: http://www.sun.com/sunray1/docs/adminguide.pdf

An excellent example of a large university that is using Sun Ray appliances in technical environments is also available at:

http://www.sun.com/products-n-solutions/edu/success/dtu.html
When Not to Use Sun Ray Appliances

Sun Ray appliances are not optimized for enhanced 3D graphics rendering. The network bandwidth needed by many 3D applications can pose a huge problem and degrade network/display performance. Users with high-end 3D graphics needs will be better served by desktop workstations designed specifically for 3D. Sun Ray appliances also may not be cost effective in small workgroups of five to ten developers where the development work is very different for each developer. In these situations, setting up customized application server environments for each developer will probably be less cost effective than desktop workstations.

Conclusion

Although the Sun Ray model of computing is not perfect for all developer organizations, it is a great alternative for many developers who primarily develop, test, and deploy on the UNIX platform. The cost benefit of Sun Ray appliances is not solely in the initial investment of hardware, but in the overall advantage of zero-administration on the client side. With the popularity of distributed computing, and technical compute farms such as Sun TCF, Sun Ray appliances allow developers to access an enormous amount of compute power that they could never have had on their desktop workstations alone.

Moazam Raja is a systems administrator at Sun Microsystems, in the Forte Tools division. He can be contacted at: moazam.raja@sun.com.