College of Computer National University of Defense Technology Jingwen Zhou, Zhenbang Chen, Haibo Mi, and Ji Wang {jwzhou, This work.

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

HDFS & MapReduce Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer.
1 Distributed Deadlock Fall DS Deadlock Topics Prevention –Too expensive in time and network traffic in a distributed system Avoidance.
Digital Library Service – An overview Introduction System Architecture Components and their functionalities Experimental Results.
The Mystery Machine: End-to-end performance analysis of large-scale Internet services Michael Chow David Meisner, Jason Flinn, Daniel Peek, Thomas F. Wenisch.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
TI: An Efficient Indexing Mechanism for Real-Time Search on Tweets Chun Chen 1, Feng Li 2, Beng Chin Ooi 2, and Sai Wu 2 1 Zhejiang University, 2 National.
Pete Bohman Adam Kunk.  Introduction  Related Work  System Overview  Indexing Scheme  Ranking  Evaluation  Conclusion.
Trace Analysis Chunxu Tang. The Mystery Machine: End-to-end performance analysis of large-scale Internet services.
CLUE: SYSTEM TRACE ANALYTICS FOR CLOUD SERVICE PERFORMANCE DIAGNOSIS Hui Zhang 1, Junghwan Rhee 1, Nipun Arora 1, Sahan Gamage 2, Guofei Jiang 1, Kenji.
1 Sensor Relocation in Mobile Sensor Networks Guiling Wang, Guohong Cao, Tom La Porta, and Wensheng Zhang Department of Computer Science & Engineering.
1 Virtual Machine Resource Monitoring and Networking of Virtual Machines Ananth I. Sundararaj Department of Computer Science Northwestern University July.
Amoeba Distributed Operating System James Schultz CPSC 550 Spring 2007.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
Lecture 6 – Google File System (GFS) CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation.
The Google File System. Why? Google has lots of data –Cannot fit in traditional file system –Spans hundreds (thousands) of servers connected to (tens.
Extensible Scalable Monitoring for Clusters of Computers Eric Anderson U.C. Berkeley Summer 1997 NOW Retreat.
Implementing Remote Procedure Calls Authors: Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presenter: Jim Santmyer Thanks to:
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
1 PATH: Page Access Tracking Hardware to Improve Memory Management Reza Azimi, Livio Soares, Michael Stumm, Tom Walsh, and Angela Demke Brown University.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Presenter: Chi-Hung Lu 1. Problems Distributed applications are hard to validate Distribution of application state across many distinct execution environments.
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Conceptual Architecture of PostgreSQL PopSQL Andrew Heard, Daniel Basilio, Eril Berkok, Julia Canella, Mark Fischer, Misiu Godfrey.
1 The Google File System Reporter: You-Wei Zhang.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Towards An Open Data Set for Trace-Oriented Monitoring Jingwen Zhou 1, Zhenbang Chen 1, Ji Wang 1, Zibin Zheng 2, and Michael R. Lyu 1,2 1 National University.
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Introduction to Apache Hadoop Zibo Wang. Introduction  What is Apache Hadoop?  Apache Hadoop is a software framework which provides open source libraries.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
Problem Diagnosis Distributed Problem Diagnosis Sherlock X-trace.
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. LogKV: Exploiting Key-Value.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
1 Blue Gene Simulator Gengbin Zheng Gunavardhan Kakulapati Parallel Programming Laboratory Department of Computer Science.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
1 Figure 10-4: Intrusion Detection Systems (IDSs) IDSs  Event logging in log files  Analysis of log file data  Alarms Too many false positives (false.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
CISC Machine Learning for Solving Systems Problems Presented by: Suman Chander B Dept of Computer & Information Sciences University of Delaware Automatic.
By Jeff Dean & Sanjay Ghemawat Google Inc. OSDI 2004 Presented by : Mohit Deopujari.
INTRODUCTION TO ORACLE DATABASE ADMINISTRATION Lynnwood Brown President System Managers LLC Introduction – Lecture 1 Copyright System Managers LLC 2003.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
A Runtime Verification Based Trace-Oriented Monitoring Framework for Cloud Systems Jingwen Zhou 1, Zhenbang Chen 1, Ji Wang 1, Zibin Zheng 2, and Wei Dong.
Remote Procedure Call and Serialization BY: AARON MCKAY.
Distributed Time Series Database
Dapper, a Large-Scale Distributed System Tracing Infrastructure
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
Chapter 1 Database Access from Client Applications.
1 Chapter 2 Database Environment Pearson Education © 2009.
{ Tanya Chaturvedi MBA(ISM) Hadoop is a software framework for distributed processing of large datasets across large clusters of computers.
TraceBench: An Open Data Set for Trace-Oriented Monitoring Jingwen Zhou 1, Zhenbang Chen 1, Ji Wang 1, Zibin Zheng 2, and Michael R. Lyu 1,2 1 PDL, National.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
Maikel Leemans Wil M.P. van der Aalst. Process Mining in Software Systems 2 System under Study (SUS) Functional perspective Focus: User requests Functional.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
TYPES OFF OPERATING SYSTEM
Comparison of LAN, MAN, WAN
Lecture Set 14 B new Introduction to Databases - Database Processing: The Connected Model (Using DataReaders)
Fault Tolerance Distributed Web-based Systems
KISS-Tree: Smart Latch-Free In-Memory Indexing on Modern Architectures
Conceptual Architecture of PostgreSQL
Conceptual Architecture of PostgreSQL
EPICS: Experimental Physics and Industrial Control System
Presentation transcript:

College of Computer National University of Defense Technology Jingwen Zhou, Zhenbang Chen, Haibo Mi, and Ji Wang {jwzhou, This work is supported by: iVCE National Basic Research Program of China

Background 2 … …… …

Background 3 … Distributed System containing tens to hundreds nodes, which is medium-scale.

Background 4 Resource-oriented MonitoringTrace-oriented Monitoring Record the resource consumption, such as CPU and memory Ganglia, Chukwa … Record execution paths, or called the traces of requests X-Trace, P-Tracer, Zipkin …

Background 5 Resource-oriented MonitoringTrace-oriented Monitoring Record the resource consumption, such as CPU and memory Ganglia, Chukwa … Record execution paths, or called the traces of requests X-Trace, P-Tracer, Zipkin … Generally, trace-oriented monitoring collects more valuable information than resource-oriented monitoring

Background 6 In prototype: store trace in text file simple visualization … too little function to use For large-scale DS: construct call trees using a map-reduce process … exceptions also occur in monitors and hard to recovery For Medium-scale DS: Lightweight Efficient Real time Visualized X-Trace P-Tracer ?? MTracer

Architecture 7 Monitor Server DS … Network Node 1 Node 2 Node n Monitor Server Manager Event Recovering UI Database writer … extractor Receiver … DS instrumentation Reporter info Recording Storing Visualizing

Architecture 8 Monitor Server DS … Network Node 1 Node 2 Node n Monitor Server Manager Event Recovering UI Database writer … extractor Receiver … DS instrumentation Reporter Storing Visualizing info Recording

Trace Recording  Trace = Events + Relationships TraceID  Event: Function name, latency, … Automatically collected NID, for overhead consideration NID ≈ temporary thread ID  Relationship: remote procedure call, communication between nodes … 9

Trace Recording 10 Assigning a new NID when a trace starts. Each time a node communicates with a remote node, assigns a new NID for the remote node, and preserves the local NID. When generating an event, records local NID, together with the start and end time stamps. The first time of generating an event after a new NID assigned, an additional event also created, called edge, recording the information of the causal relationship. Assigning a new NID when a trace starts. Each time a node communicates with a remote node, assigns a new NID for the remote node, and preserves the local NID. When generating an event, records local NID, together with the start and end time stamps. The first time of generating an event after a new NID assigned, an additional event also created, called edge, recording the information of the causal relationship. Node 1 Node 2 F1 F2 F3F4 F5 Request start Request end ST3ET3ST4ET4 ST5ET5 ST1 ET1 NID2NID3 NID1 R1 Node1 Trace1 NID1 ST1 ET1 F1 R2 Node1 Trace1 NID1 ST2 ET2 F2 R3 Node2 Trace1 NID2 ST3 ET3 F3 R4 Node2 Trace1 NID3 ST4 ET4 F4 R5 Node1 Trace1 NID1 ST5 ET5 F5 E1 Trace1 0 0 NID1 E2 Trace1 NID1 T2 NID2 E3 Trace1 NID1 T2 NID3 Node TraceID NID Timestamp Name Event TraceID FatherNID FatherST ChildNID Edge NID1 ST2 ET2

Trace Reconstruction 11 NID2NID3 NID1 R1 Node1 Trace1 NID1 ST1 ET1 F1 R2 Node1 Trace1 NID1 ST2 ET2 F2 R3 Node2 Trace1 NID2 ST3 ET3 F3 R4 Node2 Trace1 NID3 ST4 ET4 F4 R5 Node1 Trace1 NID1 ST5 ET5 F5 E1 Trace1 0 0 NID1 E2 Trace1 NID1 T2 NID2 E3 Trace1 NID1 T2 NID3 NID1 Node 1 Node 2 F1 F2 F3F4 F5 Request start Request end ST3ET3ST4ET4 ST5ET5 ST1 ET1 Node TraceID NID Timestamp Name Event TraceID FatherNID FatherST ChildNID Edge ST2 ET2 Assigning a new NID when a trace starts. Each time a node communicates with a remote node, assigns a new NID for the remote node, and preserves the local NID. When generating an event, records local NID, together with the start and end time stamps. The first time of generating an event after a new NID assigned, an additional event also created, called edge, recording the information of the causal relationship. Assigning a new NID when a trace starts. Each time a node communicates with a remote node, assigns a new NID for the remote node, and preserves the local NID. When generating an event, records local NID, together with the start and end time stamps. The first time of generating an event after a new NID assigned, an additional event also created, called edge, recording the information of the causal relationship.

Trace Reconstruction 12 NID2NID3 NID1 R1 Node1 Trace1 NID1 ST1 ET1 F1 R2 Node1 Trace1 NID1 ST2 ET2 F2 R3 Node2 Trace1 NID2 ST3 ET3 F3 R4 Node2 Trace1 NID3 ST4 ET4 F4 R5 Node1 Trace1 NID1 ST5 ET5 F5 E1 Trace1 0 0 NID1 E2 Trace1 NID1 T2 NID2 E3 Trace1 NID1 T2 NID3 NID1 Node 1 Node 2 F1 F2 F3F4 F5 Request start Request end ST3ET3ST4ET4 ST5ET5 ST1 ET1 Node TraceID NID Timestamp Name Event TraceID FatherNID FatherST ChildNID Edge ST2 ET2 F1 F2 F5 F3 F4 NID1 NID2NID3 ST1 ET2 F2 Name, latency, node, … Local call, remote call, …

Architecture 13 Monitor Server DS … Network Node 1 Node 2 Node n Monitor Server Manager Event Recovering UI Database writer … extractor Receiver … DS instrumentation Reporter Storing Visualizing info Recording

Architecture 14 Monitor Server DS … Network Node 1 Node 2 Node n Monitor Server Manager Event Recovering UI Receiver … DS instrumentation Reporter Visualizing info Recording Database writer … extractor Storing

Trace Storing 15 T_Trace T_Event T_Edge T_Operation SELECT INSERT UPDATE exist ? INSERT edge ? SELECT INSERT UPDATE exist ?

Trace Storing 16 T_Trace T_Event T_Edge T_Operation EdgeWriter EventWriter OperationWriter TraceWriter Q_Trace Q_Event Q_Edge Q_Operation Extractor Event Optimization 1: Batch Inserting Optimization 1: Batch Inserting Optimization 2: Information updating in memory Optimization 2: Information updating in memory Reduce database operations

Architecture 17 Monitor Server DS … Network Node 1 Node 2 Node n Monitor Server Manager Event Recovering UI Receiver … DS instrumentation Reporter Visualizing info Recording Database writer … extractor Storing

Architecture 18 Monitor Server DS … Network Node 1 Node 2 Node n Monitor Server Manager Event Recovering Database Receiver … DS instrumentation Reporter info Recording writer … extractor Storing UI Visualizing

Visualization Trace Tree

Visualization 20

Visualization Trace Tree Classification

Visualization Performance Problem Diagnosis

Experiments: Overhead  Generating an event: 0.046ms vs. seconds or minutes in DS  Size of an event: 0.315KB 2MB bandwidth vs. GB-level network  Generating an ID: 0.057ms >50% less using our method 23 The overhead of a client is negligible!

Experiments: Effectiveness 24 T_Operation limits the global speedup to 6X Capability of receiving eventsSpeed of database operations

Experiments: Usability 25  HDFS: RPC & Data accessing processes  50 Clients + (50 +1) HDFS  14 faults : Functional + Performance problem  Easily handling, correct visualization  Trace classifying, diagnosis

Conclusion  MTracer : A Lightweight, efficient, real-time monitor for medium-scale DS, with a visualized frontend.  Future work An easier way for instrumentations A dataset for trace-based monitoring research Fault detection … 26

27 This work is supported by: iVCE National Basic Research Program of China

28 Optimizations 1. Batch Inserting Q_Event T_Event Q_Event T_Event

Optimizations Information Updating in Memory Q_Trace T_Trace Q_Trace T_Trace