Research presented at ACM Multimedia Systems Conference, MMSys 2010. paper link
Tiled-display wall without the inter-tile synch mechanism.
Tiled-display wall with the inter-tile synch mechanism.
Tiled-display walls are rapidly growing in many scientific disciplines because of the highly collaborative visualization environment it can provide. SAGE, one of the main enabler of cluster-based collaborative tiled-display wall technology, differentiate itself from other tools in that it enables simultaneous multi-user interactions on multiple visualizations. SAGE’s parallel image streaming model allows the imagery of a user application to be fragmented and streamed in parallel to corresponding display nodes. Imagine a case where multiple image fragments of multiple applications, each can run at different rate, are streamed in parallel to a cluster driven display wall. To provide seamless visualizations on the display wall, data an image frustum synchronization between display nodes is crucial. This research presents a novel scalable approach for synchronization in a collaborative display wall system.
Above diagram depicts this problem. Two visualizations each run at different frame rate are streamed and displayed on the 3 by 3 tiled-display wall in Figure 7. The display node at the center [2,2] receives and displays two different streams simultaneously as shown in the right side of Figure 7. After the initial state at time t0, the next image fragments of each visualization (i+1 and j+1) are received at the display [2,2] while display [1,2] is still waiting for the next image fragment (i+1) of the visualization 1. The graphics swap buffer is needs at display [2,2] at time t1 regardless of the visualization 1’s state due to visualization 2’s higher frame rate. As a result, the image fragments of the visualization 1 at the display node [1,2] and [2,2] shows inconsistent image frames causing discrepancy in the visualization. Intuitively, one can solve this problem by enforcing each visualization synchronizes its image fragments before uploading them to the graphics memory at each display node. However, this approach is not scalable as the number of display nodes and the number of visualizations increases.
Ultra-high-resolution tiled-display walls are typically driven by a cluster of computers. Each computer may drive one or more displays. Synchronization between the computers is necessary to ensure that animated imagery displayed on the wall appears seamless. Most tiled-display middleware systems are designed around the assumption that only a single application instance is running in the tiled display at a time. Therefore synchronization can be achieved with a simple solution such as a networked barrier. When a tiled display has to support multiple applications at the same time, however, the simple networked barrier approach does not scale. In this paper we propose and experimentally validate two synchronization algorithms to achieve low-latency, inter-tile synchronization for multiple applications with independently varying frame rates. The two-phase algorithm is more generally applicable to various high resolution tiled display systems. The one-phase algorithm provides superior results but requires support for the Network Time Protocol and is more CPU-intensive.