Performance Testing for GDB

Size: px
Start display at page:

Download "Performance Testing for GDB"

Transcription

1 Performance Testing for GDB Yao Qi CodeSourcery/MentorGraphics

2 1 Overview Introduction Goals 2 3

3 Introduction Goals Introduction We need something to test and measure GDB perf first, No standard mechanism to show the performance, source:accurate-measurement.jpg Proposed the perf testing framework in Aug and Sep 213, Write some perf test cases and patches for perf improvements from Sep to Nov. if you cannot measure it, you cannot improve it. Lord Kelvin Thank Doug and Sanimir for the comments and patient review.

4 Goals Overview Introduction Goals Know the new perf testing framework in GDB and how to write perf test cases on top of it, Demonstrate how do they show the perf improvements, CPUT time (s) original patched Number of single steps Show how do we use it to track GDB performance

5 Overview easy to write test case for a certain aspect, i.e. symbol lookup or single step basic measurements are provided (such as cpu time and memory usage), but test specific measurement can be added too. both native debugging and remote debugging are supported, test case has warm up optionally, save results in different formats, the executable in test case can be pre-compiled, source:shelter1.jpg

6 Use DejaGNU to invoke compiler and start GDB (and/or GDBserver), GDB loads a python script in which some operations are performed, The framework collects the performance data and save them in the desired format, Detect performance regressions, compile test case gdb.perf/foo.c start gdb and gdbserver load program run gdb.perf/foo.py lib/gdb.exp lib/perftest.exp gdb.perf/foo.exp

7 : skip-prologue.exp 1 PerfTest::assemble { 2 if { [ gdb_compile " $srcdir / $subdir / $srcfile " ${ binfile } executable { debug }]!= "" } { 3 return -1 4 } COMPILE 6 return 7 } { 8 clean_restart $binfile START UP 9 1 if![ runto_main ] { 11 fail "Can t run to main " 12 return } 14 } { 1 global SKIP_PROLOGUE_COUNT 16 RUN 17 set test " run " 18 gdb_test_multiple " python SkipPrologue \( $SKIP_PROLOGUE_COUNT \).run () " $test { 19 -re " Breakpoint $decimal at \[^\ n\] *\n" { 2 # GDB prints some messages on breakpoint creation. 21 # Consume the output to avoid internal buffer full. 22 exp_continue 23 } 24 -re ".*$gdb_prompt $" { 2 pass $test 26 } 27 } 28 }

8 : skip-prologue.py 1 from perftest import perftest 2 3 class SkipPrologue ( perftest. TestCaseWithBasicMeasurements): 4 def init (self, count ): super( SkipPrologue, self ). init ("skip - prologue ") 6 self. count = count 7 Extend from 8 def _test ( self ): TestCaseWithBasicMeasurements 9 for _ in range (1, self. count ): 1 # Insert breakpoints on function f1 and f2. 11 bp1 = gdb. Breakpoint ("f1 ") 12 bp2 = gdb. Breakpoint ("f2 ") 13 # Remove them. 14 bp1. delete () 1 bp2. delete () Test def warm_up ( self ): 18 self. _test () 19 Measure the test 2 def execute_test ( self ): 21 for i in range (1, 4): 22 gdb. execute ("set code - cache off ") 23 gdb. execute ("set code - cache on ") 24 self. measure. measure ( self._test, i) 1 TestCase name 9 measure exuecte testcase () run () 8 warm up () 7 6 TestCaseWithBasicMeasurements SkipPrologue 1 warm up () execute test ()

9 Cache code access for skip-prologue Before After read some bytes RSP target read some bytes read target dcache RSP target parse the instruction parse the instruction 6 Original Patched yes is it part of prologue? yes is it part of prologue? no stop no stop CPU time (s) note that only x86 and x86 64 make use that SKIP_PROLOGUE_COUNT

10 Cache code access for disassemble 9 8 Original Patched 3. 3 Original Patched Number of m packets CPU time (s) evaluate_subexp_standardhandle_inferior_event c_parse_internal evaluate_subexp_standard handle_inferior_event c_parse_internal

11 My workflow of improving perf Examine the RSP log and locate some unnecessary packets (gdb) si Sending packet: $qtstatus#49... Sending packet: $Z,8483c7,1#b4...Packet received: OK Sending packet: $Z,4ceb6b,1#6e...Packet received: OK Sending packet: $QPassSignals:... Sending packet: $vcont;s:p1b1.1b1;c#2... Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $mbfffef4,4#c... Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $z,8483c7,1#d4...packet received: OK Sending packet: $z,4ceb6b,1#8e...packet received: OK Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Sending packet: $qxfer:traceframe-info:read::,fff#b...packet received: E1 Investigate and hack the code, Show the perf improved by the patch, CPUT time (s) original patched Typical profling doesn t help % gdbserver libc so [.] strcmp_sse4_2 strcmp_sse4_2-1.92% gdbserver libc so [.] vfprintf - vfprintf % _IO_vsprintf 2.6% handle_tracepoint_query % x % _IO_vsnprintf Number of single steps

12 Read multiple cache lines in dcache xfer memory Before After 6 Original Patched 3 Original Patched 3 Number of m packets CPU Time (s) Cache line size Cache line size

13 Track and compare GDB performance Still have no way to track and compare perf data A web application to monitor and analyze the performance, Written by python and easy to set up, It doesn t meet our needs perfectly, and it is not actively maintained,

14 Observations and future work observations Command thread doesn t scale, Switch thread by command thread N CPU Time (s) Actual dcache is conservative for multi-threaded code, 1 enum target_xfer_status 2 dcache_read_memory_partial ( struct target_ops *ops, DCACHE * dcache, 3 CORE_ADDR memaddr, gdb_byte * myaddr, 4 ULONGEST len, ULONGEST * xfered_len ) { 6 /* If this is a different inferior from what we ve recorded, 7 flush the cache. */ 8 9 (! ptid_equal ( inferior_ptid if, dcache -> ptid )) 1 { 11 dcache_invalidate ( dcache ); 12 dcache -> ptid = inferior_ptid ; Remove? 13 } Number of threads 3 2 Current(remote) Patched(remote) Disassemble across threads 1 static int 2 do_captured_thread_select ( struct ui_out * uiout, void * tidstr ) 3 { 4... /* Since the current thread may have changed, see if there is any 6 exited thread we can now delete. */ 7 prune_threads (); 8 9 return GDB_RC_OK ; 1 } CPU Time (s) Number of threads future work Compare perf data and alarm if regression is found. More perf test cases

15 Framework Overview

Real-time Debugging using GDB Tracepoints and other Eclipse features

Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features GCC Summit 2010 2010-010-26 marc.khouzam@ericsson.com Summary Introduction Advanced debugging features Non-stop multi-threaded debugging

More information

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE

More information

Development_Setting. Step I: Create an Android Project

Development_Setting. Step I: Create an Android Project A step-by-step guide to setup developing and debugging environment in Eclipse for a Native Android Application. By Yu Lu (Referenced from two guides by MartinH) Jan, 2012 Development_Setting Step I: Create

More information

CS 378 Big Data Programming. Lecture 9 Complex Writable Types

CS 378 Big Data Programming. Lecture 9 Complex Writable Types CS 378 Big Data Programming Lecture 9 Complex Writable Types Review Assignment 4 - CustomWritable QuesIons/issues? Hadoop Provided Writables We ve used several Hadoop Writable classes Text LongWritable

More information

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition 10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can

More information

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes TRACE PERFORMANCE TESTING APPROACH Overview Approach Flow Attributes INTRODUCTION Software Testing Testing is not just finding out the defects. Testing is not just seeing the requirements are satisfied.

More information

Hands-on CUDA exercises

Hands-on CUDA exercises Hands-on CUDA exercises CUDA Exercises We have provided skeletons and solutions for 6 hands-on CUDA exercises In each exercise (except for #5), you have to implement the missing portions of the code Finished

More information

Serena Business Manager Performance Test Results

Serena Business Manager Performance Test Results SERENA SOFTWARE Serena Business Manager Performance Test Results Author: RT Tangri 2015-04-09 Table of Contents Who Should Read This Paper?... 3 Test Methodology... 3 Runtime Test Architecture... 4 Load

More information

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights

More information

Bug hunting. Vulnerability finding methods in Windows 32 environments compared. FX of Phenoelit

Bug hunting. Vulnerability finding methods in Windows 32 environments compared. FX of Phenoelit Bug hunting Vulnerability finding methods in Windows 32 environments compared FX of Phenoelit The goal: 0day What we are looking for: Handles network side input Runs on a remote system Is complex enough

More information

Integrating SNiFF+ with the Data Display Debugger (DDD)

Integrating SNiFF+ with the Data Display Debugger (DDD) 1.1 1 of 5 Integrating SNiFF+ with the Data Display Debugger (DDD) 1. Introduction In this paper we will describe the integration of SNiFF+ with the Data Display Debugger (DDD). First we will start with

More information

Yubico YubiHSM Monitor

Yubico YubiHSM Monitor Yubico YubiHSM Monitor Test utility for the YubiHSM Document Version: 1.1 May 24, 2012 Introduction Disclaimer Yubico is the leading provider of simple, open online identity protection. The company s flagship

More information

Incremental Backup Script. Jason Healy, Director of Networks and Systems

Incremental Backup Script. Jason Healy, Director of Networks and Systems Incremental Backup Script Jason Healy, Director of Networks and Systems Last Updated Mar 18, 2008 2 Contents 1 Incremental Backup Script 5 1.1 Introduction.............................. 5 1.2 Design Issues.............................

More information

GPU Profiling with AMD CodeXL

GPU Profiling with AMD CodeXL GPU Profiling with AMD CodeXL Software Profiling Course Hannes Würfel OUTLINE 1. Motivation 2. GPU Recap 3. OpenCL 4. CodeXL Overview 5. CodeXL Internals 6. CodeXL Profiling 7. CodeXL Debugging 8. Sources

More information

Control III Programming in C (small PLC)

Control III Programming in C (small PLC) Description of the commands Revision date: 2013-02-21 Subject to modifications without notice. Generally, this manual refers to products without mentioning existing patents, utility models, or trademarks.

More information

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.

More information

WINDOWS PROCESSES AND SERVICES

WINDOWS PROCESSES AND SERVICES OBJECTIVES: Services o task manager o services.msc Process o task manager o process monitor Task Scheduler Event viewer Regedit Services: A Windows service is a computer program that operates in the background.

More information

SRUM forensics. Yogesh Khatri Champlain College

SRUM forensics. Yogesh Khatri Champlain College RUM forensics Yogesh Khatri Champlain College What is RUM? ystem Resource Usage Monitor First seen in Windows 8 Part of Diagnostic Policy ervice Technology that monitors desktop application programs, services,

More information

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311)

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311) ARM DS-5 Version 5.7 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G () ARM DS-5 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. Release Information The

More information

How To Test Your Code On A Cuda Gdb (Gdb) On A Linux Computer With A Gbd (Gbd) And Gbbd Gbdu (Gdb) (Gdu) (Cuda

How To Test Your Code On A Cuda Gdb (Gdb) On A Linux Computer With A Gbd (Gbd) And Gbbd Gbdu (Gdb) (Gdu) (Cuda Mitglied der Helmholtz-Gemeinschaft Hands On CUDA Tools and Performance-Optimization JSC GPU Programming Course 26. März 2011 Dominic Eschweiler Outline of This Talk Introduction Setup CUDA-GDB Profiling

More information

HOW I MET YOUR MODEM EXPLOIT & TROJAN DEV FOR CONSUMER DSL DEVICES HACK IN THE BOX 2013 AMSTERDAM - PETER GEISSLER & STEVEN KETELAAR

HOW I MET YOUR MODEM EXPLOIT & TROJAN DEV FOR CONSUMER DSL DEVICES HACK IN THE BOX 2013 AMSTERDAM - PETER GEISSLER & STEVEN KETELAAR HOW I MET YOUR MODEM EXPLOIT & TROJAN DEV FOR CONSUMER DSL DEVICES HACK IN THE BOX 2013 AMSTERDAM - PETER GEISSLER & STEVEN KETELAAR WHO ARE WE? STEVEN Software developer Security fanatic Produces dance

More information

Introduction to Synoptic

Introduction to Synoptic Introduction to Synoptic 1 Introduction Synoptic is a tool that summarizes log files. More exactly, Synoptic takes a set of log files, and some rules that tell it how to interpret lines in those logs,

More information

Packet Sniffer using Multicore programming. By B.A.Khivsara Assistant Professor Computer Department SNJB s KBJ COE,Chandwad

Packet Sniffer using Multicore programming. By B.A.Khivsara Assistant Professor Computer Department SNJB s KBJ COE,Chandwad Packet Sniffer using Multicore programming By B.A.Khivsara Assistant Professor Computer Department SNJB s KBJ COE,Chandwad Outline Packet Sniffer Multicore Command for CPU info Program in Python Packet

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2012 P. N. Hilfinger Version Control and Homework Submission 1 Introduction Your

More information

Introducing Tetra: An Educational Parallel Programming System

Introducing Tetra: An Educational Parallel Programming System Introducing Tetra: An Educational Parallel Programming System, Jerome Mueller, Shehan Rajapakse, Daniel Easterling May 25, 2015 Motivation We are in a multicore world. Several calls for more parallel programming,

More information

HIPAA Compliance Use Case

HIPAA Compliance Use Case Overview HIPAA Compliance helps ensure that all medical records, medical billing, and patient accounts meet certain consistent standards with regard to documentation, handling, and privacy. Current Situation

More information

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through

More information

Red Hat Linux Internals

Red Hat Linux Internals Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing

More information

RTOS Debugger for ecos

RTOS Debugger for ecos RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

Application Compatibility Best Practices for Remote Desktop Services

Application Compatibility Best Practices for Remote Desktop Services Application Compatibility Best Practices for Remote Desktop Services Introduction Remote Desktop Services in Windows Server 2008 R2 allows Windows Server to be accessed by multiple users concurrently to

More information

MatrixSSL Developer s Guide

MatrixSSL Developer s Guide MatrixSSL Developer s Guide This document discusses developing with MatrixSSL. It includes instructions on integrating MatrixSSL into an application and a description of the configurable options for modifying

More information

DevKey Documentation. Release 0.1. Colm O Connor

DevKey Documentation. Release 0.1. Colm O Connor DevKey Documentation Release 0.1 Colm O Connor March 23, 2015 Contents 1 Quickstart 3 2 FAQ 5 3 Release Notes 7 i ii DevKey Documentation, Release 0.1 Github PyPI Contents 1 DevKey Documentation, Release

More information

Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG

Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG Channel Access Client Programming Andrew Johnson Computer Scientist, AES-SSG Channel Access The main programming interface for writing Channel Access clients is the library that comes with EPICS base Written

More information

PERFORMANCE TOOLS DEVELOPMENTS

PERFORMANCE TOOLS DEVELOPMENTS PERFORMANCE TOOLS DEVELOPMENTS Roberto A. Vitillo presented by Paolo Calafiura & Wim Lavrijsen Lawrence Berkeley National Laboratory Future computing in particle physics, 16 June 2011 1 LINUX PERFORMANCE

More information

C Programming Review & Productivity Tools

C Programming Review & Productivity Tools Review & Productivity Tools Giovanni Agosta Piattaforme Software per la Rete Modulo 2 Outline Preliminaries 1 Preliminaries 2 Function Pointers Variadic Functions 3 Build Automation Code Versioning 4 Preliminaries

More information

Open Mic on IBM Notes Traveler Best Practices. Date: 11 July, 2013

Open Mic on IBM Notes Traveler Best Practices. Date: 11 July, 2013 Open Mic on IBM Notes Traveler Best Practices Date: 11 July, 2013 Open Mic Team Jayesh Parmar - IBM ICS Support engineer Presenter Shrikant Ahire - IBM ICS Support engineer Presenter Ranjit Rai - IBM ICS

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

Lab 5: BitTorrent Client Implementation

Lab 5: BitTorrent Client Implementation Lab 5: BitTorrent Client Implementation Due: Nov. 30th at 11:59 PM Milestone: Nov. 19th during Lab Overview In this lab, you and your lab parterner will develop a basic BitTorrent client that can, at minimal,

More information

ML310 Creating a VxWorks BSP and System Image for the Base XPS Design

ML310 Creating a VxWorks BSP and System Image for the Base XPS Design ML310 Creating a VxWorks BSP and System Image for the Base XPS Design Note: Screen shots in this acrobat file appear best when Acrobat Magnification is set to 133.3% Outline Software Requirements Software

More information

Performance Tuning Guide for ECM 2.0

Performance Tuning Guide for ECM 2.0 Performance Tuning Guide for ECM 2.0 Rev: 20 December 2012 Sitecore ECM 2.0 Performance Tuning Guide for ECM 2.0 A developer's guide to optimizing the performance of Sitecore ECM The information contained

More information

Oracle Database 12c: Performance Management and Tuning NEW

Oracle Database 12c: Performance Management and Tuning NEW Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Performance Management and Tuning NEW Duration: 5 Days What you will learn In the Oracle Database 12c: Performance Management and Tuning

More information

Android NDK Native Development Kit

Android NDK Native Development Kit Contents 1. What you can do with NDK 2. When to use native code 3. Stable APIs to use / available libraries 4. Build native applications with NDK 5. NDK contents and structure 6. NDK cross-compiler suite

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Cisco Local Director Abstract. Stephen Gill E-mail: gillsr@cymru.com Revision: 1.0, 04/18/2001

Cisco Local Director Abstract. Stephen Gill E-mail: gillsr@cymru.com Revision: 1.0, 04/18/2001 Cisco Local Director Abstract Stephen Gill E-mail: gillsr@cymru.com Revision: 1.0, 04/18/2001 Contents Introduction... 2 Dispatch v. Directed... 2 Network Configuration Options... 3 Switched Environment

More information

20 Command Line Tools to Monitor Linux Performance

20 Command Line Tools to Monitor Linux Performance 20 Command Line Tools to Monitor Linux Performance 20 Command Line Tools to Monitor Linux Performance It s really very tough job for every System or Network administrator to monitor and debug Linux System

More information

Compilers and Tools for Software Stack Optimisation

Compilers and Tools for Software Stack Optimisation Compilers and Tools for Software Stack Optimisation EJCP 2014 2014/06/20 christophe.guillon@st.com Outline Compilers for a Set-Top-Box Compilers Potential Auto Tuning Tools Dynamic Program instrumentation

More information

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus Mobile Application Hacking for Android and iphone 4-Day Hands-On Course Syllabus Android and iphone Mobile Application Hacking 4-Day Hands-On Course Course description This course will focus on the techniques

More information

JavaCard. Java Card - old vs new

JavaCard. Java Card - old vs new JavaCard 1 Old Smart Cards: One program (applet) Written in machine-code, specific to chip Burned into ROM Java Card - old vs new old vs new smartcards New Smart Cards: Applet written in high-level language

More information

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005 Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation

More information

Automated Performance Testing of Desktop Applications

Automated Performance Testing of Desktop Applications By Ostap Elyashevskyy Automated Performance Testing of Desktop Applications Introduction For the most part, performance testing is associated with Web applications. This area is more or less covered by

More information

The Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09

The Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09 The Advanced JTAG Bridge Nathan Yawn nathan.yawn@opencores.org 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the

More information

Start Oracle Insurance Policy Administration. Activity Processing. Version 9.2.0.0.0

Start Oracle Insurance Policy Administration. Activity Processing. Version 9.2.0.0.0 Start Oracle Insurance Policy Administration Activity Processing Version 9.2.0.0.0 Part Number: E16287_01 March 2010 Copyright 2009, Oracle and/or its affiliates. All rights reserved. This software and

More information

EZManage V4.0 Release Notes. Document revision 1.08 (15.12.2013)

EZManage V4.0 Release Notes. Document revision 1.08 (15.12.2013) EZManage V4.0 Release Notes Document revision 1.08 (15.12.2013) Release Features Feature #1- New UI New User Interface for every form including the ribbon controls that are similar to the Microsoft office

More information

Python for Series 60 Platform

Python for Series 60 Platform F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

FreeBSD Developer Summit TrustedBSD: Audit + priv(9)

FreeBSD Developer Summit TrustedBSD: Audit + priv(9) FreeBSD Developer Summit TrustedBSD: Audit + priv(9) Robert Watson FreeBSD Project Computer Laboratory University of Cambridge TrustedBSD Audit Quick audit tutorial Adding audit support to new kernel features

More information

Testing for Security

Testing for Security Testing for Security Kenneth Ingham September 29, 2009 1 Course overview The threat that security breaches present to your products and ultimately your customer base can be significant. This course is

More information

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today. & & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows

More information

B&K Precision 1785B, 1786B, 1787B, 1788 Power supply Python Library

B&K Precision 1785B, 1786B, 1787B, 1788 Power supply Python Library B&K Precision 1785B, 1786B, 1787B, 1788 Power supply Python Library Table of Contents Introduction 2 Prerequisites 2 Why a Library is Useful 3 Using the Library from Python 6 Conventions 6 Return values

More information

Dongwoo Kim : Hyeon-jeong Lee s Husband

Dongwoo Kim : Hyeon-jeong Lee s Husband 2/ 32 Who we are Dongwoo Kim : Hyeon-jeong Lee s Husband Ph.D. Candidate at Chungnam National University in South Korea Majoring in Computer Communications & Security Interested in mobile hacking, digital

More information

Managing Storage Services Modules

Managing Storage Services Modules CHAPTER 3 This chapter describes how to manage the Storage Services Module (SSM) and provides information about SSI images. This chapter includes the following sections: SSM Overview, page 3-1 Initial

More information

GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial

GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program

More information

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Getting Things Done: Practical Web/e-Commerce Application Stress Testing Getting Things Done: Practical Web/e-Commerce Application Stress Testing Robert Sabourin President Montreal, Canada rsabourin@amibug.com Slide 1 Practical Web/e-Commerce Application Stress Testing Overview:

More information

CSE 141L Computer Architecture Lab Fall 2003. Lecture 2

CSE 141L Computer Architecture Lab Fall 2003. Lecture 2 CSE 141L Computer Architecture Lab Fall 2003 Lecture 2 Pramod V. Argade CSE141L: Computer Architecture Lab Instructor: TA: Readers: Pramod V. Argade (p2argade@cs.ucsd.edu) Office Hour: Tue./Thu. 9:30-10:30

More information

COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10

COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10 LabTech Commands COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10 Overview Commands in the LabTech Control Center send specific instructions

More information

Lab 5 Using Remote Worklight Server

Lab 5 Using Remote Worklight Server Lab 5 Using Remote Worklight Server Table of Contents 5. Using Remote Worklight Server... 5-3 5.1. Lab Setup...5-4 5.1.1. Delete the mobile app in the Worklight Console... 5-4 5.2. Using the Remote Worklight

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove (amislove@ccs.neu.edu) Operating System Services Operating systems provide an environment for

More information

Cosmic Board for phycore AM335x System on Module and Carrier Board. Application Development User Manual

Cosmic Board for phycore AM335x System on Module and Carrier Board. Application Development User Manual Cosmic Board for phycore AM335x System on Module and Carrier Board Application Development User Manual Product No: PCL-051/POB-002 SOM PCB No: 1397.0 CB PCB No: 1396.1 Edition: October,2013 In this manual

More information

Linux Load Balancing

Linux Load Balancing Linux Load Balancing Hyunmin Yoon 2 Load Balancing Linux scheduler attempts to evenly distribute load across CPUs Load of CPU (run queue): sum of task weights Load balancing is triggered by Timer interrupts

More information

TLS all the tubes! TLS Fast Yet? IsWebRTC. It can be. Making TLS fast(er)... the nuts and bolts. +Ilya Grigorik @igrigorik

TLS all the tubes! TLS Fast Yet? IsWebRTC. It can be. Making TLS fast(er)... the nuts and bolts. +Ilya Grigorik @igrigorik TLS all the tubes! IsWebRTC TLS Fast Yet? It can be. Making TLS fast(er)... the nuts and bolts. +Ilya Grigorik @igrigorik All communication should be secure, always, and by default! HTTPS everywhere! ...

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 Objectives To understand the respective roles of hardware and software in a computing system. To learn what computer

More information

System/Networking performance analytics with perf. Hannes Frederic Sowa <hannes@stressinduktion.org>

System/Networking performance analytics with perf. Hannes Frederic Sowa <hannes@stressinduktion.org> System/Networking performance analytics with perf Hannes Frederic Sowa Prerequisites Recent Linux Kernel CONFIG_PERF_* CONFIG_DEBUG_INFO Fedora: debuginfo-install kernel for

More information

Using the CoreSight ITM for debug and testing in RTX applications

Using the CoreSight ITM for debug and testing in RTX applications Using the CoreSight ITM for debug and testing in RTX applications Outline This document outlines a basic scheme for detecting runtime errors during development of an RTX application and an approach to

More information

Connect for iphone. Aug, 2012 Ver 5.3b AWest. 1 P age

Connect for iphone. Aug, 2012 Ver 5.3b AWest. 1 P age Connect for iphone Aug, 2012 Ver 5.3b AWest 1 P age About the Connect for iphone App... 3 iphone app system requirements... 3 Required Software... 3 Blackboard Requirements... 3 iphone App Installation,

More information

Tutorial: Packaging your server build

Tutorial: Packaging your server build Tutorial: Packaging your server build This tutorial walks you through the steps to prepare a game server folder or package containing all the files necessary for your game server to run in Amazon GameLift.

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

LiteOS Application Note AN-103: LiteOS Event Logging. Last updated: Jan 18 2008

LiteOS Application Note AN-103: LiteOS Event Logging. Last updated: Jan 18 2008 LiteOS Application Note AN-103: LiteOS Event Logging Last updated: Jan 18 2008 This application note documents how to use the logging provided by LiteOS to record internal event traces for debugging, profiling,

More information

PATROL for Microsoft Windows Servers v2.3.00 Reviewer s Guide

PATROL for Microsoft Windows Servers v2.3.00 Reviewer s Guide PATROL for Microsoft Windows Servers v2.3.00 Reviewer s Guide Contents Welcome!................................................. 3 Management of Microsoft Windows Servers...................... 3 Installation

More information

Custom Penetration Testing

Custom Penetration Testing Custom Penetration Testing Compromising a Vulnerability through Discovery and Custom Exploitation Stephen Sims Advanced Penetration Testing - 2009 SANS 1 Objectives Penetration Testing Precompiled Tools

More information

An Introduction to High Performance Computing in the Department

An Introduction to High Performance Computing in the Department An Introduction to High Performance Computing in the Department Ashley Ford & Chris Jewell Department of Statistics University of Warwick October 30, 2012 1 Some Background 2 How is Buster used? 3 Software

More information

Debugging with TotalView

Debugging with TotalView Tim Cramer 17.03.2015 IT Center der RWTH Aachen University Why to use a Debugger? If your program goes haywire, you may... ( wand (... buy a magic... read the source code again and again and...... enrich

More information

Symantec Endpoint Protection Shared Insight Cache User Guide

Symantec Endpoint Protection Shared Insight Cache User Guide Symantec Endpoint Protection Shared Insight Cache User Guide Symantec Endpoint Protection Shared Insight Cache User Guide The software described in this book is furnished under a license agreement and

More information

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology 3. The Lagopus SDN Software Switch Here we explain the capabilities of the new Lagopus software switch in detail, starting with the basics of SDN and OpenFlow. 3.1 SDN and OpenFlow Those engaged in network-related

More information

MPLAB Harmony System Service Libraries Help

MPLAB Harmony System Service Libraries Help MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available

More information

Operating Systems and Networks

Operating Systems and Networks recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls

More information

Debugging Multi-threaded Applications in Windows

Debugging Multi-threaded Applications in Windows Debugging Multi-threaded Applications in Windows Abstract One of the most complex aspects of software development is the process of debugging. This process becomes especially challenging with the increased

More information

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant B M C S O F T W A R E, I N C. PATROL FOR WEBSPHERE APPLICATION SERVER BASIC BEST PRACTICES Ross Cochran Principal SW Consultant PAT R O L F O R W E B S P H E R E A P P L I C AT I O N S E R V E R BEST PRACTICES

More information

SkyRecon Cryptographic Module (SCM)

SkyRecon Cryptographic Module (SCM) SkyRecon Cryptographic Module (SCM) FIPS 140-2 Documentation: Security Policy Abstract This document specifies the security policy for the SkyRecon Cryptographic Module (SCM) as described in FIPS PUB 140-2.

More information

Using The Paessler PRTG Traffic Grapher In a Cisco Wide Area Application Services Proof of Concept

Using The Paessler PRTG Traffic Grapher In a Cisco Wide Area Application Services Proof of Concept Using The Paessler PRTG Traffic Grapher In a Cisco Wide Area Application Services Proof of Concept What You Will Learn Understanding bandwidth traffic and resource consumption is vital to enhanced and

More information

User-level processes (clients) request services from the kernel (server) via special protected procedure calls

User-level processes (clients) request services from the kernel (server) via special protected procedure calls Linux System Call What is System Call? User-level processes (clients) request services from the kernel (server) via special protected procedure calls System calls provide: An abstraction layer between

More information

DS-5 ARM. Using the Debugger. Version 5.13. Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M (ID120712)

DS-5 ARM. Using the Debugger. Version 5.13. Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M (ID120712) ARM DS-5 Version 5.13 Using the Debugger Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M () ARM DS-5 Using the Debugger Copyright 2010-2012 ARM. All rights reserved. Release Information The

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

L04 C Shell Scripting - Part 2

L04 C Shell Scripting - Part 2 Geophysical Computing L04-1 1. Control Structures: if then L04 C Shell Scripting - Part 2 Last time we worked on the basics of putting together a C Shell script. Now, it is time to add to this the control

More information

Monitoring, Tracing, Debugging (Under Construction)

Monitoring, Tracing, Debugging (Under Construction) Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.

More information

Rational Developer for IBM i (RDI) Distance Learning hands-on Labs IBM Rational Developer for i. Maintain an ILE RPG application using

Rational Developer for IBM i (RDI) Distance Learning hands-on Labs IBM Rational Developer for i. Maintain an ILE RPG application using IBM Software Rational Developer for IBM i (RDI) Distance Learning hands-on Labs IBM Rational Developer for i Maintain an ILE RPG application using Remote System Explorer Debug a CL/RPG program member Lab

More information

JetBrains ReSharper 2.0 Overview Introduction ReSharper is undoubtedly the most intelligent add-in to Visual Studio.NET 2003 and 2005. It greatly increases the productivity of C# and ASP.NET developers,

More information

PERFORMANCE TUNING IN MICROSOFT SQL SERVER DBMS

PERFORMANCE TUNING IN MICROSOFT SQL SERVER DBMS Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 6, June 2015, pg.381

More information

<Insert Picture Here> Tracing on Linux

<Insert Picture Here> Tracing on Linux Tracing on Linux Elena Zannoni (elena.zannoni@oracle.com) Linux Engineering, Oracle America November 6 2012 The Tree of Tracing SystemTap LTTng perf DTrace ftrace GDB TRACE_EVENT

More information

Module 26. Penetration Testing

Module 26. Penetration Testing Module 26 Penetration Testing Page 633 Ethical Hacking and Countermeasures v6 Copyright Lab 26-01 Objective: Use Azure Web Log to know details about your web traffic In the CEHv6 Labs CD-ROM, navigate

More information