Partitioning & Divide and Conquer Strategies Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall

Slides:



Advertisements
Similar presentations
Back to Sorting – More efficient sorting algorithms.
Advertisements

Partitioning and Divide-and-Conquer Strategies Data partitioning (or Domain decomposition) Functional decomposition.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
CSCI-455/552 Introduction to High Performance Computing Lecture 11.
Partitioning and Divide-and-Conquer Strategies ITCS 4/5145 Parallel Computing, UNC-Charlotte, B. Wilkinson, Jan 23, 2013.
4.1 Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M.
Parallel Strategies Partitioning consists of the following steps –Divide the problem into parts –Compute each part separately –Merge the results Divide.
Partitioning and Divide-and-Conquer Strategies Cluster Computing, UNC-Charlotte, B. Wilkinson, 2007.
Partitioning and Divide-and-Conquer Strategies ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2007.
Quicksort Quicksort     29  9.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Lecture 8 Jianjun Hu Department of Computer Science and Engineering University of South Carolina CSCE350 Algorithms and Data Structure.
Partitioning and Divide-and-Conquer Strategies ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2007.
1 Lecture 11 Sorting Parallel Computing Fall 2008.
Parallel Merging Advanced Algorithms & Data Structures Lecture Theme 15 Prof. Dr. Th. Ottmann Summer Semester 2006.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
and Divide-and-Conquer Strategies
Prof. Amr Goneid, AUC1 Analysis & Design of Algorithms (CSCE 321) Prof. Amr Goneid Department of Computer Science, AUC Part 5. Recursive Algorithms.
c – b < a < c + b ** Key word: between ** i.e. : between which two number must the value of x lie?
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting.
Lecture 5 Dynamic Programming. Dynamic Programming Self-reducibility.
A Parallelisation Approach for Multi-Resolution Grids Based Upon the Peano Space-Filling Curve Student: Adriana Bocoi Advisor: Dipl.-Inf.Tobias Weinzierl.
1 © Prentice Hall, 2002 Physical Database Design Dr. Bijoy Bordoloi.
1 of 31 Title Slide Learn How To Partition In Oracle 9i Release 2 Reference Number: #31316 By Eric Yen System Consultant Quest Software.
Chapter 6 1 © Prentice Hall, 2002 The Physical Design Stage of SDLC (figures 2.4, 2.5 revisited) Project Identification and Selection Project Initiation.
1 Designing algorithms There are many ways to design an algorithm. Insertion sort uses an incremental approach: having sorted the sub-array A[1…j - 1],
3 Copyright © 2005, Oracle. All rights reserved. Partitioning Basics.
1 Summary: Design Methods for Algorithms Andreas Klappenecker.
Database Management COP4540, SCS, FIU Physical Database Design (ch. 16 & ch. 3)
Main Index Contents 11 Main Index Contents Building a Ruler: drawRuler() Building a Ruler: drawRuler() Merge Algorithm Example (4 slides) Merge Algorithm.
Lecture 13: 10/10/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Time Parallel Simulations I Problem-Specific Approach to Create Massively Parallel Simulations.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Grade 8 Number Sense and Numeration Multiplying and Dividing Integers.
D Nagesh Kumar, IIScOptimization Methods: M6L5 1 Dynamic Programming Applications Capacity Expansion.
Computer Sciences Department1.  Property 1: each node can have up to two successor nodes (children)  The predecessor node of a node is called its.
 Design and Analysis of Algorithms تصميم وتحليل الخوارزميات (311 عال) Chapter 2 Sorting (insertion Sort, Merge Sort)
Sorting Quick, Merge & Radix Divide-and-conquer Technique subproblem 2 of size n/2 subproblem 1 of size n/2 a solution to subproblem 1 a solution to.
1 Chapter4 Partitioning and Divide-and-Conquer Strategies 划分和分治的并行技术 Lecture 5.
Progressive transmission of spatial data Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Divide and Conquer Algorithms Sathish Vadhiyar. Introduction  One of the important parallel algorithm models  The idea is to decompose the problem into.
Clustering [Idea only, Chapter 10.1, 10.2, 10.4].
Divide-and-Conquer Pattern ITCS 4/5145 Parallel Computing, UNC-Charlotte, B. Wilkinson, June 25, 2012 slides4.ppt. 4.1.
Divide and Conquer.
Unit 1. Sorting and Divide and Conquer
Partitioning and Divide-and-Conquer Strategies
Advanced Design and Analysis Techniques
Parallel Sorting Algorithms
Algorithm design techniques Dr. M. Gavrilova
Binary and Ternary Search
Algorithm Design Methods
Lecture 5 Dynamic Programming
and Divide-and-Conquer Strategies
Physical Database Design
MATH 2140 Numerical Methods
Parallel Programming in C with MPI and OpenMP
Parallel Sorting Algorithms
The Physical Design Stage of SDLC (figures 2.4, 2.5 revisited)
Divide-and-Conquer 7 2  9 4   2   4   7
SKTN 2393 Numerical Methods for Nuclear Engineers
Prime Factorization Prime factorization or integer factorization of a number is the determination of the set of prime numbers which multiply together to.
Divide-and-Conquer 7 2  9 4   2   4   7
MATH 2140 Numerical Methods
Discrete Optimization
Presentation transcript:

Partitioning & Divide and Conquer Strategies Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall

Outline 1. Partitioning Strategies 2. Divide and Conquer Strategies 3. Examples 4. Applications 5. Summary

Partitioning Strategies Partitioning divides a complex problem into parts. Data division: data partitioning or domain decomposition Program division: functional decomposition

Partitioning Strategies Types of partitioning* Single-level partitioning: Range partitioning: maps data to partitions based on ranges of values of the partitioning key that you establish for each partition. Hash partitioning: maps data to partitions based on a hashing algorithm. List partitioning: enables explicitly controlling how rows map to partitions by specifying a list of discrete values for the partitioning key in the description for each partition. *

Partitioning Strategies Types of partitioning* Single-level partitioning: *

Partitioning Strategies Types of partitioning* Composite partitioning: Composite Range-Range Partitioning Composite Range-Hash Partitioning Composite Range-List Partitioning Composite List-Range Partitioning Composite List-Hash Partitioning Composite List-List Partitioning *

Partitioning Strategies Types of partitioning* Composite partitioning: *

Divide and Conquer Strategies Characterized by dividing problem into sub-problems of same. Further divisions into still smaller sub-problems, usually done by recursion. Recursive divide and conquer amenable to parallelization because separate processes can be used for divided parts. Also usually data is naturally localized.

Examples Operations on sequences of number such as simply adding them together Several sorting algorithms can often be partitioned or constructed in a recursive fashion Numerical integration N-body problem

Applications Partitioning a sequence of numbers into parts and adding the parts

Applications Tree construction

Applications Dividing a list into parts

Applications Partial summarization

Applications Quadtree

Applications Numerical integration Computing the “area under the curve.” Parallelized by divided area into smaller areas (partitioning). Can also apply divide and conquer -- repeatedly divide the areas recursively.

Applications Numerical integration Numerical integration by rectangles:

Applications Numerical integration Numerical integration by trapezoidal method:

Applications Adaptive quadrature Based on the fixed number of intervals, we can obtain more accurate result through increasing the number of intervals between two rounds.

Summary Numerical integration Computing the “area under the curve.” Parallelized by divided area into smaller areas (partitioning). Can also apply divide and conquer -- repeatedly divide the areas recursively.