Distributed Pipeline Programming for Mosaics Or Mario Tips’N’Tricks.

Slides:



Advertisements
Similar presentations
Data Quality and Related Issues – A Discussion Dave De Young NOAO.
Advertisements

C Language.
ADASS XVII Sep 2007The NOAO Pipeline Applications Francisco Valdes (NOAO) Robert Swaters (UMd) Derec Scott (NOAO) Mark Dickinson (NOAO)
Introduction CSCI 444/544 Operating Systems Fall 2008.
Dr. Zahid Anwar. Simplified Architecture of Linux Cluster Simplified Architecture of a Single Computer Simplified architecture of an enterprise cluster.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
Guide To UNIX Using Linux Third Edition
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Virtualization Infrastructure Administration Cluster Jakub Yaghob.
CSE 341, S. Tanimoto Concepts 1- 1 Programming Language Concepts Formal Syntax Paradigms Data Types Polymorphism.
Welcome In The World Of ‘C’.  TEXT BOOK: Programming in ANCI ‘C By: E Balagurusamy. TMH  Reference Books: 1) The ‘C Programming Language By: Kernighan.
1 LiveViz – What is it? Charm++ library Visualization tool Inspect your program’s current state Client runs on any machine (java) You code the image generation.
MapReduce.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
L/O/G/O Metadata Business Intelligence Erwin Moeyaert.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
1 The Map-Reduce Framework Compiled by Mark Silberstein, using slides from Dan Weld’s class at U. Washington, Yaniv Carmeli and some other.
111 EMC CONFIDENTIAL—INTERNAL USE ONLY NMC -- NW Administration NMC Team NetWorker 7.3 TOI July 28, 2005.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
CHEN Ge CSIS, HKU March 9, Jigsaw W3C’s Java Web Server.
Introduction to Apache OODT Yang Li Mar 9, What is OODT Object Oriented Data Technology Science data management Archiving Systems that span scientific.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Chapter 10: File-System.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Dynamic Resource Monitoring and Allocation in a virtualized environment.
ISetup – A Guide/Benefit for the Functional User! Mohan Iyer January 17 th, 2008.
Using the NSA Presentation to NOAO Users Committee October 5, 2005.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
1 4/23/2007 Introduction to Grid computing Sunil Avutu Graduate Student Dept.of Computer Science.
Adaptable Consistency Control for Distributed File Systems Simon Cuce Monash University Dept. of Computer Science and Software.
@ 2008 Copyright NIC I Do not distribute without permission E-Services for Transforming to the Next Generation Government “A Case Study of India” Suchitra.
December 16, NOAO Mosaic Pipeline CoDR NOAO Mosaic Pipeline Technical Presentation.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
CLASS Information Management Presented at NOAATECH Conference 2006 Presented by Pat Schafer (CLASS-WV Development Lead)
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
From Digital Objects to Content across eInfrastructures Content and Storage Management in gCube Pasquale Pagano CNR –ISTI on behalf of Heiko Schuldt Dept.
Image Builder Design Tao Qian UIUC April 10, 2007.
Lesson 2: association Lesson 2: Association Lesson 1: dfos - vision and architecture Directory structure Installation Tips and tricks Lesson 3: Operations.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Overview of AIMS Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green:
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
Ray Plante for the DES Collaboration BIRP Meeting August 12, 2004 Tucson Fermilab, U Illinois, U Chicago, LBNL, CTIO/NOAO DES Data Management Ray Plante.
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
- GMA Athena (24mar03 - CHEP La Jolla, CA) GMA Instrumentation of the Athena Framework using NetLogger Dan Gunter, Wim Lavrijsen,
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
Parallel IO for Cluster Computing Tran, Van Hoai.
Sponsored by the National Science Foundation 1 March 15, 2011 GENI I&M Update: I&M Service Types, Arrangements, Assembling Goals Architecture Overview.
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
EVLA Data Processing PDR Pipeline design Tim Cornwell, NRAO.
Developing GRID Applications GRACE Project
September 2003, 7 th EDG Conference, Heidelberg – Roberta Faggian, CERN/IT CERN – European Organization for Nuclear Research The GRACE Project GRid enabled.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Data Grids, Digital Libraries and Persistent Archives: An Integrated Approach to Publishing, Sharing and Archiving Data. Written By: R. Moore, A. Rajasekar,
From LSE-30: Observatory System Spec.
Distributed System 電機四 陳伯翰 b
Key Terms Windows 2008 Network Infrastructure Confiuguration Lesson 6
Welcome In The World Of ‘C’.  TEXT BOOK: Programming in ANSI ‘C By: E Balagurusamy. TMH  Reference Books: 1) The ‘C Programming Language By: Kernighan.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Overview of Workflows: Why Use Them?
Presentation transcript:

Distributed Pipeline Programming for Mosaics Or Mario Tips’N’Tricks

NOAO Mosaic Pipeline

Major Features and Goals Data products for NOAO archive and NVO node Data products for NOAO archive and NVO node Data products for observers Data products for observers Pipeline for NOAO and mosaic community Pipeline for NOAO and mosaic community Basic CCD mosaic calibrations Basic CCD mosaic calibrations Advanced time-domain data products Advanced time-domain data products Real-time data quality assessment and monitoring Real-time data quality assessment and monitoring High performance, data parallel system High performance, data parallel system LSST testbed LSST testbed Fairly generic pipeline infrastructure (NEWFIRM, …) Fairly generic pipeline infrastructure (NEWFIRM, …) Automated operation Automated operation Thorough processing history and data documentation Thorough processing history and data documentation

MARIO Mosaic Automatic Reduction Infrastructure and Operations (i.e. a pipeline)

Key Concepts (Tips’N’Tricks) sub-pipelines - “meta pipeline programming” sub-pipelines - “meta pipeline programming” indirect files indirect files load balancing using trigger files load balancing using trigger files stay-alive module stay-alive module parallelization of algorithms over mosaic parallelization of algorithms over mosaic shared monitoring shared monitoring network filenames network filenames image processing language (CL) image processing language (CL)

What is a pipeline? collection of processing modules collection of processing modules connected by dependency rules connected by dependency rules modules may run concurrently on different data objects modules may run concurrently on different data objects Infrastructure to manage processes Infrastructure to manage processes Infrastructure to manage dependencies Infrastructure to manage dependencies Infrastructure to monitor processes and processing Infrastructure to monitor processes and processing

OPUS Operations Pipeline Unified System

Opus Triggers (dependency rules) Triggers (dependency rules) file, osf, time file, osf, time Blackboard Blackboard Polling Polling Monitors and Managers Monitors and Managers

Distributed Pipeline Issues data vs. functional parallelism data vs. functional parallelism shared file system vs. local file system shared file system vs. local file system heterogeneous vs. homogenous processors heterogeneous vs. homogenous processors parasitic processing parasitic processing push vs. pull push vs. pull load balancing load balancing master-worker vs. peer-to-peer master-worker vs. peer-to-peer

MARIO Choices data parallelism data parallelism local file system (w/ shared blackboard) local file system (w/ shared blackboard) heterogeneous processors heterogeneous processors push AND pull push AND pull load balancing by number of data objects load balancing by number of data objects peer-to-peer peer-to-peer

MARIO Architecture Concept Multiple CPUs but no dependency on N Multiple CPUs but no dependency on N Multiple types of sub-pipelines by function Multiple types of sub-pipelines by function One for operations over all mosaic elements One for operations over all mosaic elements One for operations on individual elements One for operations on individual elements One for cataloging One for cataloging One for image differencing One for image differencing All types on all CPUs: no master! All types on all CPUs: no master! Sub-pipelines triggered by files Sub-pipelines triggered by files

“Meta Pipeline Programming” Build a pipeline out of sub-pipelines Build a pipeline out of sub-pipelines Form a distributed web of sub-pipelines Form a distributed web of sub-pipelines Sub-pipelines play role of subroutines Sub-pipelines play role of subroutines Need equivalents of: Need equivalents of: objects objects call and return call and return node assignment node assignment library of standard modules library of standard modules start, call, return, done, obs, run start, call, return, done, obs, run

What is a sub-pipeline primarily operates on one type of object primarily operates on one type of object operates on one node operates on one node data is maintained locally data is maintained locally multiple stages but limited functionality multiple stages but limited functionality

Example of Sub-pipelines NGT CAL SCL MEF SIF DTS multiextensionsingle images

Sub-pipelines NGT: Nights worth of data NGT: Nights worth of data Group, Zero, Dome Flat, Objects, Done Group, Zero, Dome Flat, Objects, Done CAL: Calibration sequence (MEF) CAL: Calibration sequence (MEF) Setup, Split, Done Setup, Split, Done SCL: Calibration sequence (SIF) SCL: Calibration sequence (SIF) Setup, CCDPROC, Combine, Done Setup, CCDPROC, Combine, Done MEF: Process objects (MEF) MEF: Process objects (MEF) Setup, Split, Done Setup, Split, Done SIF: Process objects (SIF) SIF: Process objects (SIF) Setup, CCDPROC, Done Setup, CCDPROC, Done

Network of Sub-pipelines and CPUs Pipeline CPU MEF SIF MEF SIF MEF CPU SIF MEF SIF MEF SIF MEF: pipeline for operations over all mosaic extensions; eg crosstalk, global WCS correction SIF: pipeline for single CCD images; eg ccdproc, masking

Example Processing Status OBJECT NAME PIPELINE NODE STAGES anight1 ngt dhcp cccw_ ct4m T183424S cal dhcp cccd_ ct4m T183424S_01 scl archive2 ccccd ct4m T183424S_02 scl dhcp ccccd ct4m T183424S_03 scl archive2 ccccd ct4m T183424S_04 scl dhcp ccccd ct4m T191558S cal dhcp cccd_ ct4m T191558S_01 scl archive2 ccccd ct4m T191558S_02 scl vmware ccccd ct4m T191558S_03 scl archive2 ccccd ct4m T191558S_04 scl dhcp ccccd ct4m T mef dhcp ccw__ ct4m T084044_01 sif archive2 ccd__ ct4m T084044_02 sif archive2 cp___ ct4m T084044_03 sif vmware p____ ct4m T084044_04 sif archive2 _____ ct4m T mef dhcp cccd_ ct4m T084307_01 sif archive2 ccd__ ct4m T084307_02 sif vmware ccd__ ct4m T084307_03 sif archive2 ccd__ ct4m T084307_04 sif archive2 ccd__

Calling a Sub-pipeline Data is setup either locally or on target node Data is setup either locally or on target node File with path for returned result written to target pipeline File with path for returned result written to target pipeline File with paths of returned results written in calling pipeline File with paths of returned results written in calling pipeline Trigger file written to target pipeline Trigger file written to target pipeline

Returning Results Return module in target pipeline looks for return file Return module in target pipeline looks for return file Results are written to trigger file for calling pipeline specified in the return file Results are written to trigger file for calling pipeline specified in the return file Calling pipeline triggers on return file Calling pipeline triggers on return file

Call/Return A -> H N !B/data/abc N (derived from abc) A -> H N !B/return/abc N [H!A/abc N.btrig] A -> H!A/abc.b [abc 1.btrig,abc 2.btrig,…] A -> H N !B/abc N.btrig [H N !B/data/abc N ] H N !B -> H!A/abc N.btrig [results] return checks H!A/abc.b for all done

Indirect Files anight1.ngttrig:anight1.list: Distribute data files across a network Distribute data files across a network Move references and only move data as needed Move references and only move data as needed Pipeline objects: standard form, variable content Pipeline objects: standard form, variable content Act as triggers and meta-data containers Act as triggers and meta-data containers

Pipeline Data Directory Trigger Directory Module obj123.fitsobj123.trig GO File Triggers Contains reference to data Data Trigger (DRA, user, or pipeline module) Tape Disk DTS Process

Data Flow Networking: Example Host0: Crosstalk Host1: Obj456.1 Obj321.2 Host2: Obj567.2 Host3: Obj123 Obj123.2 Obj123.1 Host3!Obj123.1 Host2!Obj123.2 Host4: DOWN

Data Parallel Modules Some algorithms may need to be re-implemented specifically for a data parallel pipeline. One type is where measurements are made across the mosaic for a global calibration. Rather than requiring all pieces to be in one pipeline arrange for measurements made in parallel to be collected for the global calibration and then apply the global calibration to the pieces in parallel.