Hardware Reference
In-Depth Information
Chapter 21
Silo: A General-Purpose API and
Scientific Database
Mark Miller
Lawrence Livermore National Laboratory
21.1
Canonical Use Case: ALE3D Restart and VisIt Visualization
Workow ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 250
21.2
Software, Hardware, and Performance ::::::::::::::::::::::::::: 251
21.3
MIF and SSF Scalable I/O Paradigms :::::::::::::::::::::::::: 252
21.4
Successes with HDF5 as Middleware :::::::::::::::::::::::::::: 256
21.5
Conclusion :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 257
Bibliography :::::::::::::::::::::::::::::::::::::::::::::::::::::: 258
This chapter presents results and lessons learned in developing and using
Silo [4]. Silo is neither an application nor an application-specific I/O frame-
work or library. Instead, Silo is a general-purpose application programming
interface (API) and I/O library for reading and writing a variety of scientific
computing data objects to HDF5 files.
Silo supports several mesh types including gridless, structured, unstruc-
tured, arbitrary, adaptive (AMR), and solid model (CSG) meshes. It supports
piecewise-constant and piecewise-linear variables (e.g., fields) defined on the
node, edge, face, or volume elements of such meshes as well as the decomposi-
tion of meshes into subsets including boundaries, materials, and part assem-
blies.
Although Silo is a serial library, key features enable it to be applied effec-
tively and scalably in parallel.
There is no specic science application to motivate Silo's development or
use. Silo was developed to address a fundamental software engineering chal-
lenge. That is, to spur the development of common tools by enabling storage,
sharing and exchange of data among diverse scientific computing applications
through a common API and database.
This chapter illustrates the use of Silo by describing a canonical use case.
The chapter will use as examples the ALE3D multi-physics simulation, the
VisIt visualization application, the Lustre file system, and the way Silo is
used to store and exchange data between these components.
249
 
Search WWH ::




Custom Search