UTAM Reproducible Research Package and C++ Seismic Library Samuel Brown November 5, 2008.

Slides:



Advertisements
Similar presentations
Institute of Computer Science AGH Towards Multilanguage and Multiprotocol Interoperability: Experiments with Babel and RMIX Maciej Malawski, Daniel Harężlak,
Advertisements

Weather Research & Forecasting: A General Overview
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
The road to reliable, autonomous distributed systems
Summary Role of Software (1 slide) ARCS Software Architecture (4 slides) SNS -- Caltech Interactions (3 slides)
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Software Version Control SubVersion software version control system WebSVN graphical interface o View version history logs o Browse directory structure.
I/O Optimization for ENZO Cosmology Simulation Using MPI-IO Jianwei Li12/06/2001.
Reasons to study concepts of PL
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Chapter 13 Embedded Systems
Programming Languages Structure
Emergy Berger, Calvin Lin, Samuel Z. Guyer CSE 231 Presentation by Jennifer Grau.
GLOMAR  Aims - Provides adaptive consistency control for mobile enabled file systems  Abstracting consistency control into a component architecture 
1 ParaView Current Architecture and History Current Architecture and History Issues with the Current Design Issues with the Current Design.
The hybird approach to programming clusters of multi-core architetures.
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Composite Design Pattern. Motivation – Dynamic Structure.
ADLB Update Recent and Current Adventures with the Asynchronous Dynamic Load Balancing Library Rusty Lusk Mathematics and Computer Science Division Argonne.
SSI-OSCAR A Single System Image for OSCAR Clusters Geoffroy Vallée INRIA – PARIS project team COSET-1 June 26th, 2004.
Introduction to Version Control with SVN & Git CSC/ECE 517, Fall 2012 Titus Barik & Ed Gehringer, with help from Gaurav.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
UTAM REPRODUCIBLE RESEARCH AND C++ LIBRARIES Samuel Brown – February 6, 2009.
Progress in Multi-platform Software Deployment (Linux and Windows) Tim Kwiatkowski Welcome Consortium Members November 29,
AUTOBUILD Build and Deployment Automation Solution.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Architecting Web Services Unit – II – PART - III.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
:: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :: GridKA School 2009 MPI on Grids 1 MPI On Grids September 3 rd, GridKA School 2009.
AE6382 Secure Shell Usually referred to as ssh, the name refers to both a program and a protocol. The program ssh is one of the most useful networking.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
MotoHawk™ Components Scalable, Secure, Model-Based Design of Embedded Systems.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
NA-MIC National Alliance for Medical Image Computing ParaView Server Manager Berk Geveci Andy Cedilnik.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Improving I/O with Compiler-Supported Parallelism Why Should We Care About I/O? Disk access speeds are much slower than processor and memory access speeds.
Development of a Distributed MATLAB Environment with Real-Time Data Visualization Authors: Joseph Diamond, Richard McEver Affiliation: Dr. Jian Huang,
UNIX and Shell Programming
ATmospheric, Meteorological, and Environmental Technologies RAMS Parallel Processing Techniques.
NA61/NA49 virtualisation: status and plans Dag Toppe Larsen CERN
1 MotoHawk Components Scalable, Secure, Model-Based Design of Embedded Systems MotoHawk Training.
Domain Decomposition in High-Level Parallelizaton of PDE codes Xing Cai University of Oslo.
Firmware - 1 CMS Upgrade Workshop October SLHC CMS Firmware SLHC CMS Firmware Organization, Validation, and Commissioning M. Schulte, University.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
Getting Started with SIDL using the ANL SIDL Environment (ASE) ANL SIDL Team MCS Division, ANL April 2003 The ANL SIDL compilers are based on the Scientific.
CSCC69: Operating Systems Tutorial 10. Hints on testing Assignment 3 How to test tlb replacement algorithms? – Write a program that creates an array larger.
Motivation FACE architecture encourages modularity of components on data boundaries Transport Services Segment interface is centered on sending and receiving.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
5/7/2007CoreMcClug/SELinux 1 By: Corey McClurg. Outline A History of SELinux What is SELinux and how do I get it? Getting Started Mandatory Access Control.
Motivation: dynamic apps Rocket center applications: –exhibit irregular structure, dynamic behavior, and need adaptive control strategies. Geometries are.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Using ROSSMANN to Run GOSET Studies Omar Laldin ( using materials from Jonathan Crider, Harish Suryanarayana ) Feb. 3, 2014.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
TUF: Secure Software Updates Justin Cappos NYU Poly Computer Science and Engineering.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
SOFTWARE DESIGN AND ARCHITECTURE
CASE STUDY 1: Linux and Android
Architecture & System Overview
Abstract Machine Layer Research in VGrADS
Chapter 3: Windows7 Part 4.
SELinux (Security Enhanced Linux)
What's New in eCognition 9
What's New in eCognition 9
Presentation transcript:

UTAM Reproducible Research Package and C++ Seismic Library Samuel Brown November 5, 2008

Outline

URRP Motivation Create a centralized, version-controlled, software release with regression tests, promoting code reuse by students and sponsors. Provide the ability to reproduce results from all UTAM reports in a uniform and comprehensible manner.

URRP Distribution URRP is available through a secure subversion repository. Reproducible scripts have an interface for downloading images and intermediate results through sftp.

Firewall? No svn, no sftp? Compressed repository snapshots for annual and midyear releases will be available on the UTAM website. Compressed images and intermediate results reside in a directory tree on the UTAM website, which mirrors the URRP reports directory.

Source Code/Compilation bash and csh scripts for environment setup. Top-level SConstruct file with autoconf functionality for C/C++/F90 programs. Matlab library.

Reproducibility Report directories contain: paper.tex – latex report run.py - python script other scripts, directories, etc.

run.py run.py: uniform interface for reproducing results python only, does not use scons imperative, not declarative generates and runs shell scripts interactively simple mechanisms for downloading data and controlling computation with sources and targets can interface with PBS

run.py run.py consists of a number of individual processes A ‘process’ is a call to the URRP python function process( ) 1 process for downloading images 1 process for compiling latex paper 1 or more processed for reproducing results or downloading intermediate results

A Simple Process Process( cmds=[’matlab –nosplash –nodisplay < xcorr.m’] )

A More Involved Process Process( cmds=[‘ ucsl_fdac par=mod1.par’], sources=[ ‘vp.rsf’, ‘recv_coord.txt’], targets=[ ‘csg1.su’], docmds=1, wdir=‘./csgs’, bdir=‘./batch’, sdir=‘./mod’, pbs=1, nodes=4, ppn=2, walltime=0:30:00 )

Outline

UCSL Motivation Provide library for rapid development of flexible, robust, high-performance research codes. Find an appropriate balance between imperative and object-oriented programming. Provide a high level of abstraction to enable performance and flexibility, ie task-specific file objects with optional MPI I/O.

Applications Development initially driven by: Flexible 2D/3D modeling/RTM. Ray tracing and interferometric imaging of earthquake data.

Forward Modeling – PML Problem: When implementing PMLs, there are up to 26 regions requiring a different combination of fields/damping. To get the best result, all valid regions should be implemented, with full ghost region communication. For simplicity and performance in the FD kernel, PML regions should reside in separate volumes. This greatly complicates domain decomposition and communications.

cart_decomp C++ domain decomposition object. Computes balanced domain decomposition distributed along any combination of axes using a boundary condition cost function. Uses MPI topologies. Builds arrays of subdomain volumes for each PE. FD application only has to ask for as many volume arrays as are necessary for a given implementation.

cart_halo C++ ghost region communication object. Each subdomain group requiring ghost region communication creates a halo object. For 2 nd order time acoustic modeling, the subdomain group would be a 2 x nsubdomain volume array. cart_halo handles all communication between local and remote subdomains with two functions: start_update(int tslice, int half) finish_update() Ability to overlap communication and computation with option to split subdomains along the z axis.

Flexible Implementations Source and receiver groups are also abstracted as objects. Implementing a new parallel modeling code is simply a matter of: Providing kernels for interior and boundary regions. Providing a time-stepping loop. Writing a small amount of initialization code.