Project Mentor – Prof. Alan Kaminsky

Slides:



Advertisements
Similar presentations
Parallel List Ranking Advanced Algorithms & Data Structures Lecture Theme 17 Prof. Dr. Th. Ottmann Summer Semester 2006.
Advertisements

NP-Hard Nattee Niparnan.
Social network partition Presenter: Xiaofei Cao Partick Berg.
Lecture 19: Parallel Algorithms
Lecture 3: Parallel Algorithm Design
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
HST 952 Computing for Biomedical Scientists Lecture 10.
The Theory of NP-Completeness
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Movie theatre service on brightness and volume range leading to maximum clique graph By, Usha Kavirayani.
PRAM (Parallel Random Access Machine)
Advanced Data Structures
Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting Roy, N., A. Dubey, and A. Gokhale 4th IEEE International Conference.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
1 Spanning Trees Lecture 20 CS2110 – Spring
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
NP-complete and NP-hard problems
Page 1 CS Department Parallel Design of JPEG2000 Image Compression Xiuzhen Huang CS Department UC Santa Barbara April 30th, 2003.
Analysis of Algorithms CS 477/677
(Page 554 – 564) Ping Perez CS 147 Summer 2001 Alternative Parallel Architectures  Dataflow  Systolic arrays  Neural networks.
Lecture 5 Today’s Topics and Learning Objectives Quinn Chapter 7 Predict performance of parallel programs Understand barriers to higher performance.
NP and NP- Completeness Bryan Pearsaul. Outline Decision and Optimization Problems Decision and Optimization Problems P and NP P and NP Polynomial-Time.
Advanced Topics in Algorithms and Data Structures 1 Two parallel list ranking algorithms An O (log n ) time and O ( n log n ) work list ranking algorithm.
Backtracking.
1 Section 2.3 Complexity of Algorithms. 2 Computational Complexity Measure of algorithm efficiency in terms of: –Time: how long it takes computer to solve.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
1 Lecture 2: Parallel computational models. 2  Turing machine  RAM (Figure )  Logic circuit model RAM (Random Access Machine) Operations supposed to.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 8, 2005 Session 8.
Parallel Algorithms Sorting and more. Keep hardware in mind When considering ‘parallel’ algorithms, – We have to have an understanding of the hardware.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Analysis of Algorithms
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
Triangular Mesh Decimation
Cryptography Team Presentation 2
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Greedy Algorithms and Matroids Andreas Klappenecker.
A graph problem: Maximal Independent Set Graph with vertices V = {1,2,…,n} A set S of vertices is independent if no two vertices in S are.
Course: Logic Programming and Constraints
Data Structures and Algorithms in Parallel Computing Lecture 2.
Radix Sort and Hash-Join for Vector Computers Ripal Nathuji 6.893: Advanced VLSI Computer Architecture 10/12/00.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
CS 8625 High Performance Computing Dr. Hoganson Copyright © 2003, Dr. Ken Hoganson CS8625 Class Will Start Momentarily… CS8625 High Performance.
NPC.
Computing Approximate Weighted Matchings in Parallel Fredrik Manne, University of Bergen with Rob Bisseling, Utrecht University Alicia Permell, Michigan.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
3/12/2013Computer Engg, IIT(BHU)1 PRAM ALGORITHMS-3.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
1 Computability Tractable, Intractable and Non-computable functions.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Lecture 3: Parallel Algorithm Design
A simple parallel algorithm for the MIS problem
Parallel Graph Algorithms
Case Study 2- Parallel Breadth-First Search Using OpenMP
Hard Problems Introduction to NP
Lecture 2: Parallel computational models
Maximal Independent Set
Localizing the Delaunay Triangulation and its Parallel Implementation
On the effect of randomness on planted 3-coloring models
By Brandon, Ben, and Lee Parallel Computing.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Alan Kuhnle*, Victoria G. Crawford, and My T. Thai
Major Design Strategies
Major Design Strategies
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
Presentation transcript:

Project Mentor – Prof. Alan Kaminsky Parallel Computing I “Solving the Independent Set Problem using the Exhausted Search Algorithm in parallel.” Agarwal, Kshitij Ghosh, Aurodeep Elbahi, Reda Project Mentor – Prof. Alan Kaminsky

Understanding Concepts Independent Set Problem NP problem related to graph theory Independent set Subset of vertices S in a given graph No two vertices are adjacent There is no edge directly connecting any two vertices in the set S

Understanding Concepts Size of an independent set The number of vertices it contains, is the size of the vertices in the independent set.

Example of an independent set Independent set of size 9(Blue vertices) Image Source: http://en.wikipedia.org/wiki/File:Independent_set_graph.svg

Exhaustive search algorithm Generated the matrix using the random number generator Adjacency Matrix stores the graph Generation of all possible subsets of a size I Finding all the independent sets of size I

DNA tiles self-assembly ALGORITHM Algorithm from the first research paper. DNA tiles self-assembly ALGORITHM Non-deterministic Guess Logical AND Operation Results Store in Middle Source: Zhen Cheng; Jianhua Xiao, "Implementation of Maximum Independent Set Problem by Algorithmic Tile Self-Assembly," Bio-Inspired Computing: Theories and Applications (BIC-TA), 2011 Sixth International Conference on , vol., no., pp.249,254, 27-29 Sept. 2011

Subtraction And Comparison Algorithm from the first research paper.(contd.) Subtraction And Comparison Comparison between Right and Bottom Left Source: Zhen Cheng; Jianhua Xiao, "Implementation of Maximum Independent Set Problem by Algorithmic Tile Self-Assembly," Bio-Inspired Computing: Theories and Applications (BIC-TA), 2011 Sixth International Conference on , vol., no., pp.249,254, 27-29 Sept. 2011

Finding a Near-Maximum Independent Set of a Circle Graph Algorithm from the second research paper. Finding a Near-Maximum Independent Set of a Circle Graph Non-intersected Neurons Intersected Neurons (Graph Vertices) Source : Takefuji, Y.; Chen, L.-L.; Lee, K.-C.; Huffman, J., "Parallel algorithms for finding a near-maximum independent set of a circle graph," Neural Networks, IEEE Transactions on , vol.1, no.3, pp.263,267, Sep 1990

A simple parallel algorithm for the maximal independent set problem. Algorithm from the third research paper. A simple parallel algorithm for the maximal independent set problem. The test bed is an EREW P-RAM parallel computer with non- concurrent read-write cycles for the same memory locations. Below are the algorithm characteristics as mentioned. ‘EO’ depicts the expected value of complexity and since the third algorithm is deterministic in nature, the time complexity is not expected in form. Alg. - # Processors Used Time Complexity Random Bits 1 O(m) EO((log n)2) EO(n log n) 2 O(m) EO((log n)2) EO((log n)2) 3 O(n2m) O((log n)2) none * Each while loop has O(log n) complexity and there would be O(log n) while loop runs Source : Luby, Michael. "A simple parallel algorithm for the maximal independent set problem." SIAM journal on computing 15, no. 4 (1986): 1036-1053.

A simple parallel algorithm for the maximal independent set problem. Algorithm from the third research paper.(contd.) A simple parallel algorithm for the maximal independent set problem. Algorithm 1 – Based upon the local property which takes any random vertex into consideration and adds it to the set if it is not connected to any of its adjacent vertices. So pairwise independence is the driving factor for this configuration. This local property is basically the conversion of mutually independent events in the large sample space to pairwise independent events in comparatively smaller sample space. Algorithm 2 – uses the concept of randomly generated bits to choose the smaller sample space from the larger one and the Algorithm 3 – does this in parallel, picking up the vertices which confirm to pairwise independence in separate steps making it deterministic. Source : Luby, Michael. "A simple parallel algorithm for the maximal independent set problem." SIAM journal on computing 15, no. 4 (1986): 1036-1053.

Design of the parallel program. Finding the independent sets – The loop iterating over 1 to T(total number of possible subsets of vertices) is divided over the number of processors available. Each processor is supplied with different possibilities of choices as inputs to the exhaustive search algorithm in the form of different loop indexes to work with. The list in which the independent sets are stored has been made thread safe. The number of independent subsets are recorded in the thread safe integer variable.

Design of the parallel program. Load Balancing:- It is not necessary that the running time of all the threads will be the same. It is not necessary that there will be the same number of subsets of size I. The calculation time of checking an independent set also varies A guided schedule is used for balancing the load.

Design of the parallel program. Note - The printout of the resulting independent sets in the cases of sequential and parallel programs will be different, but the total number of solutions found remains the same.

Design of the parallel program.

Demo with the usage of the Programs

Performance Metrics Measured Notations for the performance metrics:- N : Problem size T : Running time K: Number of processors The performance metrics are the speedup of the program as following:- 1.) The ratio of the running time of the sequential program with respect to the running time of the parallel program. Speedup(N,K) = Tseq(N,1)/Tpar(N,K) 2.) Efficiency = Speedup(N,K)/K

Performance Metrics Measured

Performance Metrics Measured

Performance Metrics Measured

Lessons Learned At a smaller scale, a NP problem might be simpler to solve But increasing the size of the graph poses a huge complexity in terms of computational time. This project provided us a chance to learn how to optimize code designs for parallel architectures as high performance scientific computing problems. The Parallel Java Library, developed by Prof. Alan Kaminsky, made it easy to design the parallel programs in Java.

Future Work A cluster version of the same program can also be made That program can be run on the cluster parallel computer like RIT CS Paranoia 32-Processor Cluster. An analysis can be made that whether this problem is a good candidate for a GPU parallel program or not. If the analysis says yes, then a GPU parallel program can be made for it.

References 1.) Zhen Cheng; Jianhua Xiao, "Implementation of Maximum Independent Set Problem by Algorithmic Tile Self-Assembly," Bio-Inspired Computing: Theories and Applications (BIC-TA), 2011 Sixth International Conference on , vol., no., pp.249,254, 27-29 Sept. 2011 2.) Takefuji, Y.; Chen, L.-L.; Lee, K.-C.; Huffman, J., "Parallel algorithms for finding a near-maximum independent set of a circle graph," Neural Networks, IEEE Transactions on , vol.1, no.3, pp.263,267, Sep 1990 3.) Luby, Michael. "A simple parallel algorithm for the maximal independent set problem." SIAM journal on computing 15, no. 4 (1986): 1036-1053. 4.) Alan Kaminsky. Building Parallel Programs: SMPs, Clusters, and Java. Cengage Course Technology, 2010. ISBN 1-4239-0198-3. 5.) L. H. Holley and M. Karplus, “Protein secondary structure prediction with a neural network,” Proc. Nar. Acad. Sci. USA, vol. 86,1989. 6.) Parallel Java Library developed by Prof. Alan Kaminsky

THANK YOU Questions, if any.