The ViSUS Visualization Framework 409
FIGURE 19.7: Remote climate visualization with ViSUS. The ViSUS frame-
work providing a visualization for a temperature change ensemble simulation
for the Earth’s surface for the December 2009 climate summit meeting in
Copenhagen (left). A visualization of global cloud density for a more recent
climate simulation (right).
Web server and plug-in. ViSUS has been extended to support a client–
server model in addition to the traditional viewer. The ViSUS server can be
used as a standalone application or a web server plug-in module. The ViSUS
server uses HTTP (a stateless protocol) in order to support many clients.
A traditional client–server infrastructure, where the client established and
maintained a stable connection to the server, can only handle a limited number
of clients robustly. Using HTTP, the ViSUS server can scale to thousands of
connections. The ViSUS client keeps a number of connections (normally 48)
alive in a pool using the “keep-alive” option of HTTP. The use of lossy or
lossless compression is configurable by the user. For example, ViSUS supports
JPEG and EXR for lossy compression of byte and float data, respectively.
Because the ViSUS server is an open client–server architecture, it is therefore
possible to port the plug-in to any web server which supports a C++ module
(i.e., apache, IIS). The ViSUS client can be enabled to cache data to the
local memory or to a disk. In this way, a client can minimize transfer time by
referencing data already sent, as well as having the ability to work offline if
the server becomes unreachable. The ViSUS portable visualization framework
(Appkit) also has the ability to be compiled as a Google Chrome, Microsoft
Internet Explorer, or Mozilla Firefox web browser plug-in. This allows a ViSUS
framework based viewer to be easily integrated into web visualization portals.
Remote Climate Analysis and Visualization. The ViSUS software
framework has been used in the climate modeling community to visualize
climate change simulations comprised of many variables over a large num-
ber of timesteps. This type of data provides the opportunity to both build
high-quality data analysis routines and challenge the performance of the data
management infrastructure. Figure 19.7 shows ViSUS rendering 10TB of data
used by a finalist in the Data Transfer Challenge of Supercomputing 2009.
Initially, this work showed the possibility of transferring, transforming, ana-
lyzing, and rendering a large data set on geographically distributed computing
resources [1]. At the same time, this work was also used to introduce more