《PSEISASeismicProcessingArchitectureBlueprint》由会员分享,可在线阅读,更多相关《PSEISASeismicProcessingArchitectureBlueprint(19页珍藏版)》请在金锄头文库上搜索。
1、PSEIS, A Seismic ProcessingArchitecture BlueprintRSF/Madagascar School and Workshop:RSF/Madagascar School and Workshop:Reproducible Research in Reproducible Research in Computational GeophysicsComputational GeophysicsVancouver 2006Randall L. Selzler* RSelzler (at) Data-WRandall L. Selzler* RSelzler
2、(at) Data-WJoseph A. Dellinger Joseph.Dellinger (at) BP.comJoseph A. Dellinger Joseph.Dellinger (at) BP.comP Parallelarallel S Seismiceismic E Eartharth I Imagingmaging S SystemystemProposed Successor for DDSPronounced “P-Size”.Architecture Blueprint Review and amend Guide implementationAmbitious Go
3、alsOpen Source PhilosophyOpen Source Seismic SoftwareWhat is the Prize?1. Technical superiority2. Freedom to innovateSelf sufficientMinimize vendor lock-in3. Vibrant communityEnd-users, developers, maintainersEnthusiastic participants4.Wide acceptanceAmortize costsPortable skillsTalent poolFoster co
4、llaborationTechnology transferThis Workshop Share knowledge Explore ideas Foster relationsEssential forReproducibleResearchPSEIS versus DDSFix the Bad Easier for end-users and developers! Cleaner Implementation of DDS conceptsKeep the Good Interoperation Emulation Flexible (research convenience) Eff
5、icient (production processing) Applications Open source PortablePhilosophy: Data handling is fundamental.Get it right and other issues will fall into place.(Get it wrong and the system is doomed to mediocrity.) New CapabilitiesMaximize total valueHow to Make It “Easier”Easier for end-user and applic
6、ation developers.Easier for end-user and application developers.Lower the Goals Only attempt the simple Data cube, no headers Fixed dimension count Time series centric Ignore other systems Serial processing only Research agendaRisks Shifted burden Fragmented solutions Duplicate effort Less easy over
7、alllRaise the Effort Invest in the infrastructureConsider the big picture!No magic bulletChoiceHow to Make It “Easier”Easier for end-user and application developers.Easier for end-user and application developers.Raise the Effort Invest in the infrastructure Organizations and individuals Open source,
8、 peer review Emphasis on usability Object Oriented TechnologyRewards Maximize total value People productivity Interoperation Emulation Software reuse Hardware utilization Wide acceptance Amortize costs Foster collaboration Technology transfer Portable skills Talent poolNew and Used ApplicationsPSEIS
9、ApplicationGeneric WriteGeneric ReadDisk TapeNon-PSEIS ApplicationNon-PSEIS ApplicationDisk TapeAny PSEISSupportedFormatNon-PSEISApplicationAPI EmulationGeneric I/OPSEISApplicationGeneric I/OAPI EmulationForeignFormatForeign LibraryLeverage Existing Software Via format and API emulation “Missing Lin
10、k” in system evolutionDDS, USP, SU, RSF, NewInteroperationEmulationNew CapabilitiesIntegrated Parallel Programming Easier than MPI Distributed memory Efficient and scalableDictionary Tree Organize meta-data Convenient and flexiblePart 2I/O Enhancements Sliced datasets Split I/O records “Header” maps
11、Dual User Interface Script (power users) GUI (casual user)Programming Language Fortran (legacy) C (legacy, internals, glue) Java (modernization)PosterSliced DatasetsData handling is fundamentalData handling is fundamentalFile2File1File0TXWDictionaryBinaryaxis= x wfile=Multiple dictionaries (views) F
12、ree merge or distributeOne dictionary + N binariesOne dictionary + One binaryView 1axis=xNewView 3axis=xView 2axis=xW1W2WNParallel I/O, capacity managementEdit On-the-FlyData handling is fundamentalData handling is fundamentalFile0TXWDictionaryBinaryaxis= x w. . .order= w -xfile=NewLogical SortsLimi
13、t RangeDecimate InputSplit I/O RecordsData handling is fundamentalData handling is fundamentalSamplesHeadersTXYDictionaryBinarysplit=data=Headers only (sort, stats, fold, edit, display, )Read and write composite tracesProcess and reattach headersSamples only (transforms, )NewSEPLib and RSFApplicatio
14、ns“Header” Map EnhancementsVector Arithmetic for Fields Expression based (+, -, *, /, ) All fields are created equal Sample vector is a “header”!Popular Functions Scalar and vector versions Math, trig, statistics, 1D Processing On-The-Fly Read and write I/O routines Format mapping routinesDDS onlysu
15、pports scalars,not vectorsExample Maps:samples= 10 * abs(samples)max_idx= imax(samples) + 1I/O System Integration!Data Handling is Fundamental Uniformly available to ALL applications Not restricted to the specialized Supports random access Unlike pipe and filter sequencesSmart I/O Benefits Maximum s
16、oftware reuse Implementation compatibility Minimize bandwidth and peak storage Guided by end-user knowledgeGeneric Formats and Maps Key to interoperation and emulation Maximize total valueInformation exchangeamong applicationsregardless of pedigreeSmart I/OSmart I/O = generic formats+ “header” maps
17、+ emulation+ random access + parallel I/O+ sliced datasets + record splits+ logical merge + on-the-fly sort+ input ranges + 1D processing+ ?Beyond the I/O SystemI/O Enhancements Sliced datasets Split I/O records “Header” mapsDual User Interface Script (power users) GUI (casual user)Programming Langu
18、age Fortran (legacy) C (legacy, internals, glue) Java (modernization)User InterfaceNewPower UsersOther UsersFavorite EditorGUI BuilderJob ScriptsBatchInteractiveData Display and PlottersLog Filters and ViewersDatasetsPrint LogsGuidedProcessingFlexibleConvenientGUI Job BuilderGUI builders and Job bui
19、lders are both forms of high-level programming Dont reinvent, leverage existing open source (Eclipse, NetBeans)GUI Display Builder Canvas: Drag-n-drop widgets onto visual screen layout in a logical groups Bean Menu: Push buttons, , Sliders, Dialog boxes, Property Pop-ups: Color, Size, Position, Labe
20、ls, 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
21、edit AGC, Stack, Migrate, Property Pop-ups: Trace ranges, Frequency limits, Angles, Relations: Parallel distribution, Input/Output connectors, Management: same. Help: same Implementation: sameNewAnalogyX-Window Widget Java BeanLanguage StrategyJavaFortranCSystem InternalsApplicationsLegacy softwarea
22、nd skillsFuture directionof technologyFoundationfor transitionshellsJythonPSEIS Architecture SummarySuccessor 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
23、, C and JavaSoliciting Support and Participation Finalize design Implement IntegrateMaximize Total Value Embrace diversity Collaboration Technology transfer “Missing Link” for evolutionNext Parallel programmingAcknowledgementMany 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, ConocoPhillipsThanks are also due BP for releasing DDSas Open Source Software and for permissionto publish this work.