Monitoring and Debugging Message Passing Applications with MPVisualizer Ana Paula Cláudio, João Duarte Cunha, and Maria Beatriz Carmo 2007. 11. 08. – Thu.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Parallel Virtual Machine Rama Vykunta. Introduction n PVM provides a unified frame work for developing parallel programs with the existing infrastructure.
Threads, SMP, and Microkernels
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
2 Motivation Distributed Systems Notoriously difficult to build without appropriate assistance. First ones were based on low-level message-passing mechanisms.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
1 Tornado: An Embedded System Development Tool Maung Wynn Aung Han CIS 642, Spring 2001 Prof. Insup Lee.
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Multilingual Debugging Support for Data-driven Parallel Languages Parthasarathy Ramachandran Laxmikant Kale Parallel Programming Laboratory Dept. of Computer.
Visual Solution to High Performance Computing Computer and Automation Research Institute Laboratory of Parallel and Distributed Systems
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
The IDE (Integrated Development Environment) provides a DEBUGGER for locating and correcting errors in program logic (logic errors not syntax errors) The.
Dependable computing needs pervasive debugging Tim Harris
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Ritu Varma Roshanak Roshandel Manu Prasanna
Visual Debugging Tools for Concurrent Models of Computation Elaine Cheong 15 May 2002 EE290N: Advanced Topics in System Theory.
1 Distributed Systems: Distributed Process Management – Process Migration.
Visualization. CS351 - Software Engineering (AY2004)2 Program visualization Debugging programs without the aid of support tools can be extremely difficult.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
L22: SC Report, Map Reduce November 23, Map Reduce What is MapReduce? Example computing environment How it works Fault Tolerance Debugging Performance.
What are the functions of an operating system? The operating system is the core software component of your computer. It performs many functions and is,
WORKFLOWS IN CLOUD COMPUTING. CLOUD COMPUTING  Delivering applications or services in on-demand environment  Hundreds of thousands of users / applications.
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Overview of Eclipse Parallel Tools Platform Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
What is Concurrent Programming? Maram Bani Younes.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Processing of a CAD/CAE Jobs in grid environment using Elmer Electronics Group, Physics Department, Faculty of Science, Ain Shams University, Mohamed Hussein.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
Cluster Programming Technology and its Application in Meteorology Computer and Automation Research Institute Hungarian Academy of Sciences Hungarian Meteorological.
Analyzing parallel programs with Pin Moshe Bach, Mark Charney, Robert Cohn, Elena Demikhovsky, Tevi Devor, Kim Hazelwood, Aamer Jaleel, Chi- Keung Luk,
Adventures in Mastering the Use of Performance Evaluation Tools Manuel Ríos Morales ICOM 5995 December 4, 2002.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
CS 584. Performance Analysis Remember: In measuring, we change what we are measuring. 3 Basic Steps Data Collection Data Transformation Data Visualization.
MIMD Distributed Memory Architectures message-passing multicomputers.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
INDUSTRIAL PROJECT (234313) ULTRASOUND SCANNER EMBEDDED ONLINE PROFILER Students: Liat Peterfreund, Hagay Myr Supervisor: Mr. Tomer Gal (GE Healthcare)
MACCE and Real-Time Schedulers Steve Roberts EEL 6897.
Analysis of Concurrent Software Models Using Partial Order Views Qiang Sun, Yuting Chen,
OMIS Approach to Grid Application Monitoring Bartosz Baliś Marian Bubak Włodzimierz Funika Roland Wismueller.
XII.1 Debugging of Distributed Systems. XII.2 Debugging of Distributed Systems Example of a tool for distributed systems Approach to fault search during.
Profiling, Tracing, Debugging and Monitoring Frameworks Sathish Vadhiyar Courtesy: Dr. Shirley Moore (University of Tennessee)
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
A record and replay mechanism using programmable network interface cards Laurent Lefèvre INRIA / LIP (UMR CNRS, INRIA, ENS, UCB)
Application Communities Phase II Technical Progress, Instrumentation, System Design, Plans March 10, 2009.
Making the System Operational Implementation & Deployment
Presentation Layer (Graphical User Interface) AppGUI Logic Layer (Business Logic and data access) Network Discovery Device Information Extraction Network.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Execution Replay and Debugging. Contents Introduction Parallel program: set of co-operating processes Co-operation using –shared variables –message passing.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Copyright © 2009 Ericsson, Made available under the Eclipse Public License.
Kernel Tracing David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Reference Implementation of the High Performance Debugging (HPD) Standard Kevin London ( ) Shirley Browne ( ) Robert.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Lecture 5. Example for periority The average waiting time : = 41/5= 8.2.
Tracing for Hardware, Driver and Binary Reverse Engineering in Linux Mathieu Desnoyers Recon 2006.
Performance Analysis, Tools and Optimization
Computer Programming.
Behavioral Models for Software Development
Chapter 4: Threads.
System Concept Simulation for Concurrent Engineering
Breakpoints and Halting in Distributed Systems
Week 10 Systems Development
Presentation transcript:

Monitoring and Debugging Message Passing Applications with MPVisualizer Ana Paula Cláudio, João Duarte Cunha, and Maria Beatriz Carmo – Thu. Geum-Seo Koo Operating System Lab.

ClCC00 2 MPVisualizer A tool for the monitoring and debugging of message passing applications The reexecution mechanism includes two phases: trace and replay The graphical interface space-time diagram – happened-before relation defined by Lamport The visualization engine the core of the tool

ClCC00 3 The Re-execution Mechanism In the trace phase stored in order to minimize the probe effect inserted in the standard libraries In the replay phase force the re-execution to respect the causal order of the communication events recorded

ClCC00 4 The Visualization Engine Kernel classes include the basic classes do not depend on the graphical environment manager, process, message, machine, spy, c_event and its subclass c_event & direct subclass considering that communication events to distinguish between receive execution and message consumption inheritance Graphical classes subclasses of the classes in the kernel classes depend on the graphical S/W polymorphism

ClCC00 5 Class Diagram

ClCC00 6 Graphical Interface Progression of the re-execution symbols: processes, messages, and communication events The bottom windows give information about a process and a message sending

ClCC00 7 Detection of Race Conditions Comprises two steps detection of pairs of receive events in the same process verification of the legitimacy of the potential race condition According to Netzer and Miller “Two messages race if either could have been accepted first by some receive, due to variations in message latencies or process scheduling” p1p1 p2p2 p3p3 receive-from-any send

ClCC00 8 Predicate Detection Detectable predicates communication events, beginning and ending of processes The RACE condition window

ClCC00 9 Similar Tools #1 p2d2 (Portable Parallel Distributed Debugger) a gdb based portable debugger for parallel and distributed programs  MAD (Monitoring and Debugging Environment)  to give the user an environment for all activities of the debugging task

ClCC00 10 Similar Tools #2 DDBG (Distributed Debugger) a debugging tool integrated in the parallel software environment  TotalView  a debugger for single and multi-process programs in C, C++ and Fortran

ClCC00 11 Similar Tools #3 pdbx and pedb based on the sequential debugger dbx Xmdb a debugger for C, C++ and FROTRAN programs in PVM XPVM provides animated views to monitor the execution of PVM P/G

ClCC00 12 Conclusions and Future Work Conclusions advantage of inheritance and polymorphism be adapted to different message passing environments and different graphical environments and easily re-programmed to detect specific predicates Future Work A major improvement in tool breakpoint mechanism Scalability aspects zoom mechanism