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 |
||
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). |