home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / inetray / readme < prev    next >
Text File  |  1992-07-02  |  7KB  |  191 lines

  1. ======================================================================
  2.                     R E A D M E 
  3.                     doc: Fri Mar  6 16:04:58 1992
  4.                     dlm: Fri Jul  3 12:20:30 1992
  5.                     (c) 1992 ant@ips.id.ethz.ch
  6.                     uE-Info: 58 8 T 0 0 72 3 2 8 ofnI
  7. ======================================================================
  8.  
  9. Whatis Inetray
  10. --------------
  11. Inetray is an application allowing you to raytrace an image using a lot
  12. of machines. The task is dynamically distributed to all machines
  13. offering this service.
  14.  
  15. Requirements
  16. ------------
  17. You need the following software libraries to run Inetray:
  18.     - BSD-style sockets
  19.     - SUN rpc-library (at least version 4.0)
  20.     - SUN xdr-library (at least version 4.0)
  21.     - rayshade 4.0.6
  22. The only thing you probably need to check is if you have the SUN
  23. rpc-library since this uses the other two communications libraries.
  24. On all machines where you want to run servers, you need to have a local
  25. portmapper running.
  26.  
  27. Documentation
  28. -------------
  29.     README        This file
  30.     POO        Principles of operation; some internals
  31.     INSTALLATION    compilation & installation manual
  32.     SUPPORT        supported machines and quirks
  33.     FAQ        Frequently asked questions
  34.     HISTORY        A short program history (patches, releases, ...)
  35.     TODO        Things to do (Todo que nunca voy a hacer...)
  36.  
  37. Examples
  38. --------
  39. Any rayshade examples work, but I included an image which uses lots of
  40. CPU time to calculate. It's called mole.ray.
  41.  
  42. Copyright
  43. ---------
  44. Feel free to copy the software for non-commercial purposes. Note,
  45. however, that this software is not GNU; this means that it was never
  46. intended to be a monster and I will not allow it to become one.
  47.  
  48. Author
  49. ------
  50. Andreas Thurnherr (ant@ips.id.ethz.ch), working at the IPS
  51. (Interdisziplinaeres Projektzentrum fuer Supercomputing) at the ETH in
  52. Zurich, Switzerland.
  53.  
  54. Support
  55. -------
  56. I will try to give limited support to people trying to port Inetray to
  57. new machines; you can mail me to the address given above. Please read
  58. the docs before mailing me.
  59.  
  60. Credits
  61. -------
  62. I'd like to thank the people of IPS for allowing me to use their
  63. machines for the development of Inetray - parts of it was also
  64. developed during work hours.
  65. Furthermore, I'd like to thank the team of active beta-testers (David
  66. DeBry, Marvin Landis, Michael Graff, Benny Yih and Rick Braumoeller - I
  67. sure hope I didn't forget anybody) for sticking  with me thru all the
  68. 0.X.X versions, bugs and features.
  69. Special thanks to Nikolaos Fotis from Greece who wanted everything,
  70. refused to read the docu and really influenced the user friendliness a
  71. lot. 
  72.  
  73. Components
  74. ----------
  75. Inetray consists of the following executables:
  76.     inetray        the frontend dispatcher; the client
  77.     rpc.inetrayd    the worker; the server
  78.     inetray.ping    pinger to check response of servers
  79.     inetray.kill    killer; kills all running servers
  80.     inetray.start    startup daemon for rpc.inetrayd
  81.     rpc.dereg    deregister utility for SUNRPC
  82.     netinfo        prints all network addresses of local host 
  83.  
  84. Terminology
  85. -----------
  86. The terms worker and server both refer to rpc.inetrayd. The server is
  87. the parent, servicing RPC requests; the worker is the child doing the
  88. actual work.
  89. The terms dispatcher and client both refer to inetray.
  90.  
  91. Runtime Errors
  92. --------------
  93. All runtime errors of the workers (servers) are logged to the syslog. If
  94. they seem to crash unexpectedly (or don't respond at all), check the
  95. syslog first.
  96. If you set NOASYNCIO_QUIRK while compiling, the error messages go to
  97. temp-files. See SUPPORT for details.
  98.  
  99. Weird Behaviour
  100. ---------------
  101. Sometimes, inetray seems to behave weirdly (e.g. it worked yesterday,
  102. but today a server on a machine doesn't seem to terminate). I had those
  103. problems only on SUNs (but then again, I use more SUNs than other
  104. machines). The usual solution to the problem is rebooting the machine.
  105. This is highly unnice, but sometimes necessary.
  106.  
  107. Random Numbers
  108. --------------
  109. On different architectures, the random generator used by rayshade 4.0
  110. may generate different sequences. This problem has to be fixed in
  111. rayshade since I won't change any code in those libs. I think it will be
  112. fixed in the next release.
  113.  
  114. inetray [params]
  115. ----------------
  116. is supposed to be compatible with ``rayshade''. You can, however, not
  117. use it in a pipe.
  118. When you start it up, it replies by giving a Session Key (see POO for
  119. details), followed by the list of servers which replied. The list has
  120. the following form:
  121.  
  122.     inet#    host[pid]    username    working_directory
  123.     
  124. After that the total number of workers is given followed by scheduling
  125. information.
  126. After the trace has been completed a sorted statistics is printed. You
  127. can get to this statistic any time during the trace by interrupting
  128. (SIGINT) the program. Interrupting it again while nothing has changed,
  129. gives you the option to abort the program orderly.
  130. If you terminate inetray without a shutdown, you'll probably have to
  131. issue an inetray.kill to kill all workers and servers.
  132. If you don't do that, the servers will shut themselves down after
  133. approximately 1 minute.
  134.  
  135. rpc.inetrayd
  136. ------------
  137. is the server-daemon. It is started either by inetd or by inetray.start.
  138. On receiving a request, it forks a worker and continues waiting. There
  139. can, however only be one request outstanding any one time.
  140. Roughly once every minute the server checks if the dispatcher is still
  141. running. If that's not the case, it kills its worker (if it exists) and
  142. exits with an error message in the syslog.
  143. NOTE: you never start this program from the command-line (see
  144.       INSTALLATION to find out how you DO start it)
  145.  
  146. inetray.ping [Use List]
  147. -----------------------
  148. is a pinger utility. It checks if servers are ready to run for you. To
  149. find out, if a specific server is ready to run, you just write
  150.     ``inetray.ping hostname'',
  151. if you want to check which workers are ready to run, you run
  152. inetray.ping without any arguments.
  153. The argument list can be arbitrarily complicated. Example:
  154.     ``inetray.ping foo UID=12, bar, 124.130.34.0 N=2 UID=13, \
  155.       local N=0, multi N=16''
  156. See Appendix B in INSTALL for details about the Use List.
  157. Note: If you install workers using Inetd, you may get warnings when
  158.       running inetray.ping for those hosts.
  159.  
  160. inetray.kill [key]
  161. ------------------
  162. kills all running servers even if they're currently computing. Since
  163. killing works only with the correct session key, inetray.kill needs to
  164. have this key. Usually it takes it from .inetray.key in the current
  165. directory. This file is written by inetray.
  166. You can, however, supply your own key (to override .inetray.key) by
  167. supplying it on the command line.
  168.  
  169. inetray.start [path of rpc.inetrayd]
  170. ------------------------------------
  171. starts rpc.inetrayd (one or more) on request. Another method is to have
  172. them started by inetd. See INSTALLATION for details.
  173.  
  174. rpc.dereg [prognum versnum]
  175. ---------------------------
  176. deregisters the indicated program/version with the local portmapper.
  177. Note that the same functionality is offered by rpcinfo(8) but it
  178. requires root privileges (another great show of SUN security)
  179.  
  180. netinfo
  181. -------
  182. prints a list of all network interfaces, local addresses and broadcast
  183. addresses installed on the local host. If the host is set up correctly,
  184. it should react to all addresses given.
  185. Actually only the inet interfaces which listen to broadcasts are
  186. printed! 
  187. Note that if netinfo shows more than one interface, the machine is a
  188. gateway; you should not run inetray (the dispatcher) on a gateway since
  189. it produces lots of traffic on both networks!
  190.  
  191.