200 likes | 266 Views
PSEIS, A Seismic Processing Architecture Blueprint. RSF/Madagascar School and Workshop: Reproducible Research in Computational Geophysics Vancouver 2006 Randall L. Selzler* RSelzler (at) Data-Warp.com Joseph A. Dellinger Joseph.Dellinger (at) BP.com.
E N D
PSEIS, A Seismic ProcessingArchitecture Blueprint RSF/Madagascar School and Workshop: Reproducible Research in Computational Geophysics Vancouver 2006 Randall L. Selzler* RSelzler (at) Data-Warp.com Joseph A. Dellinger Joseph.Dellinger (at) BP.com
ParallelSeismicEarthImagingSystem Proposed Successor for DDS • Architecture Blueprint • Review and amend • Guide implementation Ambitious Goals Open Source Philosophy Pronounced “P-Size”. DDS, A Seismic Processing Architecture
Open Source Seismic Software • What is the Prize? • Technical superiority • Freedom to innovate • Self sufficient • Minimize vendor lock-in • Vibrant community • End-users, developers, maintainers • Enthusiastic participants • Wide acceptance • Amortize costs • Portable skills • Talent pool • Foster collaboration • Technology transfer Essential forReproducibleResearch • This Workshop… • Share knowledge • Explore ideas • Foster relations DDS, A Seismic Processing Architecture
PSEIS versus DDS • Keep the Good • Interoperation • Emulation • Flexible (research convenience) • Efficient (production processing) • Applications • Open source • Portable New Capabilities… Maximize total value Philosophy: Data handling is fundamental.Get it right and other issues will fall into place.(Get it wrong and the system is doomed to mediocrity.) • Fix the Bad • Easier for end-users and developers! • Cleaner Implementation of DDS concepts DDS, A Seismic Processing Architecture
How to Make It “Easier”Easier for end-user and application developers. • Lower the GoalsOnly attempt the simple • Data cube, no headers • Fixed dimension count • Time series centric • Ignore other systems • Serial processing only • Research agenda • Risks… • Shifted burden • Fragmented solutions • Duplicate effort • Less easy overalll Raise the EffortInvest in the infrastructure Choice No magic bullet Consider the big picture! DDS, A Seismic Processing Architecture
How to Make It “Easier”Easier for end-user and application developers. • Raise the EffortInvest in the infrastructure • Organizations and individuals • Open source, peer review • Emphasis on usability • Object Oriented Technology • Rewards… • Maximize total value People productivity Interoperation Emulation Software reuse Hardware utilization • Wide acceptance Amortize costs Foster collaboration Technology transfer Portable skills Talent pool DDS, A Seismic Processing Architecture
Non-PSEIS Application Disk FilePipe/SocketTape Disk FilePipe/SocketTape Non-PSEISApplication PSEISApplication Generic Read PSEISApplication API Emulation Generic I/O Generic I/O API Emulation Generic Write Foreign Library Any PSEISSupported Format Non-PSEIS Application Foreign Format New and Used Applications • Leverage Existing Software • Via format and API emulation • “Missing Link” in system evolution DDS, USP, SU, RSF, … New Interoperation Emulation DDS, A Seismic Processing Architecture
New Capabilities Part 2 • Integrated Parallel Programming • Easier than MPI • Distributed memory • Efficient and scalable Poster • Dictionary Tree • Organize meta-data • Convenient and flexible • I/O Enhancements • Sliced datasets • Split I/O records • “Header” maps • Dual User Interface • Script (power users) • GUI (casual user) • Programming Language • Fortran (legacy) • C (legacy, internals, glue) • Java (modernization) DDS, A Seismic Processing Architecture
Sliced DatasetsData handling is fundamental… New One dictionary + One binary W One dictionary + N binaries Parallel I/O, capacity management X Multiple dictionaries (views) Free merge or distribute … T Dictionary View 1axis=x W1 axis= x w File[2] View 2axis=x File[1] W2 File[0] file=… View 3axis=x WN Binary DDS, A Seismic Processing Architecture
Edit On-the-FlyData handling is fundamental… New Logical Sorts W X Limit Range Decimate Input T Dictionary axis=x w . . . order= w -x File[0] file=… Binary DDS, A Seismic Processing Architecture
Split I/O RecordsData handling is fundamental… New Read and write composite traces Y Headers only (sort, stats, fold, edit, display, …) Samples only (transforms, …) X Process and reattach headers T SEPLib and RSFApplications Dictionary Samples split=… Headers data=… Binary DDS, A Seismic Processing Architecture
“Header” Map Enhancements DDS onlysupports scalars,not vectors • Vector Arithmetic for Fields • Expression based (+, -, *, /, …) • All fields are created equal Sample vector is a “header”! • Popular Functions • Scalar and vector versions • Math, trig, statistics, … Example Maps: samples= 10 * abs(samples) max_idx= imax(samples) + 1 • 1D Processing On-The-Fly • Read and write I/O routines • Format mapping routines DDS, A Seismic Processing Architecture
I/O System Integration! • Data Handling is Fundamental • Uniformly available to ALL applications Not restricted to the specialized • Supports random access Unlike pipe and filter sequences • Smart I/O Benefits • Maximum software reuse • Implementation compatibility • Minimize bandwidth and peak storage • Guided by end-user knowledge • Generic Formats and Maps • Key to interoperation and emulation • Maximize total value Information exchangeamong applicationsregardless of pedigree Smart I/O Smart I/O =generic formats+ “header” maps + emulation + random access + parallel I/O+ sliced datasets + record splits+ logical merge + on-the-fly sort+ input ranges + 1D processing+ ??? DDS, A Seismic Processing Architecture
Beyond the I/O System • I/O Enhancements • Sliced datasets • Split I/O records • “Header” maps • Dual User Interface • Script (power users) • GUI (casual user) • Programming Language • Fortran (legacy) • C (legacy, internals, glue) • Java (modernization) DDS, A Seismic Processing Architecture
Job Scripts Print Logs Datasets User Interface New Power Users Other Users Favorite Editor GUI Builder Convenient Flexible Interactive Batch Processing Guided Data Display and Plotters Log Filters and Viewers DDS, A Seismic Processing Architecture
GUI Job Builder New • GUI builders and Job builders are both forms of high-level programming • Don’t reinvent, leverage existing open source (Eclipse, NetBeans) Analogy • GUI Display Builder • Canvas: Drag-n-drop widgets onto visual screen layout in a logical groups • Bean Menu: Push buttons, File selectors, Sliders, Dialog boxes, … • Property Pop-ups: Color, Size, Position, Labels, Limits, … • Relations: Widget groups, Pop-ups, Selected disabling, … • Management: Setup name, Canned macros, Save-Restore-Copy-Delete, … • Help: F12, Search boxes, Context sensitive, Roll-over, … • Implementation: Java Beans, Adaptors, Setup scripts, … • GUI Job Builder • Canvas: same… • Bean Menu: Filter, Mute, Trace edit AGC, Stack, Migrate, … • Property Pop-ups: Trace ranges, Frequency limits, Angles, … • Relations: Parallel distribution, Input/Output connectors, … • Management: same... • Help: same… • Implementation: same… X-Window Widget ≈ Java Bean DDS, A Seismic Processing Architecture
Applications Java System Internals Language Strategy Future directionof technology Legacy softwareand skills shells Jython Fortran C Foundationfor transition DDS, A Seismic Processing Architecture
PSEIS Architecture Summary • Next • Parallel programming • Successor to DDS • Keep the good, fix the bad, plus new ideas • Superior functionality, robustness, usability • Interoperation and emulation • Script and GUI • Research convenience • Production efficiency • Fortran, C and Java • Maximize Total Value • Embrace diversity • Collaboration • Technology transfer • “Missing Link” for evolution • Soliciting Support and Participation • Finalize design • Implement • Integrate DDS, A Seismic Processing Architecture
Acknowledgement • Many people have contributed to and supported DDS and PSEIS. • The following deserve special thanks: • Joe Dellinger, BP • John Etgen, BP • Jerry Ehlers, BP • Jin Lee, BP • Kurt Marfurt, University of Houston • Dan Whitmore, ConocoPhillips • Thanks are also due BP for releasing DDSas Open Source Software and for permissionto publish this work. DDS, A Seismic Processing Architecture