Large Scale Parallel Graph Coloring 1. Presentation Overview Problem Description Basic Algorithm Parallel Strategy –Work Spawning –Graph Partition Results.

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Heuristic Search techniques
Max- coloring in trees SRIRAM V.PEMMARAJU AND RAJIV RAMAN BY JAYATI JENNIFER LAW.
Some Graph Algorithms.
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
USING AT YOUR CONVENIENCE TO ESTABLISH PRIORITIES 2014 v1.0.
AVL Trees1 Part-F2 AVL Trees v z. AVL Trees2 AVL Tree Definition (§ 9.2) AVL trees are balanced. An AVL Tree is a binary search tree such that.
Evaluating Graph Coloring on GPUs Pascal Grosset, Peihong Zhu, Shusen Liu, Suresh Venkatasubramanian, and Mary Hall Final Project for the GPU class - Spring.
Transform and Conquer Chapter 6. Transform and Conquer Solve problem by transforming into: a more convenient instance of the same problem (instance simplification)
METIS Three Phases Coarsening Partitioning Uncoarsening
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 excerpts Graphs (breadth-first-search)
Advanced Data Structures
Merge Sort1 7 2  9 4   2  2 79  4   72  29  94  4.
1 Modularity and Community Structure in Networks* Final project *Based on a paper by M.E.J Newman in PNAS 2006.
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
1cs542g-term Sparse matrix data structure  Typically either Compressed Sparse Row (CSR) or Compressed Sparse Column (CSC) Informally “ia-ja” format.
Using Search in Problem Solving
Parallel Merging Advanced Algorithms & Data Structures Lecture Theme 15 Prof. Dr. Th. Ottmann Summer Semester 2006.
Using Search in Problem Solving
Ch 13 – Backtracking + Branch-and-Bound
Complexity 19-1 Parallel Computation Complexity Andrei Bulatov.
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
1 Structures and Strategies for State Space Search 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
Heuristics for 3D model decomposition Presented by Luv Kohli COMP258 December 11, 2002.
Backtracking.
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Important Problem Types and Fundamental Data Structures
Multilevel Hypergraph Partitioning G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar Computer Science Department, U of MN Applications in VLSI Domain.
7 th Annual Workshop on Charm++ and its Applications ParTopS: Compact Topological Framework for Parallel Fragmentation Simulations Rodrigo Espinha 1 Waldemar.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Design and Analysis of Algorithms - Chapter 111 How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
Tao Lin Chris Chu TPL-Aware Displacement- driven Detailed Placement Refinement with Coloring Constraints ISPD ‘15.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
Computer Science: A Structured Programming Approach Using C Graphs A graph is a collection of nodes, called vertices, and a collection of segments,
An Efficient Linear Time Triple Patterning Solver Haitong Tian Hongbo Zhang Zigang Xiao Martin D.F. Wong ASP-DAC’15.
Lecture 3: 18/4/1435 Searching for solutions. Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Data Structures and Algorithms in Parallel Computing Lecture 7.
Introduction to Artificial Intelligence (G51IAI) Dr Rong Qu Blind Searches - Introduction.
Union By Rank Ackermann’s Function Graph Algorithms Rajee S Ramanikanthan Kavya Reddy Musani.
Solving problems by searching A I C h a p t e r 3.
Global Clustering-Based Performance-Driven Circuit Partitioning Jason Cong University of California Los Angeles Chang Wu Aplus Design.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
Chapter 9 Abstract Data Types and Algorithms Nell Dale John Lewis.
Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rule.
CMPT 238 Data Structures More on Sorting: Merge Sort and Quicksort.
High Performance Computing Seminar
Artificial Intelligence Solving problems by searching.
Graphs Chapter 20.
Hybrid BDD and All-SAT Method for Model Checking
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Breadth First and Depth First
Ana Gainaru Aparna Sasidharan Babak Behzad Jon Calhoun
Computing Connected Components on Parallel Computers
Parallel Programming By J. H. Wang May 2, 2017.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Program based on pointers in C.
CS 3343: Analysis of Algorithms
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
i206: Lecture 14: Heaps, Graphs intro.
Tree Construction (BFS, DFS, MST) Chapter 5
Outline This topic covers Prim’s algorithm:
Merge Sort 2/23/ :15 PM Merge Sort 7 2   7  2   4  4 9
Important Problem Types and Fundamental Data Structures
Merge Sort 5/30/2019 7:52 AM Merge Sort 7 2   7  2  2 7
Heaps Chapter 6 Section 6.9.
CMPT 225 Lecture 16 – Heap Sort.
Presentation transcript:

Large Scale Parallel Graph Coloring 1

Presentation Overview Problem Description Basic Algorithm Parallel Strategy –Work Spawning –Graph Partition Results 2

Problem Description A "graph" is a collection of vertices or 'nodes' and a collection of edges that connect pairs of vertices. 3

Sequential Algorithm 4 The idea is to color the vertices of a graph such that no two adjacent vertices share the same color

Sequential Algorithm -Step 1 5

Sequential Algorithm -Step 2 6

Sequential Algorithm -Step 3 7

Sequential Algorithm -Step 4 8

Sequential Algorithm -Step 5 9

Sequential Algorithm -Step 6 10

Back to step 3 11

Parallel Algorithm 12

Parallel Strategy This work follows in the footsteps of a 1995 paper by Kale et al. on small-scale parallel graph coloring. As it notes, exploring the search space consistently with a good sequential heuristic is important to achieving parallel speedup. With priorities placed on the various possibilities to explore, we then expose the possibilities in priority order to the numerous processing elements available in the system. Sub graph coloring problems resulting from partitioning will each be considered at a priority consistent with their likelihood of contributing to a solution to the overall coloring problem.. 13

Charm++ Implementation Start with 1 chare with an uncolored graph Spawn new chares to explore parts of search space Chares report success or failure to 'parent' If the root node succeeds, or any of its children succeed, then we're done

Graph Partition Boost Graph Library (BGL)‏ –Boost Graph Library is a generic interface that allows access to a graph's structure –BGL provides some general purpose graph classes METIS: A Library for Multilevel Partitioning Algorithms –Provides high quality partitions –It is extremely fast –Produces low fill orderings Charm++: Spawn a chare for each part, have them report up to a parent, which merges successful results 15

Results Sequential heuristic is effective –Solves small problems quickly –Solves larger problems in reasonable time, once sufficient # of colors is reached Parallel spawning not quite there yet... –Successfully exhausts memory –Need to limit, prioritize better

Questions? 17

Sequential Algorithm 18

Parallel Algorithm 19

Back to Step 3 20