How it Works
The software is made up of many pieces but internally
the system uses the x0rfbserver program from RealVNC to
take synchronized screen snapshots of every tile. The captured screens are scaled
down and sent to the master node (or the cluster's frontend) where they
are stitched into a single
image. These images are then served through a web-interface using the
popular Apache web-server or a
TCP socket based server. The rate of the screen captures can be
configured as one of the
parameters of the system if CPU usage is a concern. Typically at a
capture rate of 1 fps the cpu utilization is < 5 % on our opteron
based clusters.
For viewing the image, the user does not need to download any special
software and can point his/her web-browser to the cluster's master
node. The user has to specify the port since the web-server is not
running on the standard port 80. So typically the URL address would
look something like:
http://cluster.evl.uic.edu:5911
The login is password protected and users are forced to chose a
password during system installation.
The system also serves the images through a socket
interface, which allows a C++/OpenGL viewer, packaged with the
software, to request screen updates from the system. This utility is faster and more
efficient than the web-interface. Figure 2 shows a snapshot of the
viewer program running on a Linux desktop.
The LambaCam daemons use a simple protocol to
serve JPEG or RAW images of the tiled-display through a TCP socket.
Thus it is possible for a software to pull these updates from the system for
providing visual feedback for applications running on the tiled-display, such as
in SAGE.
Figure 2: A screen-capture showing a linux desktop running the OpenGL viewer utility.The viewer window is displaying the output of Yorda, EVL's 15-tile display run by a dual Opteron cluster. This utility is more efficient than using the web-browser