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.

opengl_viewer

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