172 High Performance Visualization
9.5 In Situ Analytics Using Hybrid Staging ......................... 187
9.6 Data Exploration and In Situ Processing ....................... 189
9.6.1 In Situ Visualization by Proxy .......................... 190
9.6.2 In Situ Data Triage ..................................... 191
9.7 Conclusion ........................................................ 193
References .......................................................... 194
Traditionally, visualization is done via post-processing: a simulation produces
data, writes that data to disk, and then, later, a separate visualization program
reads the data from disk and operates on it. In situ processing refers to a
different approach: the data is processed while it is being produced by the
simulation, allowing visualization to occur without involving disk storage. As
recent supercomputing trends have simulations producing data at a much
faster rate than I/O bandwidth, in situ processing will likely play a bigger
and bigger role in visualizing data sets on the world’s largest machines.
The push towards commonplace in situ processing has a benefit besides
saving on I/O costs. Already, scientists must limit how much data they store
for later processing, potentially limiting their discoveries and the value of
their simulations. In situ processing, however, enables the processing of this
unexplored data.
This chapter describes the different approaches for in situ processing and
discusses their benefits and limitations.
9.1 Introduction
The terms used for in situ processing have not been used consistently
throughout the community. In this book, in situ processing refers to a
spectrum of processing techniques. The commonality between these tech-
niques is that they enable visualization and analysis techniques without the
significant—and increasing expensive—cost of I/O. On one end of the in situ
spectrum, referred to in this book as co-processing, visualization routines are
part of the simulation code, with direct access to the simulation’s memory. On
the other end of the in situ spectrum, referred to in this book as “concurrent
processing,” the visualization program runs separately on distinct resources,
with data transferred from the simulation to the visualization program via the
network. Hybrid methods combine these approaches: data is processed and re-
duced using direct access to the simulation’s memory (i.e., co-processing) and
then sent to a dedicated visualization resource for further processing (i.e.,
concurrent processing). Table 9.1 summarizes these methods.
For approaches that process data via direct access to the simulation’s mem-
ory (i.e., co-processing and hybrid approaches), another important considera-
tion is whether to use custom, tailored code, written for a specific simulation,
or whether to leverage existing, richly featured visualization software. Tai-