Philip M. Papadopoulos, James Arthur Kohl, B. David Semeraro

  • Authors:
  • P. M. Papadopoulos;J. A. Kohl;B. D. Semeraro

  • Affiliations:
  • -;-;-

  • Venue:
  • HICSS '98 Proceedings of the Thirty-First Annual Hawaii International Conference on System Sciences-Volume 7 - Volume 7
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

CUMULVS is a middleware library that provides application programmers with a simple API or describing viewable and steerable fields in large-scale distributed simulations. These descriptions provide the data type, a logical name of the field/parameter, and the mapping of global indices to local indices (processor and physical storage) for distributed data fields. The CUMULVS infrastructure uses these descriptions to allow an arbitrary number of front-end ``viewer'' programs to dynamically attach to a running simulation, select one or more fields for visualization, and update steerable variables. (Viewer programs can be built using commercial visualization software such as AVS or custom software based on GUI interface builders like Tcl/Tk.) Although these data field descriptions require a small effort on the part of the application programmer, the payoff is a high degree of flexibility for the infrastructure and end-user. This flexibility has allowed us to extend the infrastructure to include `application-directed'' checkpointing, where the application determines the essential state that must be saved for a restart. This has the advantage that checkpoints can be smaller and made portable across heterogeneous architectures using the semantic description information that can be included in the checkpoint file. Because many technical difficulties, such as efficient I/O handling and time-coherency of data, are shared between visualization and checkpointing, it is advantageous to leverage a checkpoint/restart system against a visualization/steering infrastructure. Also, because CUMULVS ``understands'' parallel data distributions, efficient parallel checkpointing is achievable with a minimal amount of effort on the programmer's part. However, application scientists must still determine what makes up the essential state needed for an application restart and provide the proper logic for restarting from a checkpoint versus normal startup. This paper will outline the structure and communication protocols used by CUMULVS for visualization and steering. We will develop the similarities and differences between user-directed checkpointing and CUMULVS-based visualization. Finally, these concepts will be illustrated using a large synthetic seismic at a set code.