Declarative distributed debugging Kuang Chen, Gunho Lee, Byung-Gon Chun.

Slides:



Advertisements
Similar presentations
Requirements gathering
Advertisements

Monitoring and System Management in Distributed Environment (Hajautettujen Tietojärjestelmien Hallinta ja Valvonta) S Tietoverkkotekniikan diplomityöseminaari.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Business Process Management and Modeling. Two Key Aspects Tools for Today: Utilize effective methods to gather information and model workflows Tools for.
The Datacenter Needs an Operating System Matei Zaharia, Benjamin Hindman, Andy Konwinski, Ali Ghodsi, Anthony Joseph, Randy Katz, Scott Shenker, Ion Stoica.
..
Implementing Declarative Overlays From two talks by: Boon Thau Loo 1 Tyson Condie 1, Joseph M. Hellerstein 1,2, Petros Maniatis 2, Timothy Roscoe 2, Ion.
Designing and Developing Decision Support Systems Chapter 4.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Jennifer Widom NoSQL Systems Overview (as of November 2011 )
Fakultät für Informatik Technische Universität München A Quantitative Perspective on Systems of Systems Formerly: Upscaling for Systems of Systems Astrid,
SPECIFYING COGNITIVE MODELS Using Patterns and Conflicts A. Macklem, F. Mili Oakland University S. Dungrani TARDEC June, 2004.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Noor Fouad Al-Emadi IEEE 1074 Standard for Developing Life Cycle Processes.
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
UC Berkeley Monitoring Hadoop through Tracing Andy Konwinski and Matei Zaharia.
Knowledge Acquisition CIS 479/579 Bruce R. Maxim UM-Dearborn.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Chapter 10: Architectural Design
CS 405G: Introduction to Database Systems 24 NoSQL Reuse some slides of Jennifer Widom Chen Qian University of Kentucky.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
Building Survivable Systems based on Intrusion Detection and Damage Containment Paper by: T. Bowen Presented by: Tiyseer Al Homaiyd 1.
Data Structures and Programming.  John Edgar2.
Presenter: Chi-Hung Lu 1. Problems Distributed applications are hard to validate Distribution of application state across many distinct execution environments.
Zoltán Mann: Tracing CORBA applications 1/22 Tracing CORBA applications using interceptors Zoltán Mann Supervisor: Dr. Károly Kondorosi Budapest University.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
Using Queries for Distributed Monitoring and Forensics Atul Singh Rice University Peter Druschel Max Planck Institute for Software Systems Timothy Roscoe.
DISTRIBUTED ALGORITHMS Luc Onana Seif Haridi. DISTRIBUTED SYSTEMS Collection of autonomous computers, processes, or processors (nodes) interconnected.
S556 SYSTEMS ANALYSIS & DESIGN Week 11. Creating a Vision (Solution) SLIS S556 2  Visioning:  Encourages you to think more systemically about your redesign.
Software Engineering Management Lecture 1 The Software Process.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Communication Networks (Kommunikationsnetværk) Specialisations: Distributed Application Engineering Network Planning & Management Ole Brun Madsen Professor.
Presenter: PCLee Post-silicon validation is used to identify design errors in silicon. Its main limitation is real-time observability of the.
Approaching a Problem Where do we start? How do we proceed?
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
OMIS Approach to Grid Application Monitoring Bartosz Baliś Marian Bubak Włodzimierz Funika Roland Wismueller.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Cloud Testing Haryadi Gunawi Towards thousands of failures and hundreds of specifications.
Design Concepts By Deepika Chaudhary.
Chapter 4 프로세스 모델 Process Models
Final Project and Term Paper Requirements Qiang Yang, MTM521 Material.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
NoSQL Systems Motivation. NoSQL: The Name  “SQL” = Traditional relational DBMS  Recognition over past decade or so: Not every data management/analysis.
Proposals for a New IETF Standards Track draft-ietf-newtrk-proposals-00.txt David Black Brian Carpenter IETF 60.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Chapter 9: Web Services and Databases Title: NiagaraCQ: A Scalable Continuous Query System for Internet Databases Authors: Jianjun Chen, David J. DeWitt,
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Knowledge Support for Modeling and Simulation Michal Ševčenko Czech Technical University in Prague.
REX: RECURSIVE, DELTA-BASED DATA-CENTRIC COMPUTATION Yavuz MESTER Svilen R. Mihaylov, Zachary G. Ives, Sudipto Guha University of Pennsylvania.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
The Context Fabric: An Infrastructure for Context-Aware Computing Jason I. Hong Group for User Interface Research, Computer Science Division University.
Requirements Specification
CS 405G: Introduction to Database Systems
D. E. Koditschek 358 GRW ESE 290/291 Introduction to Electrical & Systems Engineering Research Methodology & Design
Ch. 2: Planning a Study.
Software Engineering Management
CSC 222: Computer Programming II
Big Data Enterprise Patterns
Improving searches through community clustering of information
Map Reduce.
NoSQL Systems Overview (as of November 2011).
RESEARCH TOOLS FOR UNDERSTANDING SPORTS CONSUMERS
Methontology: From Ontological art to Ontological Engineering
Application-Network Tracing and Correlation in Datacenters (ANTACID)
Debrief Case Study Setting
Pramod Bhatotia, Ruichuan Chen, Myungjin Lee
Database Management Systems
Paper ID: XX Track: Track Name
Presentation transcript:

declarative distributed debugging Kuang Chen, Gunho Lee, Byung-Gon Chun

Motivation Debugging distributed systems is hard Logs are scattered and numerous Log content can vary –Application-specific logs: aka printf statements –Tracing: X-Trace Needed: a more formal and efficient way to use logs in debugging.

State of the Art Centralized log processing Master “controller” node collects logs for processing Techniques for filtering/aggregation before transmission to the controller –Logs size and # of nodes can be huge –Debugging look for needles in the haystack –Many logging mechanisms are ad-hoc (e.g. printf statements) and focus on how instead of what.

New Idea Towards more efficient and formal distributed debugging –Step one: declarative querying of logs Queries are sent out. Logs do not move –Specify queries and dataflow declaratively –Process queries in a distributed manner “Declarative” - a separation of what from how –What: a language for specifying distributed debugging queries and data specification for tracing the causality of events –How: recursive query engine (e.g. P2) and tracing infrastructure (e.g. X-Trace)

Risks Query language - (OverLog, NDLog, DPLog …coincidence?) –Sufficient for expressing logging and tracing queries? Implementation –P2 has limited in-memory persistence –Need datacenter specific (potentially real-time) X-Trace data e.g. Hadoop X-Trace data Success metrics –Working prototype e.g. creates causality graph of debugging use case –Show declarative query specification is concise / easy

6 The Plan DueTaskDescriptionDeliver 10/12Literature review Understand related system Read papers Play with P2 and X-Trace Initial Proposal 10/19Design brainstormingFind debugging use casesRequirement document 10/26Initial design Base implementation Integrate X-Trace (or its data) into P2Base system Revised Proposal 11/02Further designImplement basic use case Define advanced use case Design document 11/09Basic queryDeployment!Running example 11/16Advanced query Design refinement Implement advanced use caseAdvanced example 11/23AnalysisEvaluate results Make poster Project Poster 11/30SummarizeDiscussion Write report Final Report