source: trunk/src/testing/readme.txt @ 4

Revision 4, 10.5 KB checked in by ajaworski, 13 years ago (diff)

Added modified SAGE sources

Line 
1/******************************************************************************
2 * SAGE - Scalable Adaptive Graphics Environment
3 *
4 * Copyright (C) 2004 Electronic Visualization Laboratory,
5 * University of Illinois at Chicago
6 *
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 *  * Redistributions of source code must retain the above copyright
13 *    notice, this list of conditions and the following disclaimer.
14 *  * Redistributions in binary form must reproduce the above
15 *    copyright notice, this list of conditions and the following disclaimer
16 *    in the documentation and/or other materials provided with the distribution.
17 *  * Neither the name of the University of Illinois at Chicago nor
18 *    the names of its contributors may be used to endorse or promote
19 *    products derived from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *
33 * Direct questions, comments etc about SAGE to http://www.evl.uic.edu/cavern/forum/
34 *
35 *****************************************************************************/
36
37-------------------------------------------------------------------------------
38
39                         README file for SAGE v2.5
40               
41                written by Byungil(Brent) Jeong, Ratko Jagodic
42               
43-------------------------------------------------------------------------------
44
45
46########################################################################
47   
48   NEEDS TO BE CHANGED FOR SAGE 3!!!   (Ratko, 07/12/04)
49
50########################################################################
51
52
53
540. Differences from v2.1
55        (1) Direct interaction with the display is now possible with a joystick
56            connected to a machine where the UI is running
57            (read more about it in ui/README)
58        (2) Launching SAGE and all of the components is now greatly simplified
59            through SageLauncher. All of the components can be configured as well.
60        (3) SageProxy is now included in the SAGE distribution
61            (for more info check bin/sageProxy/README)
62        (4) Bug fixes, minor changes to the applications
63
64       
651. Install libraries
66        For SAGE:
67
68        - SAGE needs Quanta0.4 or greater (www.evl.uic.edu/cavern/quanta)
69        - SDL-1.2.8 or greater
70        - readline (runtime and development packages)
71
72        For SageLauncher, SageProxy, AppLauncher, FileServer:
73
74        - python 2.3 or later
75        - wxPython 2.6.2 or later
76        - numarray or Numeric
77
78
792. Setup Environments
80        (1) Set environment variable SAGE_DIRECTORY in your profile
81                setenv SAGE_DIRECTORY path_to_sage_directory in .tcshrc
82                export SAGE_DIRECTORY=path_to_sage_directory in .bashrc
83        (2) Add $SAGE_DIRECTORY/bin to your path
84                set path = ($SAGE_DIRECTORY/bin $path) in .tcshrc
85                export path=$SAGE_DIRECTORY/bin:$path  in .bashrc
86        (3) Add $SAGE_DIRECTORY/lib to LD_LIBRARY_PATH
87                setenv LD_LIBRARY_PATH $SAGE_DIRECTORY/lib:$LD_LIBRARY_PATH in .tcshrc
88                export LD_LIBRARY_PATH=$SAGE_DIRECTORY/lib:$LD_LIBRARY_PATH in .bashrc 
89
90
913. Modify make file
92        open Makefile in $SAGE_DIRECTORY/src
93        (1) set QUANTA_DIR to QUANTA include directory in your machine
94
95         
964. Compile
97        (1) execute make in $SAGE_DIRECTORY
98        (2) if you get errors, check include paths and library paths in make files in subdirectories
99        (3) execute make install in SAGE_DIRECTORY
100
101
1025. Edit Configuration Files
103        (1) go to $SAGE_DIRECTORY/bin
104        (2) open "fsManager.conf" and edit following parameters
105          a. fsManager : name and IP address of the machine on which
106                        Free Space Manager runs. Usually the master node of cluster.
107                        You can specify two IP addresses here from v1.3.
108                        The first IP adderss will be used for system components
109                        (SAIL, SAGE Receiver) and the second IP address will be used
110                        for UI connections (sent to connection manager).
111                        If only one IP address is specified, it will be used for both.
112
113          b. systemPort : port for SAGE system message channel
114
115          c. uiPort : port for SAGE UI message  channel
116
117          d. trackPort : port for tracking data (for LambdaTable)
118
119          e. conManager : the ip address and port number of Connection Manager
120                  - Connection manager is an UI server which manages connections among
121                    SAGE UIs and fsManagers
122                  - If you don't have a connection manager, just leave these fields
123                    as they are
124
125          f. tileConfiguration : name of tile configuration file        (stdtile-1.conf)       
126         
127          g. receiverSyncPort : port number of sync connection on displaying side
128          h. receiverBufSize : upper bound of receiving buffer size for a pixel stream in MB
129          i. fullScreen : 1 for full screen mode display
130          j. winTime : set the window move/resize latency. If users set this value bigger than 0,
131                        # of window animation steps are dynamically changed to keep this constraint.
132                        (under development)
133          k. winStep : set the number of steps in window animation
134          l. rcvNwBufSize : socket buffer size of receivers (SAGE display)
135          m. sendNwBufSize : socket buffer size of senders (SAIL)
136          n. MTU : MTU size for UDP
137               
138        (4) open "stdtile-1.conf" and edit following parameters
139          a. Dimensions : number of columns and rows of tiled display
140          b. Mullions : width(inches) of top, down, left, and right mullions
141          c. Resolution : screen resolution of each tile
142          d. PPI : pixels per inch of each tile
143          e. Machines : number of display nodes which drive tiled display
144          f. for each DisplayNode
145                        Name : name of each display node (not critical)
146                        IP : ip address of each display node
147                        Monitors : number of tiles which each node drives
148                          (xPos, yPos) of each tile
149                          (0,0) is the tile at the lower left corner
150        (5) open "tileNodes.list" and list the ip addresses
151                of all your cluster nodes                                       
152
153
1546. Test Whether SAGE is Working Properly
155        In $SAGE_DIRECTORY/bin
156        (1) Execute "fsManager". Tiled display becomes black if it runs correctly.
157                Users can specify a configuration file name as command-line argument.
158                Otherwise "fsManager.conf" is used.
159        (2) Open another terminal and execute "render"
160        (3) Open another terminal and execute "fsConsole"
161        (4) press TAB key twice. fsConsole commands are listed.
162        (5) ? or help command gives you short description for each command
163        (6) If you type initial character of a command and press TAB key,
164                the command is completed. Then, press TAB key again. You can see
165                the description of the command.
166        (7) move 0 1000 0 : move the app window
167
168
1697. Shutdown SAGE
170        (1) you can shutdown SAGE using fsConsole command "shutdown"
171        (2) if the command doesn't work, execute the script KILL_ALL
172
173
1747. Typical Usage - Using SageLauncher to set up, start and stop everything
175        You will need all additional dependencies installed - python, wxPython, numarray
176        (1) In $SAGE_DIRECTORY/bin type "sage". This will start the SageLauncher which
177            will help you set up all the SAGE components and get them running easily
178        (2) Press START to run SAGE and the checked components
179            (the default settings should work just fine)
180        (3) To shutdown running components (incl SAGE), press STOP.
181        (3) Alternatively, check different components that you wish to run with SAGE.
182            You can also change the settings on each component from the Launcher.
183           
184
1858. Using SAGE Bridge
186        (1) SAGE Bridge receives pixel streams from applications and distributes
187                to multiple SAGE sessions (a fsManager per session).
188        (2) SAGE Bridge is supposed to be executed on high-performance PCs bridging
189                rendering clusters and display clusters.
190               
191        (3) Install SAGE on the SAGE Bridge nodes in the same manner
192        (4) Edit sageBridge.conf in $SAGE_DIRECTORY/bin
193                - masterIP : the ip address of master node of SAGE Bridge cluster
194                - slaveList slaveNum ip1 ip2 ip3 ... : the slave node list of 
195                        SAGE Bridge cluster (note : multi-node SAGE Bridge is currently
196                        unstable. Set the slave number to zero for now. Instead, you
197                        can run multiple single-node SAGE Bridges independently)
198                - streamPort : base port number to be used for the pixel streams between
199                        apps and SAGE Bridge
200                - msgPort : message channel port number
201                - syncPort : synchronization channel port number
202                - screenRes : debugging window resolution.
203                        SAGE Bridge can display received pixels for debugging.
204                        This feature can be on/off by adding/removing BRIDGE_DEBUG_ flag
205                        in the makefile in $SAGE_DIRECTORY/src
206                - rcvNwBufSize, sendNwBufSize, MTU : network parmeters used for
207                        the pixel streams between apps and SAGE Bridge
208
209        (5) Execute the binary "sageBridge" in $SAGE_DIRECTORY/bin.
210                Users can specify a configuration file name as command-line argument.
211                Otherwise "sageBridge.conf" is used.
212        (6) Execute "fsManager" on display cluster
213
214        (7) Make sure app configuration file includes following items:
215                 (appLauncher will generate these automatically if the application
216                 was started with a right click from the SAGE UI)
217                - bridgeOn true : determine whether this app uses sageBridge or not
218                - bridgeIP 192.168.81.1 : master IP of SAGE Bridge
219                - bridgePort 42000 : message port of SAGE Bridge
220                - fsIP     192.168.81.11
221                - fsPort   20002 : IP and system port of the first fsManager
222               
223        (8) Launch applications. This is best done through SAGE UI. When the application
224                is started with a right-click on the app icon in the UI, it will use
225                sageBridge and can then be shared with other SAGE sessions.
226
227        (9) If users want to share this app to another SAGE session through SAGE UI,
228                just drag an application window from one SAGE session onto the tab
229                of the other session and the app will be shared (obviously you must
230                be connected to both SAGE sessions for this to work)
231
232                Alternatively, you can share the applications using uiConsole:
233                execute "uiConsole" to be connected to the first fsManager
234                > uiConsole fsManager-1.conf (config file for the first fsManager)
235
236                Then, execute following command
237               
238                share appID fsIP2 fsPort2 (appIDs are assigned in execution order
239                        ex) 0, 1, 2,... 
240                        fsIP2, fsPort2 : IP and port number of the second fsManager)
241
242                Then, the app window shows up on the second SAGE session.
243               
Note: See TracBrowser for help on using the repository browser.