Execution Tracing and Profiling
|
|
- Ashley Baker
- 5 years ago
- Views:
Transcription
1 lass 8 Questions/comments iscussion of academic honesty, GT Honor ode fficient path profiling inal project presentations: ec, 3; 4:35-6:45 ssign (see Schedule for links) Problem Set 7 discuss Readings xecution Tracing and Profiling Gathering dynamic information about programs xecution coverage xecution profiling xecution tracing Three main alternatives ebugging interfaces ustomized runtime systems Instrumentation Post-processing Online processing Preprocessing
2 xecution Tracing and Profiling Gathering dynamic information about programs xecution coverage xecution profiling xecution tracing Three main alternatives ebugging interfaces ustomized runtime systems Instrumentation Post-processing Online processing Preprocessing 3 ebugging Interfaces ebugging Interfaces provide hooks into the runtime system that allow for collecting various dynamic information while the program executes. xamples: Java Platform ebugger rchitecture (JP) JVM ebugging Interface (JVMI) JVM Profiling Interface (JVMPI) Java Virtual Machine Tool Interface (JVMTI) [New] Valgrind ynamorio mulators for embedded systems 4
3 ustomized Runtime Systems ustomized Runtime Systems are runtime systems modified to collect some specific dynamic information. xamples: Jalapeño JVM 5 Instrumentation Tools Source-level G parser (ST) ustomized gcc inary/bytecode level Vulcan L SOOT ynamic yninst PIN Valgrind 6
4 fficient Path Profiling 7 Profiling (recap) Program profiling counts occurrences of an event during a program s execution asic blocks ontrol-flow edges cyclic path pplication Performance tuning Profile-directed compilation Test coverage 8
5 Goal Goal of paper: To efficiently collect path profiles for a G (i.e., acyclic-path profiling) Why not use existing techniques (existing at the time that the paper was written)? State of the rt dge profiling: 6% overhead stimation of path profiles from edge profiles orrectly estimated only 38% of paths in SP benchmarks) xplain this figure
6 cyclic-path Profiling ssume for now all paths acyclic no loops Subsumes basic block/statement profiling edge/branch profiling etter approximation of intra-procedural path frequencies Stronger coverage criterion for white-box testing Goals for Instrumentation Low time and space overhead Minimal number of probes Optimal placement of the probes Paths represented with a simple integer value ompact numbering of paths 3
7 lgorithm Overview (i) ach potential path is represented as a state Upon entry all paths are possible ach branch taken narrows the set of possible final states State reached at the end of the procedure represents the path taken xample: P:,, 4, 5, 7 P:,, 4, 6, 7 P:, 3, 4, 5, 7 P3:, 3, 4, 6, lgorithm Overview (i) ach potential path is represented as a state Upon entry all paths are possible ach branch taken narrows the set of possible final states State reached at the end of the procedure represents the path taken xample: P:,, 4, 5, 7 P:,, 4, 6, 7 P:, 3, 4, 5, 7 P3:, 3, 4, 6, 7 K: {P, P K: {P, P K: {P, P3 K: {P, P 5
8 lgorithm Overview (i) ach potential path is represented as a state Upon entry all paths are possible ach branch taken narrows the set of possible final states State reached at the end of the procedure represents the path taken xample: P:,, 4, 5, 7 P:,, 4, 6, 7 P:, 3, 4, 5, 7 P3:, 3, 4, 6, 7 K: {P, P3 {P, P {P, P, P, P K: {P, P K: {P, P3 K: {P, P {P {P 6 lgorithm Overview (ii) inal states (i.e., paths) are represented by integers in [, n-] (n == number of paths) Instrumentation not at every branch Transitions computed by simple arithmetic operations (no tables) G transformed in acyclic Gs (Gs) xample: P:,, 4, 5, 7 P:,, 4, 6, 7 P:, 3, 4, 5, 7 P3:, 3, 4, 6, 7 r= r= r+= count[r]++ 7
9 lgorithm Steps. ssign integer values to edges such that no two paths compute the same path sum. Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge 3. Select appropriate instrumentation 4. erive the executed paths from the collected run-time profiles 8 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); 9
10 Topological, Reverse Topological Order reate a depth-first spanning tree ind topological and reverse topological orders re there other orders based on other spanning trees? lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w);
11 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 3
12 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 4 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 5
13 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 6 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 7
14 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 4 8 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) 4 9
15 lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); i n Val(i) NumPaths(n) lgorithm (Step of 4). ssign to each edge e a value Val(e) such that the sum along a path is unique and [,n-] for each vertex v in rev. top. order { if v is a leaf vertex { NumPaths(v) = ; else { NumPaths(v) = ; for each edge e = v->w { Val(e) = NumPaths(v); NumPaths(v) += NumPaths(w); 4 6 Not necessarily the best placement 3
16 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. 34 egin Side iscussion of Probe Placement 35
17 Probe placement Knuth published efficient algorithms for finding the minimum number of edge counters for edge profiling lgorithm ompute spanning tree T of G; edges in the spanning tree are bidirectional hords of spanning tree are edges in G minus edges in T Instrumenting only the chords is sufficient to deduce execution of remaining edges 36 xample Show several spanning trees for the graph, and determine where probes should be placed (complete on board) 37
18 Optimal Placement of Probes Several spanning trees may be possible on a G maximum spanning tree is a spanning tree of maximum weight on its edges (why do we want maximum spanning tree?) Weight is defined as the execution frequency of the edge (how can this be done?) 38 dge xecution requency Program can be profiled to gather edge execution frequency dge execution frequency can be approximated statically static approximation heuristic [all and Larus 94] Generally impractical for purposes of profiling paths (why?) 39
19 nd Side iscussion of Probe Placement 4 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. 4
20 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. dd edge XIT -> NTRY 4 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. dd edge XIT -> NTRY ompute a maximal spanning tree (find chords) 43
21 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. dd edge XIT -> NTRY ompute a maximal spanning tree (find chords) 44 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. dd edge XIT -> NTRY ompute a maximal spanning tree (find chords) 45
22 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. dd edge XIT -> NTRY ompute a maximal spanning tree (find chords) ssign increments: start from Val(e) and propagate to chord [all and Larus 94] 46 lgorithm (Step of 4). Use a spanning tree to select edges to instrument and compute the appropriate increment for each instrumented edge. dd edge XIT -> NTRY ompute a maximal spanning tree (find chords) ssign increments: start from Val(e) and propagate to chord [all and Larus 94] 4 47
23 lgorithm (Step 3 of 4) 3. Select appropriate instrumentation Initialize path register (r=) Update r in chords (r += inc) Increment path s counter at XIT (count[r]++) 4 48 lgorithm (Step 3 of 4) 3. Select appropriate instrumentation Initialize path register (r=) Update r in chords (r += inc) Increment path s counter at XIT (count[r]++) 49
24 lgorithm (Step 3 of 4) 3. Select appropriate instrumentation Initialize path register (r=) Update r in chords (r += inc) Increment path s counter at XIT (count[r]++) r = r += r += r += 4 r += count[r]++ 5 lgorithm (Step 3 of 4) 3. Select appropriate instrumentation Initialize path register (r=) Update r in chords (r += inc) Increment path s counter at XIT (count[r]++) Optimize Initializations (first chord on paths) Path s counter increment (last chord on paths) r = r += r += r += 4 r += count[r]++ 5
25 lgorithm (Step 3 of 4) 3. Select appropriate instrumentation Initialize path register (r=) Update r in chords (r += inc) Increment path s counter at XIT (count[r]++) Optimize Initializations (first chord on paths) Path s counter increment (last chord on paths) 5 lgorithm (Step 3 of 4) 3. Select appropriate instrumentation Initialize path register (r=) Update r in chords (r += inc) Increment path s counter at XIT (count[r]++) r= Optimize Initializations r= (first chord on paths) r=4 Path s counter increment (last chord on paths) count[r+]++ count[r]++ 53
26 lgorithm (Step 4 of 4) 4. Regenerating a path after collecting a profile Start at NTRY Let r be the path value Select which edge to follow by finding the edge with the largest value Val(e) <= r Traverse edge e and r = r Val(e) 54 lgorithm (Step 4 of 4) 4. Regenerating a path after collecting a profile Start at NTRY Let r be the path value Select which edge to follow by finding the edge with the largest value Val(e) <= r Traverse edge e and r = r Val(e) Generate path for 5 Generate path for 3 55
27 cyclic Paths ll paths are intra-procedural (later extension to interprocedural) No cycles (to avoid infinite number of paths) ifferent kinds of loops and representations of loops (we ll see in what follows) 56 rbitrary ontrol low (loops) Loop implies the presence of a back-edge ack-edges instrumented to increment path counter and reinitialize path register (count[r]++; r=) This is not enough; with loops 4 types of paths (v->w and x->y are back-edges) NTRY to XIT NTRY to v (ending with execution of v->w) w to x (after executing v->w and ending with the execution of x->y, v->w and x->y can be the same back-edge) w to XIT (after executing v->w) Need to distinguish them
28 rbitrary ontrol low (loops) Loop implies the presence of a back-edge ack-edges instrumented to increment path counter and reinitialize path register (count[r]++; r=) This is not enough; with loops, 4 types of paths (v->w and x->y are back-edges) NTRY to XIT NTRY to v (ending with execution of v->w) w to x (after executing v->w and ending with the execution of x->y, v->w and x->y can be the same back-edge) w to XIT (after executing v->w) Need to distinguish them rbitrary ontrol low (loops) Loop implies the presence of a back-edge ack-edges instrumented to increment path counter and reinitialize path register (count[r]++; r=) This is not enough; with loops, 4 types of paths (v->w and x->y are back-edges) NTRY to XIT NTRY to v (ending with execution of v->w) w to x (after executing v->w and ending with the execution of x->y, v->w and x->y can be the same back-edge) w to XIT (after executing v->w) Need to distinguish them
29 rbitrary ontrol low (loops) Loop implies the presence of a back-edge ack-edges instrumented to increment path counter and reinitialize path register (count[r]++; r=) This is not enough; with loops, 4 types of paths (v->w and x->y are back-edges) NTRY to XIT NTRY to v (ending with execution of v->w) w to x (after executing v->w and ending with the execution of x->y, v->w and x->y can be the same back-edge) w to XIT (after executing v->w) Need to distinguish them rbitrary ontrol low (loops) Loop implies the presence of a back-edge ack-edges instrumented to increment path counter and reinitialize path register (count[r]++; r=) This is not enough; with loops, 4 types of paths (v->w and x->y are back-edges) NTRY to XIT NTRY to v (ending with execution of v->w) w to x (after executing v->w and ending with the execution of x->y, v->w and x->y can be the same back-edge) w to XIT (after executing v->w) Need to distinguish them
30 rbitrary ontrol low (loops) Loop implies the presence of a back-edge ack-edges instrumented to increment path counter and reinitialize path register (count[r]++; r=) This is not enough; with loops, 4 types of paths (v->w and x->y are back-edges) NTRY to XIT NTRY to v (ending with execution of v->w) w to x (after executing v->w and ending with the execution of x->y, v->w and x->y can be the same back-edge) w to XIT (after executing v->w) Need to distinguish them onvert rbitrary Gs to Gs liminate back-edges before computation of edge values and chord increments Remove a loop back-edge dd two edges () NTRY -> Target of back-edge () Source of back-edge -> XIT The dummy edges create extra paths NTRY-XIT that the value assignment algorithm takes into account dge () represents reinitializing along the back-edge dge () represents incrementing along the back-edge 63
31 onvert rbitrary Gs to Gs liminate back-edges before computation of edge values and chord increments Remove a loop back-edge dd two edges () NTRY -> Target of back-edge 3 () Source of back-edge -> XIT The dummy edges create extra paths NTRY-XIT 4 that the value assignment algorithm takes into account dge () represents reinitializing along the back-edge dge () represents incrementing along the back-edge Implementation Implemented in a tool called PP PP instruments SPR binaries uilt on top of L (binary instrumenter) Uses a register to store r Replaces array of counters with hash table if number of paths too large Plus some other optimizations 65
32 xperimental Results (i) Used SP95 benchmark programs and test suites dge profiling average overhead=6.% (.6%-5.8%) Path profiling average overhead=3.9% (5.5%-96.9%) When hashing is used performance is hurt Using no hashing, overhead is comparable or lower than edge profiling 66 lgorithm volution all & Larus, Optimally Profiling and Tracing Programs ocuses on edge and vertex profiling Optimal placement of probes all, fficiently ounting Program vents with Support for On-line Queries eveloped the technique for edge profiling with one register (instead of a counter for each edge) 69
Program Analysis. Program Analysis
Program Analysis Class #4 Program Analysis Dynamic Analysis 1 Static VS Dynamic Analysis Static analysis operates on a model of the SW (without executing it) If successful, produces definitive information
More informationEfficient Path Profiling
fficient Path Profiling Thomas all ell Laboratories Lucent Technologies tball@research.bell-labs.com James R. Larus ept. of omputer Sciences University of Wisconsin-Madison larus@cs.wisc.edu bstract path
More informationEfficient Path Profiling
Efficient Path Profiling Thomas Ball James R. Larus Bell Laboratories Univ. of Wisconsin (now at Microsoft Research) Presented by Ophelia Chesley Overview Motivation Path Profiling vs. Edge Profiling Path
More informationProgram Calling Context. Motivation
Program alling ontext Motivation alling context enhances program understanding and dynamic analyses by providing a rich representation of program location ollecting calling context can be expensive The
More informationAccessing Variables. How can we generate code for x?
S-322 Register llocation ccessing Variables How can we generate code for x? a := x + y The variable may be in a register:,r x, The variable may be in a static memory location: ST x,r w work register L
More informationSimple Machine Model. Lectures 14 & 15: Instruction Scheduling. Simple Execution Model. Simple Execution Model
Simple Machine Model Fall 005 Lectures & 5: Instruction Scheduling Instructions are executed in sequence Fetch, decode, execute, store results One instruction at a time For branch instructions, start fetching
More informationData Organization: Creating Order Out Of Chaos
ata Organization: reating Order Out Of haos 3 Non-linear data structures 5-5 Principles of omputation, arnegie Mellon University - ORTIN Trees tree is a hierarchical (usually non-linear) data structure.
More informationComputational Geometry
Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel
More informationWeek 9 Student Responsibilities. Mat Example: Minimal Spanning Tree. 3.3 Spanning Trees. Prim s Minimal Spanning Tree.
Week 9 Student Responsibilities Reading: hapter 3.3 3. (Tucker),..5 (Rosen) Mat 3770 Spring 01 Homework Due date Tucker Rosen 3/1 3..3 3/1 DS & S Worksheets 3/6 3.3.,.5 3/8 Heapify worksheet ttendance
More informationDFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4)
S on irected Graphs OS OR JK SO LX W MI irected Graphs S 1.3 1 Outline and Reading ( 6.4) Reachability ( 6.4.1) irected S Strong connectivity irected cyclic Graphs (G s) ( 6.4.4) Topological Sorting irected
More informationSpanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP)
Spanning Tree (015) Lecture1: Graph III ohyung Han S, POSTH bhhan@postech.ac.kr efinition and property Subgraph that contains all vertices of the original graph and is a tree Often, a graph has many different
More informationIP Forwarding Computer Networking. Routes from Node A. Graph Model. Lecture 10: Intra-Domain Routing
IP orwarding - omputer Networking Lecture : Intra-omain Routing RIP (Routing Information Protocol) & OSP (Open Shortest Path irst) The Story So ar IP addresses are structure to reflect Internet structure
More informationProgram Profiling. Xiangyu Zhang
Program Profiling Xiangyu Zhang Outline What is profiling. Why profiling. Gprof. Efficient path profiling. Object equality profiling 2 What is Profiling Tracing is lossless, recording every detail of a
More informationNote. Out of town Thursday afternoon. Willing to meet before 1pm, me if you want to meet then so I know to be in my office
raphs and Trees Note Out of town Thursday afternoon Willing to meet before pm, email me if you want to meet then so I know to be in my office few extra remarks about recursion If you can write it recursively
More informationCISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search
IS 320 Introduction to lgorithms all 2014 Lecture 15 epth irst Search 1 Traversing raphs Systematic search of every edge and vertex of graph (directed or undirected) fficiency: each edge is visited no
More informationWhat is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats
What is Routing? Routing implements the core function of a network: : Shortest Path Routing Ion Stoica Ts: Junda Liu, K Moon, avid Zats http://inst.eecs.berkeley.edu/~ee/fa9 (Materials with thanks to Vern
More informationIncremental Path Planning
utline ncremental Path Planning ontinuous Planning and ynamic * ptimal Path Planning in Partially nown nvironments. ontinuous ptimal Path Planning ynamic * ncremental * (RT*) [ppendix] Prof. rian Williams
More informationThird Generation Routers
IP orwarding 5-5- omputer Networking 5- Lecture : Routing Peter Steenkiste all www.cs.cmu.edu/~prs/5-- The Story So ar IP addresses are structured to reflect Internet structure IP packet headers carry
More informationDigraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed.
igraphs ( 12.4) irected Graphs OR OS digraph is a graph whose edges are all directed Short for directed graph pplications one- way streets flights task scheduling irected Graphs 1 irected Graphs 2 igraph
More informationProblem: Large Graphs
S : ata Structures raph lgorithms raph Search Lecture Problem: Large raphs It is expensive to find optimal paths in large graphs, using S or ijkstra s algorithm (for weighted graphs) How can we search
More informationA region is each individual area or separate piece of the plane that is divided up by the network.
Math 135 Networks and graphs Key terms Vertex (Vertices) ach point of a graph dge n edge is a segment that connects two vertices. Region region is each individual area or separate piece of the plane that
More informationDistance-Vector Routing: Distributed B-F (cont.)
istance-vector Routing: istributed - (cont.) xample [ istributed ellman-ord lgorithm ] ssume each node i maintains an entry (R(i,x), L(i,x)), where R(i,x) is the next node along the current shortest path
More informationApplications of BFS and DFS
pplications of S and S S all // : PM Some pplications of S and S S o find the shortest path from a vertex s to a vertex v in an unweighted graph o find the length of such a path o construct a S tree/forest
More informationCS.17.A.MachineI.Overview
P R T I I : L G O R I T H M S, M H I N E S, a n d T H E O R Y P R T I I : L G O R I T H M S, M H I N E S, a n d T H E O R Y omputer Science 7. omputing Machine omputer Science 7. omputing Machine Overview
More informationAdvanced Compilers CMPSCI 710 Spring 2003 Dominators, etc.
Advanced ompilers MPSI 710 Spring 2003 ominators, etc. mery erger University of Massachusetts, Amherst ominators, etc. Last time Live variable analysis backwards problem onstant propagation algorithms
More informationTCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis
TOM 50: Networking Theory & undamentals Lecture pril 6, 2003 Prof. Yannis. Korilis 2 Topics Routing in ata Network Graph Representation of a Network Undirected Graphs Spanning Trees and Minimum Weight
More informationAnalysis of Algorithms Prof. Karen Daniels
UMass Lowell omputer Science 91.404 nalysis of lgorithms Prof. Karen aniels Spring, 2013 hapter 22: raph lgorithms & rief Introduction to Shortest Paths [Source: ormen et al. textbook except where noted]
More informationAd Hoc Routing. Ad-hoc Routing. Problems Using DV or LS. DSR Concepts. DSR Components. Proposed Protocols
d oc Routing d-hoc Routing rvind Krishnamurthy all 2003 Create multi-hop connectivity among set of wireless, possibly moving, nodes Mobile, wireless hosts act as forwarding nodes as well as end systems
More informationMachine Learning Lecture 16
ourse Outline Machine Learning Lecture 16 undamentals (2 weeks) ayes ecision Theory Probability ensity stimation Undirected raphical Models & Inference 28.06.2016 iscriminative pproaches (5 weeks) Linear
More informationBreadth-First Search L 1 L Goodrich, Tamassia, Goldwasser Breadth-First Search 1
readth-irst Search 2013 Goodrich, Tamassia, Goldwasser readth-irst Search 1 readth-irst Search readth-first search (S) is a general technique for traversing a graph S traversal of a graph G Visits all
More informationCSE/EE 461 Lecture 7 Bridging LANs. Last Two Times. This Time -- Switching (a.k.a. Bridging)
S/ 461 Lecture 7 ridging LNs Last Two Times Medium ccess ontrol (M) protocols Part of the Link Layer t the heart of Local rea Networks (LNs) ow do multiple parties share a wire or the air? Random access
More informationLecture 10. Dynamic Analysis
Lecture 10. Dynamic Analysis Wei Le Thank Xiangyu Zhang, Michael Ernst, Tom Ball for Some of the Slides Iowa State University 2014.11 Outline What is dynamic analysis? Instrumentation Analysis Representing
More information0!1. Overlaying mechanism is called tunneling. Overlay Network Nodes. ATM links can be the physical layer for IP
epartment of lectrical ngineering and omputer Sciences University of alifornia erkeley '!$$( network defined over another set of networks The overlay addresses its own nodes Links on one layer are network
More informationALGORITHMS FOR DECISION SUPPORT
GORIHM FOR IION UOR ayesian networks Guest ecturer: ilja Renooij hanks to hor Whalen or kindly contributing to these slides robabilistic Independence onditional Independence onditional Independence hain
More informationModule 3: Hashing Lecture 9: Static and Dynamic Hashing. The Lecture Contains: Static hashing. Hashing. Dynamic hashing. Extendible hashing.
The Lecture Contains: Hashing Dynamic hashing Extendible hashing Insertion file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture9/9_1.htm[6/14/2012
More information1 Project: Fast Trajectory Replanning for Computer Games
Project: Fast rajectory Replanning for omputer Games Figure : otal nnihilation by avedog onsider characters in real-time computer games, such as otal nnihilation shown in Figure. o make them easy to control,
More informationCAD Algorithms. Shortest Path
lgorithms Shortest Path lgorithms Mohammad Tehranipoor epartment September 00 Shortest Path Problem: ind the best way of getting from s to t where s and t are vertices in a graph. est: Min (sum of the
More informationCompiler Optimization and Code Generation
Compiler Optimization and Code Generation Professor: Sc.D., Professor Vazgen elikyan 1 Course Overview ntroduction: Overview of Optimizations 1 lecture ntermediate-code Generation 2 lectures achine-ndependent
More informationAlgorithms. Definition: An algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps:
Matchings 7.2 99 lgorithms efinition: n algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps: 1 Organize the input. 2 Repeatedly apply some steps until a termination
More information4/11/2012. Outline. Routing Protocols for Ad Hoc Networks. Classification of Unicast Ad-Hoc Routing Protocols. Ad Hoc Networks.
18759 Wireless Networks (2012-pring) urvey Routing Protocols for d Hoc Networks Jiun-RenLin and Yi-hun hou lectrical and omputer ngineering arnegie Mellon University Outline d-hoc networks Unicast d-hoc
More informationConstraint satisfaction search. Combinatorial optimization search.
S 1571 Introduction to I Lecture 8 onstraint satisfaction search. ombinatorial optimization search. Milos Hauskrecht milos@cs.pitt.edu 539 Sennott Square onstraint satisfaction problem (SP) Objective:
More informationAlgorithm Design (8) Graph Algorithms 1/2
Graph Algorithm Design (8) Graph Algorithms / Graph:, : A finite set of vertices (or nodes) : A finite set of edges (or arcs or branches) each of which connect two vertices Takashi Chikayama School of
More informationData Structure Chapter 6
ata Structure hapter Non-inary Trees r. Patrick han School of omputer Science and ngineering South hina University of Technology Outline Non-inary (eneral) Tree (h.) Parent Pointer mplementation (h.) ist
More informationConstraint-based Testing
onstraint-based Testing Software ngineering Gordon raser Saarland University ased on slides by rnaud Gotlieb & Koushik Sen So many different test objectives... 216 oundary interior testing ompound condition
More informationCS553 Lecture Profile-Guided Optimizations 3
Profile-Guided Optimizations Last time Instruction scheduling Register renaming alanced Load Scheduling Loop unrolling Software pipelining Today More instruction scheduling Profiling Trace scheduling CS553
More informationMinimum Spanning Trees and Shortest Paths
Minimum Spanning Trees and Shortest Paths Kruskal's lgorithm Prim's lgorithm Shortest Paths pril 04, 018 inda eeren / eoffrey Tien 1 Kruskal's algorithm ata types for implementation Kruskalslgorithm()
More informationAn Early Problem in Graph Theory. Clicker Question 1. Konigsberg and the River Pregel
raphs Topic " Hopefully, you've played around a bit with The Oracle of acon at Virginia and discovered how few steps are necessary to link just about anybody who has ever been in a movie to Kevin acon,
More informationData Structures Lecture 14
Fall 2018 Fang Yu Software Security Lab. ept. Management Information Systems, National hengchi University ata Structures Lecture 14 Graphs efinition, Implementation and Traversal Graphs Formally speaking,
More informationRouting. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control
Routing Third Topic of the course Read chapter of the text Read chapter of the reference Main functions of routing system Selection of routes between the origin/source-destination pairs nsure that the
More informationDepartment of Electronics and Technology, Shivaji University, Kolhapur, Maharashtra, India. set algorithm. Figure 1: System Architecture
merican International Journal of Research in Science, Technology, Engineering & Mathematics vailable online at http://www.iasir.net ISSN (Print): 2328-3491, ISSN (Online): 2328-3580, ISSN (D-ROM): 2328-3629
More informationMethods and tools for system on chip retargetable parallel programming
St. Petersburg State University of Aerospace Instrumentation Institute of High-Performance omputer and Network Technologies Methods and tools for system on chip retargetable parallel programming Alexey
More informationModule 5 Graph Algorithms
Module 5 Graph lgorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu 5. Graph Traversal lgorithms Depth First
More informationLightweight Control-Flow Instrumentation and Postmortem Analysis in Support of Debugging
Lightweight Control-Flow Instrumentation and Postmortem Analysis in Support of Debugging Peter Ohmann University of Wisconsin Madison ohmann@cs.wisc.edu Ben Liblit University of Wisconsin Madison liblit@cs.wisc.edu
More informationDesign and Analysis of Algorithms
S 101, Winter 2018 esign and nalysis of lgorithms Lecture 3: onnected omponents lass URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ nd of Lecture 2: s, Topological Order irected cyclic raph.g., Vertices
More informationMarkov Random Fields
3750 Machine earning ecture 4 Markov Random ields Milos auskrecht milos@cs.pitt.edu 5329 ennott quare 3750 dvanced Machine earning Markov random fields Probabilistic models with symmetric dependences.
More informationDiscussion 8: Link State Routing. CSE 123: Computer Networks Marti Motoyama & Chris Kanich
iscussion 8: Link State Routing S : omputer Networks Marti Motoyama & hris Kanich Schedule Project Questions: mail hris, post to moodle, or attend his OH Homework Questions? Link State iscussion S iscussion
More information2B 52 AB CA 3E A1 +29 A B C. CS120 Fall 2018 Final Prep and super secret quiz 9
S2 Fall 28 Final Prep and super secret quiz 9 ) onvert 8-bit (2-digit) 2 s complement hex values: 4-29 inary: Hex: x29 2) onvert 8-bit 2 s complement hex to decimal: x3 inary: xe5 Decimal: 58 Note 3*6+
More informationMinimum Spanning Trees and Shortest Paths
Minimum Spanning Trees and Shortest Paths Prim's algorithm ijkstra's algorithm November, 017 inda eeren / eoffrey Tien 1 Recall: S spanning tree Starting from vertex 16 9 1 6 10 13 4 3 17 5 11 7 16 13
More informationAn iteration of Branch and Bound One iteration of Branch and Bound consists of the following four steps: Some definitions. Branch and Bound.
ranch and ound xamples and xtensions jesla@man.dtu.dk epartment of Management ngineering Technical University of enmark ounding ow do we get ourselves a bounding function? Relaxation. Leave out some constraints.
More informationDSDV: Proactive. Distance Vector (Basic idea) Distance Vector. Distance Vector Algorithm: Tables 12/13/2016
estination Sequenced istance Vector (SV) Routing [Perkins94] SV: Proactive SV is a proactive protocol means it maintains up-to-date routing information for all available nodes in the network. No extra
More informationAn Iterative Enterprise Group Algorithm
akob ruby Registers, lassifications and eoinformation ivision Neuchâtel September 2018 n terative nterprise roup lgorithm www.statistik.at The ata Raw data about enterprises and people related to them
More information3.1 Basic Definitions and Applications
Graphs hapter hapter Graphs. Basic efinitions and Applications Graph. G = (V, ) n V = nodes. n = edges between pairs of nodes. n aptures pairwise relationship between objects: Undirected graph represents
More informationNow Arriving at Layer 3. Packet Forwarding. Router Design. Network Layers and Routers. Switching and Forwarding. Forwarding
Now rriving at Layer Packet orwarding although layer switches and layer routers are similar in many ways and TM/Virtual are used at layer these days 9/7/6 S/ 48 - UIU, all 6 9/7/6 S/ 48 - UIU, all 6 Layers
More information( ) n 3. n 2 ( ) D. Ο
CSE 0 Name Test Summer 0 Last Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to multiply two n n matrices is: A. Θ( n) B. Θ( max( m,n, p) ) C.
More informationIntroduction to Parsing. Lecture 8
Introduction to Parsing Lecture 8 Adapted from slides by G. Necula Outline Limitations of regular languages Parser overview Context-free grammars (CFG s) Derivations Languages and Automata Formal languages
More informationDirected Graphs (II) Hwansoo Han
Directed Graphs (II) Hwansoo Han Traversals of Directed Graphs To solve many problems dealing with digraphs, we need to visit vertexes and arcs in a systematic way Depth-first search (DFS) A generalization
More information2/16/2008. Outline Computer Networking Lecture 11 Routing. Sending Link States by Flooding. Link State Protocol Concept
//8 Outline - omputer Networking Lecture Routing Link tate OP Peter teenkiste epartments of omputer cience and Electrical and omputer Engineering IP Multicast ervice asics - Networking, pring 8 http://www.cs.cmu.edu/~dga/-/8
More informationL10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37
L10 Graphs lice. Fischer pril 2016 lice. Fischer L10 Graphs... 1/37 pril 2016 1 / 37 Outline 1 Graphs efinition Graph pplications Graph Representations 2 Graph Implementation 3 Graph lgorithms Sorting
More informationAn Inference Mechanism for Point-Interval Logic
Proceedings of the Twenty-First International FLIRS onference (2008) n Inference Mechanism for Point-Interval Logic Mashhood Ishaque omputer Science epartment Tufts University, Medford, M mishaq01@cs.tufts.edu
More informationCPSC 3740 Programming Languages University of Lethbridge. Control Structures
Control Structures A control structure is a control statement and the collection of statements whose execution it controls. Common controls: selection iteration branching Control Structures 1 15 Howard
More informationCS 124: Course Review for Final Exam. Grades So Far (with Top Students) Exam Format: Similar to Midterms Class Quizzes Some Topic Highlights
S : ourse Review for inal xam Grades So ar (with Top Students) xam ormat: Similar to Midterms lass Quizzes Some Topic Highlights Illustrations of O,, (lass Quiz ) f (N) g (N) g (N) True or false?. g (N)=O(f
More informationÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE! 1. Link state flooding topology information finding the shortest paths (Dijkstra)
ontents ÉOL POLYTHNIQU ÉÉRL LUSNN! 1. Link state flooding topology information finding the shortest paths (ijkstra)! 2. Hierarchical routing with areas! 3. OSP Link State Routing database modelling neighbor
More informationSymbolic Execution, Dynamic Analysis
Symbolic Execution, Dynamic Analysis http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Symbolic execution Pavel Parízek Symbolic Execution, Dynamic Analysis
More informationAlternate Algorithm for DSM Partitioning
lternate lgorithm for SM Partitioning Power of djacency Matrix pproach Using the power of the adjacency matrix approach, a binary SM is raised to its n th power to indicate which tasks can be traced back
More informationPage 1 EEC173B/ECS152C. Link State Routing [Huitema95] Optimized Link State Routing (OLSR) MANET Unicast Routing. Proactive Protocols
173/S152 Proactive Protocols MNT Unicast Routing Proactive Protocols OLSR SV ybrid Protocols Most of the schemes discussed so far are reactive Proactive schemes based on distance vector and link state
More informationABC basics (compilation from different articles)
1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node
More informationGraphX. Graph Analytics in Spark. Ankur Dave Graduate Student, UC Berkeley AMPLab. Joint work with Joseph Gonzalez, Reynold Xin, Daniel
GraphX Graph nalytics in Spark nkur ave Graduate Student, U Berkeley MPLab Joint work with Joseph Gonzalez, Reynold Xin, aniel U BRKLY rankshaw, Michael Franklin, and Ion Stoica Graphs Social Networks
More informationChapter 2 Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize
More informationIP Forwarding Computer Networking. Graph Model. Routes from Node A. Lecture 11: Intra-Domain Routing
IP Forwarding 5-44 omputer Networking Lecture : Intra-omain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First) The Story So Far IP addresses are structured to reflect Internet
More informationControl Structures II. Repetition (Loops)
Control Structures II Repetition (Loops) Why Is Repetition Needed? How can you solve the following problem: What is the sum of all the numbers from 1 to 100 The answer will be 1 + 2 + 3 + 4 + 5 + 6 + +
More informationECE 242 Data Structures and Algorithms. Graphs II. Lecture 27. Prof.
242 ata Structures and lgorithms http://www.ecs.umass.edu/~polizzi/teaching/242/ Graphs II Lecture 27 Prof. ric Polizzi Summary Previous Lecture omposed of vertices (nodes) and edges vertex or node edges
More informationMethod-Level Phase Behavior in Java Workloads
Method-Level Phase Behavior in Java Workloads Andy Georges, Dries Buytaert, Lieven Eeckhout and Koen De Bosschere Ghent University Presented by Bruno Dufour dufour@cs.rutgers.edu Rutgers University DCS
More informationrequires prior specific permission and/or a fee. PLDI 2000, Vancouver, British Columbia, Canada.
Optimal Instruction Scheduling Using Integer Programming Kent Wilken Jack Liu Mark Heernan epartment of lectrical and omputer ngineering University of alifornia, avis, 9566 fwilken,jjliu,meheffg@ece.ucdavis.edu
More informationSummary. Acyclic Networks Join Tree Clustering. Tree Decomposition Methods. Acyclic Network. Tree Based Clustering. Tree Decomposition.
Summary s Join Tree Importance of s Solving Topological structure denes key features for a wide class of problems CSP: Inference in acyclic network is extremely ecient (polynomial) Idea: remove cycles
More informationAlgorithms and Data Structures
Algorithms and Data Structures Strongly Connected Components Ulf Leser Content of this Lecture Graph Traversals Strongly Connected Components Ulf Leser: Algorithms and Data Structures, Summer Semester
More informationBinary Space Partition Trees. Overview. Binary Space Partitioning Trees (Fuchs, Kedem and Naylor `80)
Binary Space Partition Trees Anthony Steed, Yiorgos Chrysanthou 999-200, Celine Loscos 200, Jan Kautz 2007-2009 Overview Previous list priority algorithms fail in a number of cases, non of them is completely
More informationData Struct. & Prob. Solving, M.C.Q. BANK, FOR UNIT 3, SECOND YEAR COMP. ENGG. SEM 1, 2012 PATTERN, U.O.P.
UNIT distribution for +1+1 + 1 + + = 11 (Only 1 will be asked for marks, s will be asked for 1 & s asked for marks ) Syllabus for Graphs Programmers perspective of graphs, Graph operations, storage structure,
More informationEfficient Online Computation of Statement Coverage
Efficient Online Computation of Statement Coverage ABSTRACT Mustafa M. Tikir tikir@cs.umd.edu Computer Science Department University of Maryland College Park, MD 7 Jeffrey K. Hollingsworth hollings@cs.umd.edu
More informationAdaptive Multi-Level Compilation in a Trace-based Java JIT Compiler
Adaptive Multi-Level Compilation in a Trace-based Java JIT Compiler Hiroshi Inoue, Hiroshige Hayashizaki, Peng Wu and Toshio Nakatani IBM Research Tokyo IBM Research T.J. Watson Research Center October
More informationUndirected graph is a special case of a directed graph, with symmetric edges
S-6S- ijkstra s lgorithm -: omputing iven a directed weighted graph (all weights non-negative) and two vertices x and y, find the least-cost path from x to y in. Undirected graph is a special case of a
More informationMemory Placement Techniques for Parallel Association Mining
Memory Placement Techniques for Parallel ssociation Mining Srinivasan Parthasarathy, Mohammed J. Zaki, and Wei Li omputer Science epartment, University of Rochester, Rochester NY 14627 srini,zaki,wei @cs.rochester.edu
More information( ) D. Θ ( ) ( ) Ο f ( n) ( ) Ω. C. T n C. Θ. B. n logn Ο
CSE 0 Name Test Fall 0 Multiple Choice. Write your answer to the LEFT of each problem. points each. The expected time for insertion sort for n keys is in which set? (All n! input permutations are equally
More informationLesson 4.2. Critical Paths
Lesson. ritical Paths It is relatively easy to find the shortest time needed to complete a project if the project consists of only a few activities. ut as the tasks increase in number, the problem becomes
More informationCHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL
CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test
More informationTrace-based JIT Compilation
Trace-based JIT Compilation Hiroshi Inoue, IBM Research - Tokyo 1 Trace JIT vs. Method JIT https://twitter.com/yukihiro_matz/status/533775624486133762 2 Background: Trace-based Compilation Using a Trace,
More informationPhysical Level of Databases: B+-Trees
Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,
More informationPerformance analysis basics
Performance analysis basics Christian Iwainsky Iwainsky@rz.rwth-aachen.de 25.3.2010 1 Overview 1. Motivation 2. Performance analysis basics 3. Measurement Techniques 2 Why bother with performance analysis
More informationExam 3 Practice Problems
Exam 3 Practice Problems HONOR CODE: You are allowed to work in groups on these problems, and also to talk to the TAs (the TAs have not seen these problems before and they do not know the solutions but
More informationAn Early Problem in Graph Theory
raphs Topic 2 " Hopefully, you've played around a bit with The Oracle of acon at Virginia and discovered how few steps are necessary to link just about anybody who has ever been in a movie to Kevin acon,
More informationAcyclic Network. Tree Based Clustering. Tree Decomposition Methods
Summary s Cluster Tree Elimination Importance of s Solving Topological structure dene key features for a wide class of problems CSP: Inference in acyclic network is extremely ecient (polynomial) Idea:
More information