Microsoft KB Archive/157890

= Microsoft Knowledge Base =

HOWTO: Setting Up Distributed Rendering with Mental Ray
Last reviewed: April 22, 1997

Article ID: Q157890

The information in this article applies to:


 * Softimage 3D for IRIX, version 3.5

SUMMARY
One of the most advanced features of mental ray is it's ability to run concurrently over a network of machines, thereby significantly increasing render speed. To use mental ray in this manner, the following things are required:


 * A license to use mental ray for each machine (or, in the case of multiple processor machines, each processor) that will act as a render server.
 * A .rayhosts file.

In the following procedure you will install mental ray in a distributed environment.

 Insure that you are logged in as root.  Define a TCP service on each machine in the /etc/services file (this service number is user-defined and must be the same on all machines). We recommend that you use 7001: mi-ray  7001/tcp   ray.irix5   Add a line similar to the following in the /usr/etc/inetd.conf file of each machine you want to use as render server. It should all be on one line. mi-ray stream  tcp   nowait  nobody /usr/softimage/path_to_mental_ray_exec.sh     /usr/softimage/path_to_mental_ray_exec.sh -server [-threads n]

This line defines how each rendering server responds to a request on the mi-ray service. If the machine has multiple processors use the -threads n option replacing n with the number of processors. The fifth word is  the user ID that will execute the command. We recommend you use nobody, but make sure this user is defined in the /etc/passwd file with a valid 'gid'.

Replace path_to_mental_ray_exec.sh with the correct path to the mental ray executable (ray.irix5). Be careful if you are upgrading to a  newer version of mental ray that you are executing the proper one.   Re-initialized the inetd daemon with the following command: /etc/killall -v -HUP inetd The following message appears: killing PID xxxx This process can take up to 5 minutes.   Configure your name service (NIS, DNS or /etc/hosts) to list SPM servers. This has to be done on each machine used as rendering servers. The installation program does not do this for you. Example: If you had two machines named king & queen and king is the spm server your /etc/hosts file would look like this:

102.123.45.1 queen 102.123.67.3 king  spmhost0

You must have a .rayhosts file in your home directory. This file lists all the machines you wish to use during a network render. 

Troubleshooting Network Render
  If machines do not load, use the -log option (with ray.irix5 command). This creates a log file for each machine that was called to do a network render. Example: Modify the SI_MI_TRACER environment variable so that it looks like this:

setenv SI_MI_TRACER /usr/softimage/mental_ray/bin/ray.irix5 -log on

Messages about spmhost0 unknown host, mean that you forgot the entry in  the /etc/hosts file. There may also be messages that refer you to the SYSLOG file, or that tell you that the /usr/etc/inetd.conf file is not configured properly.   'ray daemon not running on machine' means that the TCP service number specified in the /etc/services file is not identical on each machine. </li>  If a machine will not load for a network render with mental ray, use the following steps to see if the machine is responding: If goldfish won't load type: telnet goldfish mi-ray If the message 'Escape character...' appears, type: help then press Enter. The following message appears: ray.irix5 error: read before acc Connection closed by foreign host If this message does not appear, there is a problem with the path for ray.irix5 in /usr/etc/inetd.conf. Verify that the path was entered correctly. </li></ul>