The stdtile.conf's purpose is to provide a configuration of the tiled display. Below are two different examples of this configuration file. The first is for a single node with one display. The other example is a cluster configuration with 12 display tiles where 1 node is running 2 tiles. In order to be more concise, rather than duplicating the configuration file multiple times, the specific examples of the chewbacca single machine and the yoda cluster will be used. The stdtile.conf file for the single machine gives the description of the parameters of the file in addition to giving the appropriate addresses and other values. The cluster version of this file merely repeats one section according to the number of nodes that run SAGE.

First, let’s look at the single machine configuration. Let’s assume that there is only a single display attached to this machine and that the display has a resolution of 1280x1024 with 90 pixels per inch (PPI). In general, to do a quick calculation of PPI for a display, we have to determine the horizontal resolution (in this case 1280) and divide by the width of the screen in inches (not including the mullions —the borders of the display). In this case, 1280 / 14.2 = 90 (give or take). We also need to measure the mullions in the same manner (in inches) along the left, right, top, and bottom sides of the screen.

Here's an example ofa single machine stdtile.conf file.

Sample 8 - stdtile.conf: Tile Configuration for a Single Node (chewbacca)

TileDisplay

      Dimensions 1 1

      Mullions 0.625 0.625 0.625 0.625

      Resolution 1280 1024

      PPI 90

      Machines 1

 

The keyword TiledDisplay must appear at the top of this section.

Dimensions: This is the number of columns and rows of tiled display.  Here, there is only a single screen, so the number of columns and rows is 1.  Please note, the order of dimensions is columns followed by rows.

Mullions: The value for this parameter should indicate the width of the top, bottom, left, and right mullions in units of inches.  Here, the display has an equal border on each side of the display of 0.625 inches (or for fans of fractions, 5/8”…but use decimals in the configuration file).

Resolution: This is the screen resolution of each tile.  Here, the resolution is 1280x1024.

PPI: This value is the pixels per inch of each tile.  Here, there are 90 pixels per inch.

Machines: This represents the number of display nodes which drive tiled display for each DisplayNode.  For each “machine”, make a block of text whose title has the keyword DisplayNode.

 

DisplayNode

      Name chewbacca

      IP 99.6.30.2

      Monitors 1 (0,0)

 

Name: This is the name of each display node (not critical). Here, the name is chewbacca.

IP: This is the IP address of each display node.  Here the IP address is 99.6.30.2.

Monitors (tileColumn, tileRow): This is the number of tiles which is driven by each node. The coordinates provide the column and row position of the display in the tiled display. In this case, there is only 1 display, so the tile location is (0,0) ,

 

 

Now, let’s look at the cluster configuration. Let’s assume that the cluster drives a 12 tiled displays arranged in a configuration of 4 columns and 3 rows. Each node in the cluster will control 2 displays. Each display has a resolution of 1280x1024 with 72 PPI. Each side of the mullion on the display measures 0.5 inch. Below is the arrangement of which nodes in the cluster operate which displays. In order to assist with determining the values for this configuration file, it may be helpful to draw a diagram, and label which cluster node controls which displays:

Figure 13 - Tile Configuration and Display Control for the yoda cluster
 

(0,2)

 

 

 (1,2)

 

 (2,2)

 

 (3,2)

yoda1-6

yoda4-6

 

 (0,1)

 

 

 (1,1)

 

 (2,1)

 

 (3,1)

yoda2-6

yoda5-6

 

 (0,0)

 

 

 (1,0)

 

 (2,0)

 

 (3,0)

yoda3-6

yoda6-6

                    Figure 1: Layout of the tiled-display

Please note, the lower-left part of the display should be (0,0).   Tiles above this origin tile should increase in the row value, while tiles appearing to the right of this tile should increase in the column value of each tile. Similarly, the total SAGE display resolution will be organized in the same manner. The SAGE display origin is located in tile (0,0) in the lower-left corner. X-values increase as objects appear closer to the right side of the SAGE display. Y-values increase as objects appear closer to the top of the display.

Other node configurations for controlling displays are possible. It is also possible to group display tiles vertically instead of horizontally. Also, if it is the case that most of the graphics on the SAGE display will be rendered on another cluster or be streamed from a remote site, one could consider having a single node run four or more displays (for example, if a node was filled with graphics cards). It is best to consider the computational usage of the cluster when making decisions about how many display each node in the cluster should operate.

Here is an example of stdtile.conf for the yoda cluster:

Sample 9 - stdtile.conf: Tile Configuration for the yoda Cluster

TileDisplay

      Dimensions 4 3

      Mullions 0.5 0.5 0.5 0.5

      Resolution 1280 1024

      PPI 72

      Machines 6

 

Remember to begin the file with the keyword TiledDisplay. Since there are 4 columns and 3 rows, the dimensions parameter should have the values of 4 3. The Resolution parameter should be set to 1280 1024. PPI should have the value 72. Finally, since there are 6 machines in the cluster, we need to provide the value of 6 for the parameter Machines.

 

DisplayNode

      Name yoda1-6

      IP 60.60.7.128

      Monitors 2 (0,2) (1,2)

 

Remember to begin each display node section with the keyword DisplayNode. In general, it should not matter how display nodes are specified in the configuration file, as long as the tile arrangement matches your plans. Again, the name of the node is optional, but it is much easier to remember names of things rather than cryptic IP addresses. 

 

The IP address of the display node yoda1-6 is 60.60.7.128. It runs 2 displays in the tile positions (0,2) and (1,2). Please note that if the display node controls more than 2 displays, each tile’s coordinate would have to be listed here as a value for the monitors’ parameter.

 

DisplayNode

      Name yoda2-6

      IP 60.60.7.129

      Monitors 2 (0,1) (1,1)

 

The IP address of the display node yoda1-6 is 60.60.7.129. It runs 2 displays in the tile positions (0,2) and (1,2).

DisplayNode

      Name yoda3-6

      IP 60.60.7.130

      Monitors 2 (0,0) (1,0)

 

The IP address of the display node yoda1-6 is 60.60.7.130. It runs 2 displays in the tile positions (0,0) and (1,2).

 

DisplayNode

      Name yoda4-6

      IP 60.60.7.131

      Monitors 2 (2,2) (3,2)

The IP address of the display node yoda1-6 is 60.60.7.131. It runs 2 displays in the tile positions (2,2) and (3,2).

 

DisplayNode

      Name yoda5-6

      IP 60.60.7.132

      Monitors 2 (2,1) (3,1)

The IP address of the display node yoda1-6 is 60.60.7.132. It runs 2 displays in the tile positions (2,1) and (3,1).

 

DisplayNode

      Name yoda6-6

      IP 60.60.7.133

      Monitors 2 (2,0) (3,0)

 

The IP address of the display node yoda1-6 is 60.60.7.133. It runs 2 displays in the tile positions (2,0) and (3,0).