| 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.
           |