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
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:
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