Parallel Array Presentation (PowerPoint)
JavaSeis is first and foremost designed to support parallel I/O for large scale parallel seismic applications. Many other I/O schemes for seismic data exist already, but none of them directly support parallel I/O and computation. What most people end up doing is:
- read serially from a standard format
- create temporary structures in memory and disk
- do the parallel work
- write data back in serial fashion to a standard format
JavaSeis aims to provide a framework (in the true object oriented sense) for parallel I/O and computation, with standardized formats for disk files that can be used directly in commercial processing and interpretation packages without the need for re-formatting.
The design for JavaSeis I/O starts from the needs for parallel computing. See the Leading Edge of Geophysics articles:
Mosher, C. C., Joyner, C. L. and Hassanzadeh, S., 1996, Scalable parallel seismic processing: The Leading Edge, 15, no. 12, 1363-1366. (PDF)
Hassanzadeh, S. and Mosher, C. C., 1996, Java: Object-oriented programming for the Cyber age: The Leading Edge, 15, no. 12, 1379-1381. (PDF)
for details on the parallel data flows that JavaSeis is designed to support. The first design for JavaSeis dates back to a 1997 SEG meeting abstract and demo:
JavaSeis: Web delivery of seismic processing services: Siamak Hassanzadeh and Charles C. Mosher, SEG Expanded Abstracts 16, 2055 (1997) (PDF)
The current JavaSeis design starts with these concepts, and uses a number of new features in the Java language (Java 5.0) that make it possible to support a “pure Java” implementation of parallel I/O for pre-stack seismic data.