Execution Tracing and Profiling

Size: px
Start display at page:

Download "Execution Tracing and Profiling"

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. 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 information

Efficient Path Profiling

Efficient 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 information

Efficient Path Profiling

Efficient 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 information

Program Calling Context. Motivation

Program 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 information

Accessing Variables. How can we generate code for x?

Accessing 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 information

Simple Machine Model. Lectures 14 & 15: Instruction Scheduling. Simple Execution Model. Simple Execution Model

Simple 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 information

Data Organization: Creating Order Out Of Chaos

Data 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 information

Computational Geometry

Computational 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 information

Week 9 Student Responsibilities. Mat Example: Minimal Spanning Tree. 3.3 Spanning Trees. Prim s Minimal Spanning Tree.

Week 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 information

DFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4)

DFS 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 information

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP)

Spanning 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 information

IP Forwarding Computer Networking. Routes from Node A. Graph Model. Lecture 10: Intra-Domain Routing

IP 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 information

Program Profiling. Xiangyu Zhang

Program 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 information

Note. 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

Note. 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 information

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search

CISC 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 information

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats

What 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 information

Incremental Path Planning

Incremental 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 information

Third Generation Routers

Third 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 information

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed.

Digraphs ( 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 information

Problem: Large Graphs

Problem: 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 information

A region is each individual area or separate piece of the plane that is divided up by the network.

A 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 information

Distance-Vector Routing: Distributed B-F (cont.)

Distance-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 information

Applications of BFS and DFS

Applications 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 information

CS.17.A.MachineI.Overview

CS.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 information

Advanced Compilers CMPSCI 710 Spring 2003 Dominators, etc.

Advanced 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 information

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

TCOM 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 information

Analysis of Algorithms Prof. Karen Daniels

Analysis 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 information

Ad Hoc Routing. Ad-hoc Routing. Problems Using DV or LS. DSR Concepts. DSR Components. Proposed Protocols

Ad 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 information

Machine Learning Lecture 16

Machine 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 information

Breadth-First Search L 1 L Goodrich, Tamassia, Goldwasser Breadth-First Search 1

Breadth-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 information

CSE/EE 461 Lecture 7 Bridging LANs. Last Two Times. This Time -- Switching (a.k.a. Bridging)

CSE/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 information

Lecture 10. Dynamic Analysis

Lecture 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 information

0!1. Overlaying mechanism is called tunneling. Overlay Network Nodes. ATM links can be the physical layer for IP

0!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 information

ALGORITHMS FOR DECISION SUPPORT

ALGORITHMS 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 information

Module 3: Hashing Lecture 9: Static and Dynamic Hashing. The Lecture Contains: Static hashing. Hashing. Dynamic hashing. Extendible hashing.

Module 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 information

1 Project: Fast Trajectory Replanning for Computer Games

1 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 information

CAD Algorithms. Shortest Path

CAD 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 information

Compiler Optimization and Code Generation

Compiler 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 information

Algorithms. Definition: An algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps:

Algorithms. 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 information

4/11/2012. Outline. Routing Protocols for Ad Hoc Networks. Classification of Unicast Ad-Hoc Routing Protocols. Ad Hoc Networks.

4/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 information

Constraint satisfaction search. Combinatorial optimization search.

Constraint 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 information

Algorithm Design (8) Graph Algorithms 1/2

Algorithm 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 information

Data Structure Chapter 6

Data 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 information

Constraint-based Testing

Constraint-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 information

CS553 Lecture Profile-Guided Optimizations 3

CS553 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 information

Minimum Spanning Trees and Shortest Paths

Minimum 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 information

An Early Problem in Graph Theory. Clicker Question 1. Konigsberg and the River Pregel

An 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 information

Data Structures Lecture 14

Data 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 information

Routing. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control

Routing. 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 information

Department of Electronics and Technology, Shivaji University, Kolhapur, Maharashtra, India. set algorithm. Figure 1: System Architecture

Department 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 information

Methods and tools for system on chip retargetable parallel programming

Methods 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 information

Module 5 Graph Algorithms

Module 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 information

Lightweight Control-Flow Instrumentation and Postmortem Analysis in Support of Debugging

Lightweight 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 information

Design and Analysis of Algorithms

Design 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 information

Markov Random Fields

Markov 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 information

Discussion 8: Link State Routing. CSE 123: Computer Networks Marti Motoyama & Chris Kanich

Discussion 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 information

2B 52 AB CA 3E A1 +29 A B C. CS120 Fall 2018 Final Prep and super secret quiz 9

2B 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 information

Minimum Spanning Trees and Shortest Paths

Minimum 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 information

An iteration of Branch and Bound One iteration of Branch and Bound consists of the following four steps: Some definitions. Branch and Bound.

An 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 information

DSDV: Proactive. Distance Vector (Basic idea) Distance Vector. Distance Vector Algorithm: Tables 12/13/2016

DSDV: 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 information

An Iterative Enterprise Group Algorithm

An 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 information

3.1 Basic Definitions and Applications

3.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 information

Now Arriving at Layer 3. Packet Forwarding. Router Design. Network Layers and Routers. Switching and Forwarding. Forwarding

Now 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. Ο

( ) 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 information

Introduction to Parsing. Lecture 8

Introduction 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 information

Directed Graphs (II) Hwansoo Han

Directed 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 information

2/16/2008. Outline Computer Networking Lecture 11 Routing. Sending Link States by Flooding. Link State Protocol Concept

2/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 information

L10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37

L10 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 information

An Inference Mechanism for Point-Interval Logic

An 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 information

CPSC 3740 Programming Languages University of Lethbridge. Control Structures

CPSC 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 information

CS 124: Course Review for Final Exam. Grades So Far (with Top Students) Exam Format: Similar to Midterms Class Quizzes Some Topic Highlights

CS 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)

É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 information

Symbolic Execution, Dynamic Analysis

Symbolic 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 information

Alternate Algorithm for DSM Partitioning

Alternate 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 information

Page 1 EEC173B/ECS152C. Link State Routing [Huitema95] Optimized Link State Routing (OLSR) MANET Unicast Routing. Proactive Protocols

Page 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 information

ABC basics (compilation from different articles)

ABC 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 information

GraphX. Graph Analytics in Spark. Ankur Dave Graduate Student, UC Berkeley AMPLab. Joint work with Joseph Gonzalez, Reynold Xin, Daniel

GraphX. 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 information

Chapter 2 Bits, Data Types, and Operations

Chapter 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 information

IP Forwarding Computer Networking. Graph Model. Routes from Node A. Lecture 11: Intra-Domain Routing

IP 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 information

Control Structures II. Repetition (Loops)

Control 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 information

ECE 242 Data Structures and Algorithms. Graphs II. Lecture 27. Prof.

ECE 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 information

Method-Level Phase Behavior in Java Workloads

Method-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 information

requires prior specific permission and/or a fee. PLDI 2000, Vancouver, British Columbia, Canada.

requires 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 information

Summary. Acyclic Networks Join Tree Clustering. Tree Decomposition Methods. Acyclic Network. Tree Based Clustering. Tree Decomposition.

Summary. 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 information

Algorithms and Data Structures

Algorithms 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 information

Binary Space Partition Trees. Overview. Binary Space Partitioning Trees (Fuchs, Kedem and Naylor `80)

Binary 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 information

Data Struct. & Prob. Solving, M.C.Q. BANK, FOR UNIT 3, SECOND YEAR COMP. ENGG. SEM 1, 2012 PATTERN, U.O.P.

Data 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 information

Efficient Online Computation of Statement Coverage

Efficient 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 information

Adaptive Multi-Level Compilation in a Trace-based Java JIT Compiler

Adaptive 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 information

Undirected graph is a special case of a directed graph, with symmetric edges

Undirected 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 information

Memory Placement Techniques for Parallel Association Mining

Memory 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 Ο

( ) 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 information

Lesson 4.2. Critical Paths

Lesson 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 information

CHAPTER 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 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 information

Trace-based JIT Compilation

Trace-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 information

Physical Level of Databases: B+-Trees

Physical 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 information

Performance analysis basics

Performance 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 information

Exam 3 Practice Problems

Exam 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 information

An Early Problem in Graph Theory

An 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 information

Acyclic Network. Tree Based Clustering. Tree Decomposition Methods

Acyclic 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