Tahsin Reza Matei Ripeanu Nicolas Tripoul

Slides:



Advertisements
Similar presentations
Efficient Event-based Resource Discovery Wei Yan*, Songlin Hu*, Vinod Muthusamy +, Hans-Arno Jacobsen +, Li Zha* * Chinese Academy of Sciences, Beijing.
Advertisements

BiG-Align: Fast Bipartite Graph Alignment
Presented by Dealing with the Scale Problem Innovative Computing Laboratory MPI Team.
Piccolo: Building fast distributed programs with partitioned tables Russell Power Jinyang Li New York University.
Shuai Ma, Yang Cao, Wenfei Fan, Jinpeng Huai, Tianyu Wo Capturing Topology in Graph Pattern Matching University of Edinburgh.
The IEEE International Conference on Big Data 2013 Arash Fard M. Usman Nisar Lakshmish Ramaswamy John A. Miller Matthew Saltz Computer Science Department.
1 A GPU Accelerated Storage System NetSysLab The University of British Columbia Abdullah Gharaibeh with: Samer Al-Kiswany Sathish Gopalakrishnan Matei.
Lars Arge 1/43 Big Terrain Data Analysis Algorithms in the Field Workshop SoCG June 19, 2012 Lars Arge.
Seunghwa Kang David A. Bader Large Scale Complex Network Analysis using the Hybrid Combination of a MapReduce Cluster and a Highly Multithreaded System.
The Energy Case for Graph Processing on Hybrid Platforms Abdullah Gharaibeh, Lauro Beltrão Costa, Elizeu Santos-Neto and Matei Ripeanu NetSysLab The University.
Design Patterns for Efficient Graph Algorithms in MapReduce Jimmy Lin and Michael Schatz University of Maryland Tuesday, June 29, 2010 This work is licensed.
1 An Empirical Study on Large-Scale Content-Based Image Retrieval Group Meeting Presented by Wyman
Scalable Network Distance Browsing in Spatial Database Samet, H., Sankaranarayanan, J., and Alborzi H. Proceedings of the 2008 ACM SIGMOD international.
Data-centric computing with Netezza Architecture DISC reading group September 24, 2007.
FLANN Fast Library for Approximate Nearest Neighbors
A Lightweight Infrastructure for Graph Analytics Donald Nguyen Andrew Lenharth and Keshav Pingali The University of Texas at Austin.
Design Patterns for Efficient Graph Algorithms in MapReduce Jimmy Lin and Michael Schatz University of Maryland MLG, January, 2014 Jaehwan Lee.
A Workflow-Aware Storage System Emalayan Vairavanathan 1 Samer Al-Kiswany, Lauro Beltrão Costa, Zhao Zhang, Daniel S. Katz, Michael Wilde, Matei Ripeanu.
Venkatram Ramanathan 1. Motivation Evolution of Multi-Core Machines and the challenges Background: MapReduce and FREERIDE Co-clustering on FREERIDE Experimental.
11 If you were plowing a field, which would you rather use? Two oxen, or 1024 chickens? (Attributed to S. Cray) Abdullah Gharaibeh, Lauro Costa, Elizeu.
1 Enabling Large Scale Network Simulation with 100 Million Nodes using Grid Infrastructure Hiroyuki Ohsaki Graduate School of Information Sci. & Tech.
Mehdi Kargar Aijun An York University, Toronto, Canada Discovering Top-k Teams of Experts with/without a Leader in Social Networks.
1 Fast Failure Recovery in Distributed Graph Processing Systems Yanyan Shen, Gang Chen, H.V. Jagadish, Wei Lu, Beng Chin Ooi, Bogdan Marius Tudor.
Ahsanul Haque *, Swarup Chandra *, Latifur Khan * and Michael Baron + * Department of Computer Science, University of Texas at Dallas + Department of Mathematical.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
On Graph Query Optimization in Large Networks Alice Leung ICS 624 4/14/2011.
Carlos Castillo, Debora Donato, Aristides Gionis, Vanessa Murdock,
PREDIcT: Towards Predicting the Runtime of Iterative Analytics Adrian Popescu 1, Andrey Balmin 2, Vuk Ercegovac 3, Anastasia Ailamaki
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
Parallelization of likelihood functions for data analysis Alfio Lazzaro CERN openlab Forum on Concurrent Programming Models and Frameworks.
Distributed Graph Simulation: Impossibility and Possibility 1 Yinghui Wu Washington State University Wenfei Fan University of Edinburgh Southwest Jiaotong.
Topics Paths and Circuits (11.2) A B C D E F G.
Data Structures and Algorithms in Parallel Computing Lecture 2.
1 If you were plowing a field, which would you rather use? Two oxen, or 1024 chickens? (Attributed to S. Cray)
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
Data Structures and Algorithms in Parallel Computing Lecture 3.
The Similarity Graph: Analyzing Database Access Patterns Within A Company PhD Preliminary Examination Robert Searles Committee John Cavazos and Stephan.
Data Structures and Algorithms in Parallel Computing Lecture 7.
1 If you were plowing a field, which would you rather use? Two oxen, or 1024 chickens? (Attributed to S. Cray)
Practical Message-passing Framework for Large-scale Combinatorial Optimization Inho Cho, Soya Park, Sejun Park, Dongsu Han, and Jinwoo Shin KAIST 2015.
Data Structures and Algorithms in Parallel Computing
1/16/20161 Introduction to Graphs Advanced Programming Concepts/Data Structures Ananda Gunawardena.
Outline  Introduction  Subgraph Pattern Matching  Types of Subgraph Pattern Matching  Models of Computation  Distributed Algorithms  Performance.
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Cohesive Subgraph Computation over Large Graphs
International Conference on Data Engineering (ICDE 2016)
Pagerank and Betweenness centrality on Big Taxi Trajectory Graph
Lecture 11 Graph Algorithms
Efficient Join Query Evaluation in a Parallel Database System
PREGEL Data Management in the Cloud
CBCD: Cloned Buggy Code Detector
Store Recycling Function Experimental Results
SCOPE: Scalable Consistency in Structured P2P Systems
Towards Effective Partition Management for Large Graphs
Yu Su, Yi Wang, Gagan Agrawal The Ohio State University
Artificial Intelligence
Mayank Bhatt, Jayasi Mehar
Summary Background Introduction in algorithms and applications
Degree-aware Hybrid Graph Traversal on FPGA-HMC Platform
Finding Subgraphs with Maximum Total Density and Limited Overlap
Graph Colouring as a Challenge Problem for Dynamic Graph Processing on Distributed Systems Scott Sallinen, Keita Iwabuchi, Suraj Poudel, Maya Gokhale,
University of Wisconsin-Madison
Peng Jiang, Linchuan Chen, and Gagan Agrawal
Declarative Transfer Learning from Deep CNNs at Scale
Many-Core Graph Workload Analysis
There are Trillions of Little Forks in the Road. Choose Wisely
Chapter 01: Introduction
Relax and Adapt: Computing Top-k Matches to XPath Queries
Gurbinder Gill Roshan Dathathri Loc Hoang Keshav Pingali
Presentation transcript:

PruneJuice: Pruning Trillion-edge Graphs to a Precise Pattern-Matching Solution Tahsin Reza Matei Ripeanu Nicolas Tripoul Geoffrey Sanders Roger Pearce

An Application of Pattern Matching in a Large Social Network Graph U P E Friend Going to Likes Social Network U E P User Event Page Likes [Ching 2015]

An Application of Pattern Matching in a Large Social Network Graph Link Recommendation U P E Friend Going to Likes Social Network U U P E U E P User Event Page U Template [Ching 2015]

An Application of Pattern Matching in a Large Social Network Graph U P E Friend Going to Likes U U P E U Template U E P User Event Page Likes Social Network [Ching 2015]

An Application of Pattern Matching in a Large Social Network Graph U P E Friend Going to Likes U U P E U Template U E P User Event Page Likes Social Network [Ching 2015]

Highlights An Algorithmic Pipeline based on Graph Pruning Enables robust and efficient pattern matching in large graphs 4.4T edges on 1024 nodes / 36,864 cores in < 1 minutes Exact pattern matching No assumptions about the background graph and template System designed to curb combinatorial explosion

< 1 min. to prune a 128B webgraph1 by 105 The Challenge < 1 min. to prune a 128B webgraph1 by 105 |V*| = 81,913, 2|E*| = 255,022 40+ hours to enumerate the pruned graph 1.49+ billion matches org gov edu net biz info mil ac 1Web Data Commons Hyperlink graph

The Challenge Tree-search org gov edu net biz info mil ac Tree-search Message growth for walks starting from 5 vertices [Ullman1976]

http://calto.info/topics/simpsons-the-springfield-mafia.html

http://calto.info/topics/simpsons-the-springfield-mafia.html

Set of Matching Vertices and Edges Centrality-based Ranking Do not scale The Big Picture Match Exists? Set of Matching Vertices and Edges Match Counting Top-k Query Centrality-based Ranking Existing Techniques Enumeration 𝐺, 𝐺0 𝐺 Background graph 𝐺0 Template

Set of Matching Vertices and Edges Centrality-based Ranking Do not scale The Big Picture Enumeration Match Exists? Set of Matching Vertices and Edges Match Counting Top-k Query Centrality-based Ranking Existing Techniques 𝐺, 𝐺0 𝐺 ∗ is the union of all matching subgraphs in 𝐺 Our Approach Graph pruning 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph 𝐺 ∗ ≪𝐺

Set of Matching Vertices and Edges Centrality-based Ranking Do not scale The Big Picture Enumeration Match Exists? Set of Matching Vertices and Edges Match Counting Top-k Query Centrality-based Ranking Existing Techniques 𝐺, 𝐺0 𝐺 ∗ is the union of all matching subgraphs in 𝐺 Our Approach Graph pruning 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph

Set of Matching Vertices and Edges Centrality-based Ranking Enumeration Match Exists? Set of Matching Vertices and Edges Match Counting Top-k Query Centrality-based Ranking The Big Picture 𝐺, 𝐺0 Operating on 𝐺 ∗ Our Approach Graph pruning 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph

Set of Matching Vertices and Edges Centrality-based Ranking Enumeration Match Exists? Set of Matching Vertices and Edges Match Counting Top-k Query Centrality-based Ranking The Big Picture Existing Techniques 𝐺, 𝐺0 𝐺, 𝐺0 Operating on 𝐺 ∗ Enumeration Match Counting Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Our Approach Graph pruning Our Approach Graph pruning Match Exists? Operating on 𝐺 ∗ 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph

Design Objectives 100% Precision and Recall HavoqGT Arbitrary Patterns Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Design Objectives Arbitrary Patterns Large Graphs 109 – 1012 edges Fast Time-to-Solution Horizontal Scalability, 104 Cores 100% Precision and Recall HavoqGT Vertex-Centric

Overview of the Graph Pruning Pipeline Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Overview of the Graph Pruning Pipeline Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺, 𝐺0 Non-local Constraint Checking Local Constraint Checking 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph, union of all matching subgraphs

Constraint Generation Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Constraint Generation Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺, 𝐺0 Non-local Constraint Checking Local Constraint Checking 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph, union of all matching subgraphs

Local constraints of 𝐺0 Template U P E 𝐺, 𝐺0 𝐺 ∗ Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Local constraints of 𝐺0 U E P Template 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Non-local constraints of 𝐺0 Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Non-local constraints of 𝐺0 U E P Template 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Local Constraint Checking – Eliminates vertices and edges Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Local Constraint Checking – Eliminates vertices and edges Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺, 𝐺0 Non-local Constraint Checking Local Constraint Checking 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph, union of all matching subgraphs

Local Constraint Checking – Eliminates vertices and edges Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Local Constraint Checking – Eliminates vertices and edges U P E U E P Template 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Local Constraint Checking – Eliminates vertices and edges Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Local Constraint Checking – Eliminates vertices and edges U P E U E P Template 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Non-local Constraint Checking – Eliminates vertices Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Non-local Constraint Checking – Eliminates vertices Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺, 𝐺0 Non-local Constraint Checking Local Constraint Checking 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph, union of all matching subgraphs

Non-local constraints of 𝐺0 Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Non-local constraints of 𝐺0 U P U E U E P Template U E P U E P 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Non-local Constraint Checking – Eliminates vertices Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Non-local Constraint Checking – Eliminates vertices U P U P E T U E P Template T U E T U E P T U E P 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Non-local Constraint Checking – Eliminates vertices Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Non-local Constraint Checking – Eliminates vertices U P U P E T U E P Template T U E T U E P T U E P 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Non-local Constraint Checking – Eliminates vertices Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Non-local Constraint Checking – Eliminates vertices U P U P E U E P Template U E U E P U E P 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Solution Graph 𝐺 ∗ , union of all matching subgraphs Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Solution Graph 𝐺 ∗ , union of all matching subgraphs Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺, 𝐺0 Non-local Constraint Checking Local Constraint Checking 𝐺 ∗ 𝐺 Background graph 𝐺0 Template 𝐺 ∗ Solution graph, union of all matching subgraphs

Solution Graph 𝐺 ∗ , union of all matching subgraphs Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Solution Graph 𝐺 ∗ , union of all matching subgraphs U P E U E P Template 𝐺, 𝐺0 Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺 ∗ Non-local Constraint Checking

Full Match Enumeration on the Solution Graph 𝐺 ∗ Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Full Match Enumeration on the Solution Graph 𝐺 ∗ Identify Local and Non-local Constraints for 𝐺0 Local Constraint Checking For each non-local constraint 𝐺, 𝐺0 Full Match Enumeration 𝐺 ∗ Non-local Constraint Checking Local Constraint Checking Non-local constraint ordering influences performance Constraint selection and ordering can be optimized Exploratory work at IA^3 (2018)

Distributed System Implementation on top of HavoqGT Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Distributed System Implementation on top of HavoqGT Metadata Store LCC NLCC Enumeration Control Logic HavoqGT Vertex-Centric API HavoqGT Asynchronous Visitor Queue MPI Runtime HavoqGT Delegate Partitioned Graph Checkpointing and Load Balancing [Pearce 2014]

Strong and weak scaling exp. for pruning Performance metrics Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Evaluation Strong and weak scaling exp. for pruning Performance metrics Search time for a single template Pruning factor Full match enumeration on the pruned graph Comparison with related work Insights into performance

Testbed – Quartz at Quartz System Details CPU Arch. Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Testbed – Quartz at Quartz System Details CPU Arch. Intel Xeon E5-2695 (2.1GHz) Cores/Node 36 (2x CPU Sockets) Memory/Node 128GB Total Nodes 2,634 Peak Perf. 2.6PFlop Interconnect Intel Omni-Path 63rd in TOP500 List – June 2018 TOSS3 kernel version 3.10 | OpenMPI 2.0 | GCC 4.9

Workloads Graphs Type |V| 2|E| dmax davg dstdev Size Web Data Commons Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Workloads Graphs Type |V| 2|E| dmax davg dstdev Size Web Data Commons Real 3.5B 257B 95M 72.25 3.6K 2.7TB Reddit 3.9B 14B 19M 3.74 483.25 460GB IMDb 5M 29M 552K 5.83 342.64 < 2GB Patent 2.7M 28M 789 10.17 10.80 Youtube 4.6M 88M 2.5K 19.16 21.67 R-MAT up to Scale 37 Synthetic 137B 4.4T 612M 32 4.9K 45TB

Workloads Graphs Type |V| 2|E| dmax davg dstdev Size Web Data Commons Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Workloads Graphs Type |V| 2|E| dmax davg dstdev Size Web Data Commons Real 3.5B 257B 95M 72.25 3.6K 2.7TB Reddit 3.9B 14B 19M 3.74 483.25 460GB IMDb 5M 29M 552K 5.83 342.64 < 2GB Patent 2.7M 28M 789 10.17 10.80 Youtube 4.6M 88M 2.5K 19.16 21.67 R-MAT up to Scale 37 Synthetic 137B 4.4T 612M 32 4.9K 45TB

Strong Scaling – Web Data Commons (WDC) Hyperlink Graph Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Strong Scaling – Web Data Commons (WDC) Hyperlink Graph 3.5 billion vertices and 128 billion directed edges (2.7TB) Vertex labels – top-level domain names, e.g., gov, ca, and edu, 2903 labels These are the among the most frequent domains, covering ∼22% of the vertices in the WDC graph. org covers 220M vertices, the 2nd most frequent after com. http://webdatacommons.org/hyperlinkgraph/index.html

Strong Scaling Experiments Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Strong Scaling Experiments # Compute nodes Template

Strong Scaling Experiments Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Strong Scaling Experiments # Compute nodes Template

Strong Scaling Experiments Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Strong Scaling Experiments # Compute nodes Template

Strong Scaling Experiments Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Strong Scaling Experiments Good strong scaling for cyclic and acyclic templates, up to 90% efficient LCC shows near perfect strong scaling NLCC is the bottleneck – topology, match distribution, load imbalance # Compute nodes Template

Match Enumeration on the Pruned Graph Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Match Enumeration on the Pruned Graph Count 668M 2,444 1.49B Time 4min 1.84s 40h

Match Enumeration on the Pruned Graph Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Match Enumeration on the Pruned Graph < 1 min. to prune the 128B webgraph1 by 105 |V*| = 81,913, 2|E*| = 255,022 40+ hours to enumerate the pruned graph 1.49+ billion matches ‘To Enumerate, or Not to Enumerate’ 1Web Data Commons Hyperlink graph

‘To Enumerate, or Not to Enumerate’ Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results ‘To Enumerate, or Not to Enumerate’ 2,444 Output produced from the pruned subgraph using matplotlib

Weak Scaling – Recursive Matrix (R-MAT), Graph500 Synthetic Graphs Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Weak Scaling – Recursive Matrix (R-MAT), Graph500 Synthetic Graphs 𝑉 = 2 𝑆𝐶𝐴𝐿𝐸 and 𝐸 = 16×2 𝑆𝐶𝐴𝐿𝐸 Scale 28 (4.3B directed edges) to Scale 37 (2.2T directed edges, 45TB) Vertex labels – degree based binning, log 2 (𝑑 𝑣 +1) , up to 30 labels These labels cover ∼30% of the vertices, with 2 being the most frequent label (14B instances in the Scale 37 graph)

Weak Scaling Experiments Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Weak Scaling Experiments Steady weak scaling Prunes trillion edge graphs by 107 in < 1 min. Number of iterations depends on the topology, diameter of the template

Comparison with Arabesque/QFrag [SOSP’15, SoCC’17] Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Comparison with Arabesque/QFrag [SOSP’15, SoCC’17] Patent 9x 6.4x 10x Youtube 4.4x 3.9x 6.6x 4.3x a d c b e f Speedup over QFrag on 60 cores, single node Runtime for pruning + enumeration Multithreaded shared memory – up to 100x speedup

Explaining Performance … Design Objectives Graph Pruning for Pattern Matching Evaluation Methodology Experiment Results Explaining Performance … Graph mutation Nonuniform distribution of matches in the bkg. graph Load imbalance Loss of parallelism 668M

No false positives or negatives Takeaways What makes a pruning-based approach promising? U E P Template U P U E U E P U E P No false positives or negatives Smaller algorithm state – can prevent combinatorial explosion Search space reduction – enumeration is now less expensive Tahsin Reza treza@ece.ubc.ca netsyslab.ece.ubc.ca computation.llnl.gov/casc