Visitor # 5715 since 14.SEP.2003
Unix workstations offer a built-in ability to run applications in a client-server arrangement. Quite often, this capability goes unused, either due to a lack of need or understanding of how to accomplish it. This application note will attempt to present a scenario and solution based on a client-server architecture.
In this case, I will examine a situation in which an older version of an application needs to be run for compatibility purposes, in this case AutoCAD R12. Unfortunately, the older version of AutoCAD will not run on systems running Irix 6.0 or above, nor will it run on any non-SGI workstations. However, all is not lost.
It is possible to set up a newtwork of two or more machines, including at least one SGI workstation that is running Irix 5.3. Then, AutoCAD R12 and any required third-party AutoCAD applications are installed on the server. An AutoCAD R12 startup script (i.e. acadr12) is created with all necessary environment variable settings and is placed in the main AutoCAD R12 directory (i.e. /usr/acad/acad). Up to this point, there is nothing to distinguish this installation from a typical standalone workstation installation.
In order to complete the client-server setup, client and a server shell scripts must be created and installed on the respective machines. The AutoCAD R12 client shell script (acadr12_client) is nothing more than a thin wrapper over the Irix remote shell (rsh) command in which the name of the AutoCAD R12 server is identified. The AutoCAD R12 server shell script (acadr12_server) is a slightly less thin wrapper over the AutoCAD R12 startup script that serves to redirect the AutoCAD display windows to the client nachine as well as start AutoCAD inside of a shell window. Refer to the diagram below for an overview:
Once set-up, it is now possible to run the AutoCAD R12 client program from any workstation (or PC) capable of running an remote shell command and an Xserver.
Note that you can also use the "rlogin" command to log into the server and run the "acadr12_server" script directly if you prefer. In any event, you need to be aware that you are running the application on the server, using the server's file system. If you have files on your client workstation that you want to edit, you'll either have to copy them to the server machine, or better yet install the Network File System (NFS) and use the "automount" feature to access files on the client.
Since you are dividing the computational work from the display work over two systems, you'll find that the server will be able to handle several sessions simultaneously. You may need to do some experimentation and tuning to find the best machines to use for the client(s) and server. Since the server will be doing the computation and file I/O, a fast CPU, file system and lots of RAM are key resources. The client machine(s) will be doing the display task and will not need as fast a CPU or as much RAM as the server. All the display requests will be going over your network, so you may find it beneficial to place the client and server machines on a separate network segment if your network traffic gets too high.
If you intend to run multiple remote (and/or local) AutoCAD R12 sessions on a single server, you might want to experiment with the ACADMAXMEM environment setting to control system memory usage per session. By default, AutoCAD will determine the maximum amount of free memory and swap space available (and try it best to use as much of it as it can :-). So, in order to have better performance when running multiple sessions, use ACADMAXMEM to limit AutoCAD's use of system memory resources. When an AutoCAD session has used the memory specified in ACADMAXMEM it will revert to its internal memory paging feature which makes use of free disk space in a manner similar to swap. You can consult the AutoCAD Installation and Performance Guide for detailed information on setting ACADMAXMEM but here's a simplified approach:
Back to the AutoCAD Bonus Pack