University of Maryland The DPCL Hybrid Project James Waskiewicz.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Visual Scripting of XML
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Mi-Joung choi, Hong-Taek Ju, Hyun-Jun Cha, Sook-Hyang Kim and J
1/21/2008CSCI 315 Operating Systems Design1 Operating System Structures Notice: The slides for this lecture have been largely based on those accompanying.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Overview of Eclipse Parallel Tools Platform Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
ADLB Update Recent and Current Adventures with the Asynchronous Dynamic Load Balancing Library Rusty Lusk Mathematics and Computer Science Division Argonne.
Language Evaluation Criteria
CLEO’s User Centric Data Access System Christopher D. Jones Cornell University.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Silicon Graphics, Inc. Presented by: Open|SpeedShop ™ A Dyninst Based Performance Tool Overview & Status Jim Galarowicz Manager - SGI Tools group Bill.
OpenMP in a Heterogeneous World Ayodunni Aribuki Advisor: Dr. Barbara Chapman HPCTools Group University of Houston.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
AUTOBUILD Build and Deployment Automation Solution.
Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
University of Maryland The New Dyninst Event Model James Waskiewicz.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
Toward the Next Generation of Ingres Administration Tools UKIUA 2010 June 8, 2010.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Silicon Graphics, Inc. Presented by: Open|SpeedShop™ Status, Issues, Schedule, Demonstration Jim Galarowicz SGI Core Engineering March 21, 2006.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Oracle Data Integrator Procedures, Advanced Workflows.
Introduction to Object Oriented Programming CMSC 331.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Eagle: Maturation and Evolution 17th Annual Tcl Conference Joe Mistachkin.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
SKYPIAX, how to add Skype capabilities to FreeSWITCH (and Asterisk) CHICAGO, USA, September 2009.
University of Maryland Paradyn as a Strict Dyninst Client James Waskiewicz.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Threaded Programming Lecture 2: Introduction to OpenMP.
Threads, Thread management & Resource Management.
AMH001 (acmse03.ppt - 03/7/03) REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers Ashley Hopkins Department of Computer.
1 University of Maryland Runtime Program Evolution Jeff Hollingsworth © Copyright 2000, Jeffrey K. Hollingsworth, All Rights Reserved. University of Maryland.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
A Dynamic Tracing Mechanism For Performance Analysis of OpenMP Applications - Caubet, Gimenez, Labarta, DeRose, Vetter (WOMPAT 2001) - Presented by Anita.
Accounting in DataGrid HLR software demo Andrea Guarise Milano, September 11, 2001.
Unified Parallel C at LBNL/UCB Berkeley UPC Runtime Report Jason Duell LBNL September 9, 2004.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Introduction to HPC Debugging with Allinea DDT Nick Forrington
TTCN-3 Testing and Test Control Notation Version 3.
Claudio Grandi INFN Bologna Virtual Pools for Interactive Analysis and Software Development through an Integrated Cloud Environment Claudio Grandi (INFN.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Introduction to Operating Systems Concepts
PROGRAMMING LANGUAGES
Operating System Structure
Introduction Enosis Learning.
Introduction Enosis Learning.
A configurable binary instrumenter
Software Defined Networking (SDN)
Lecture Topics: 11/1 General Operating System Concepts Processes
The Lua Chunk Vault, an enhancement to epics base
Presentation transcript:

University of Maryland The DPCL Hybrid Project James Waskiewicz

University of Maryland Background: What is DPCL? C++ API for runtime instrumentation  Uses Dyninst API (variant) for instrumentation  Network layer for dispatching inst requests and collecting data.  Designed for instrumenting parallel programs, possibly running on multiple nodes. Some DPCL primitives include:  Process – qualified by host  Probe – inst. code (like BPatch_snippet)  Source Object – symtab abstractions (modules, functions, variables, statements…)  InstPoints – where Probes are inserted.

University of Maryland DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so Target machine 1 Target Process 1 Target Process N Target machine N

University of Maryland Target machine 1 Target Process 1 dpclSD DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so dpclSD Target Process N Process::connect() Contacts Super Daemon SD Performs Security Init Target machine N

University of Maryland Target machine 1 Target Process 1 dpclSD DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so dpclSD Target Process N Process::connect() SD spawns DPCL Daemon Transfers communications DPCL daemon Dyninst API DPCL daemon Dyninst API Target machine N

University of Maryland Target machine 1 Target Process 1 dpclSD DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so dpclSD Target Process N Process::connect() Daemon attaches to target Loads runtime library DPCL daemon Dyninst API DPCL daemon Dyninst API libdpclRT Target machine N

University of Maryland Target machine 1 Target Process 1 dpclSD DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so dpclSD Target Process N Source Navigation: Find interesting objects InstPoints, functions, etc. DPCL daemon Dyninst API DPCL daemon Dyninst API libdpclRT Target machine N Symtab data

University of Maryland Target machine 1 Target Process 1 dpclSD DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so dpclSD Target Process N Instrumentation: Insert Probes at InstPoints OneShot / Phase Probes DPCL daemon Dyninst API DPCL daemon Dyninst API libdpclRT Target machine N Instrument target

University of Maryland Target machine 1 Target Process 1 dpclSD DPCL Overview (schematic) Client machine DPCL Tool libdpcl.so dpclSD Target Process N Main Loop: Probes return instrumentation data as target application runs DPCL daemon Dyninst API DPCL daemon Dyninst API libdpclRT Target machine N Data from Probes

University of Maryland Motivation for the Hybrid Two Dyninsts, no longer compatible  Divergent APIs  Significant implementation differences Want DPCL on Dyninst platforms  DPCL supports Power-AIX and to a lesser extent, x86-Linux  Dyninst supports a broader range of platforms Re-introduce compatibility  Porting Dyninst is the hard part  DPCL porting made much easier – API library and communications layer.

University of Maryland “Phase 2” – New Priorities Practical reunification is primary goal  Minimize changes to DPCL to facilitate CVS integration  Dyninst taking the brunt of modifications Many small API modifications / additions Implement functions like addSharedLibrary(), get_demangled_name(), get_inc_points(), etc… Use std::vector<> instead of BPatch_Vector<>  Example DPCL modifications: Rewrite Probe Module code to use loadLibrary() Account for different interpretations of some symbol table information (module names, types) Lots of changes to Autoconf files  AIX: compile Dyninst with xlC, not g++ Ultra-conservative approach until hybrid work makes it into DPCL CVS tree

University of Maryland Simple Configuration (ease-of-use) Share-ability is critical Hybrid is integrated closely with DPCL Autoconf scripts. Configuration and build parameters are automatically substituted into the DPCL build. Headers, libraries, env. vars, etc. Configuration procedure: Set up Dyninst env. vars../configure –enable-md-dyninst (g) make. That’s it.

University of Maryland Testability Test suite restructured for portability As platforms are added, need to move beyond shell script configuration to keep test suite usable. Use autoconf/make instead of shell scripts Push towards completeness Some basic DPCL concepts still not represented in test suite. Eg. Phase probes, variable allocation, many types of Probe Expression.

University of Maryland The DPCL Command Line Interface Provides generic, minimal DPCL tool  Like Dyner – uses TCL interpreter  Provides “easy access” to DPCL Rapid prototyping (try new ideas fast) DPCL Developer debugging tool  Shooting for completeness without overhead (Expose DPCL without any new abstractions)  Scriptable Short TCL scripts can be used to test elements of DPCL Looking to use CLI to expand test suite Demo tomorrow

University of Maryland DPCL Command Line Interface

University of Maryland IA-64 DPCL Port SGI interested in DPCL for building performance tools for IA-64 Altix –Building from the hybrid work-in-progress –Not yet committed to “production code”, but… –Appears to be making rapid progress here Already seeing results –DPCL at least partially working on IA-64 Tangible benefits already emerging from the Hybrid Project

University of Maryland Roadmap Legal documents (still waiting… sigh) Introduction of Hybrid to DPCL CVS –Most changes under DYNINST_IBM flag –IBM code review and in-house testing Conservative approach to changing DPCL should make this a smooth process –Hybrid expected to immediately become the standard DPCL for x86-Linux CVS commit access –Will need to maintain compatibility –Less energy spent on out-of-CVS version control and synchronization –Everything becomes much easier