Description

Domain decomposition in parallel computing. COT 5410 – Spring 2004. Ashok Srinivasan www.cs.fsu.edu/~asriniva Florida State University. Outline. Background Geometric partitioning Graph partitioning Static Dynamic Important points. Background.

Transcripts

Space disintegration in parallel registering COT 5410 – Spring 2004 Ashok Srinivasan www.cs.fsu.edu/~asriniva Florida State University

Outline Background Geometric parceling Graph apportioning Static Dynamic Important focuses

Background Tasks in a parallel calculation require access to specific information Same datum might be required by numerous errands Example: In lattice vector increase, b 2 is required for the calculation of all c i2 , 1 < i < n If a procedure does not " claim" a datum required by its undertaking, then it needs to get it from a procedure that has it This correspondence is costly Aims of space deterioration * Distribute the information in such a way, to the point that the correspondence required is minimized * Ensure that the computational loads on procedures are adjusted

Domain decay illustration Finite distinction calculation New estimation of a hub relies on upon old estimations of its neighbors We need to separate the hubs among the procedures so Communication is minimized Measure of segment quality Computational load is uniformly adjusted

Geometric parceling Partition an arrangement of focuses Uses just organize data Balances the heap The heuristic tries to guarantee that correspondence expenses are low Algorithms are normally quick, however segment not of great Examples Orthogonal recursive division Inertial Space filling bends

Orthogonal recursive cut Recursively cut up orthogonal to the longest measurement Assume correspondence is corresponding to the surface region of the area, and adjusted to facilitate tomahawks Recursive cut Divide into two pieces, keeping load adjusted Apply recursively, until sought number of segments got

Inertial ORB may not be successful if cuts along the x, y, or z headings are bad ones Inertial Recursively cut up orthogonal to the inertial pivot

Space filling bends * Space filling bends A ceaseless bend that takes care of the space Order the focuses in view of their relative position on the bend Choose a bend that jelly nearness Points that are shut in space ought to be shut in the requesting too Example Hilbert bend

H i H 1 H 2 H i+1 Hilbert bend = lim H n Hilbert bend Sources http://www.dcs.napier.ac.uk/~andrew/hilbert.html http://www.fractalus.com/kerry/instructional exercises/hilbert/hilbert-tutorial.html

Domain decay with a space dispatching bend Order focuses in view of their position on the bend Divide into P parts P is the quantity of procedures Space filling bends can be utilized as a part of versatile calculations too They can be stretched out to higher measurements as well

Graph parceling * Model as diagram dividing Graph G = (V, E) Each assignment is spoken to by a vertex A weight can be utilized to speak to the computational exertion An edge exists between assignments in the event that one needs information possessed by alternate Weights can be connected with edges too Goal Partition vertices into P parts to such an extent that every segment has approach vertex weights Minimize the weights of edges cut Problem is NP hard Edge cut metric Judge the nature of the parceling by the quantity of edges cut

Static chart apportioning Combinatorial Levelized settled dismemberment Kernighan-Lin/Feduccia-Matheyses Spectral dividing Multi-level strategies

Combinatorial dividing Use just network data Examples Levelized settled analyzation Kernighan-Lin/Feduccia-Matheyses

Levelized settled analyzation (LND) Idea is like the geometric techniques But can\'t utilize facilitate data Instead of anticipating vertices along the longest hub, arrange them in view of separation from a vertex that might be one outrageous of the longest measurement of a chart Pseudo-fringe vertex Perform a broadness first pursuit, beginning from a self-assertive vertex The vertex that is experienced last may be a decent guess to a fringe vertex

LND case Finding a pseudoperipheral vertex 3 2 3 2 1 3 1 2 Initial vertex 1 3 4 Pseudoperipheral vertex

LND case – Partitioning 5 6 3 4 5 2 5 4 2 3 1 Partition Initial vertex Recursively cut up the subgraphs

Kernighan-Lin/Fiduccia-Matheyses Refines a current segment Kernighan-Lin Consider sets of vertices from various allotments Choose a couple whose swapping will bring about the best change in segment quality The best change may really be an intensifying Perform a few passes Choose best segment among those experienced Fiduccia-Matheyses Similar yet more proficient Boundary Kernighan-Lin Consider just limit vertices to swap ... what\'s more, numerous different variations

Kernighan-Lin case Swap these Better parcel Edge cut = 3 Existing segment Edge cut = 4

Spectral technique Based on the perception that a Fiedler vector of a diagram contains network data Laplacian of a chart: l ii = d i (level of vertex i) l ij = - 1 if edge {i,j} exists, generally 0 Smallest eigenvalue of L is 0 with eigenvector every one of the 1 All different eigenvalues are certain for an associated chart Fiedler vector Eigenvector relating to the second littlest eigenvalue

Fiedler vector Consider a dividing of V into An and B Let y i = 1 if v i e A , and y i = - 1 if v i e B For load adjust, S i y i = 0 Also S e ij E (y i - y j ) 2 = 4 x number of edges crosswise over segments Also, y T Ly = S i d i y i 2 – 2 S e ij E y i y j = S e ij E (y i - y j ) 2

Optimization issue * The ideal segment is acquire by fathoming Minimize y T Ly Constraints: y i e {-1,1} S i y i = 0 This is NP hard Relaxed issue Minimize y T Ly Constraints: S i y i = 0 Add a limitation on a standard of y , case, ||y|| 2 = n 0.5 Note (1, 1, ..., 1) T is an eigenvector with eigenvalue 0 For an associated chart, every other eigenvalue are sure and orthogonal to this eigenvector, which infers S i y i = 0 The target capacity is minimized by a Fiedler vector

Spectral calculation Find a Fiedler vector of the Laplacian of the diagram Note that the Fiedler esteem (the second littlest eigenvalue) yields a lower bound on the correspondence cost, when the heap is adjusted From the Fiedler vector, separate the diagram Let all vertices with segments in the Fiedler vector more prominent than the middle be in one segment, and the rest in the other Recursively apply this to every segment Note: Finding the Fiedler vector of a substantial chart can be tedious

Multilevel strategies Idea It requires investment to segment an extensive chart So segment a little chart! * Three stages Graph coarsening Combine vertices to make a littler chart Example: Find an appropriate coordinating Apply this recursively until a reasonably little diagram is gotten Partitioning Use otherworldly or another apportioning calculation to segment the little chart Multilevel refinement Uncoarsen the chart to get a dividing of the first diagram At every level, play out some chart refinement

Multilevel case (without refinement) 9 10 5 7 3 11 2 4 8 12 16 1 6 15 13 14

Multilevel case (without refinement) 9 10 5 7 3 11 2 4 8 12 16 1 6 15 13 14

Multilevel case (without refinement) 9 10 5 7 3 1 2 11 1 2 1 2 4 8 1 12 16 1 6 15 1 13 14

Multilevel case (without refinement) 9 10 5 7 3 1 2 11 1 2 1 2 4 8 1 12 16 1 6 15 1 13 14

Multilevel case (without refinement) 9 10 5 7 3 1 2 11 1 2 1 2 4 8 1 12 16 1 6 15 1 13 14 1 2 1

Dynamic parceling We have an underlying dividing Now, the diagram changes * Determine a decent segment, quick * Also minimize the quantity of vertices that should be moved Examples PLUM Jostle Diffusion

PLUM Partition in light of the underlying cross section Vertex and edge weights alone changed Map segments to processors Use a greater number of allotments than processors Ensures better granularity Compute a comparability network in light of information as of now on a procedure Measures investment funds on information redistribution cost for every (procedure, segment) combine Choose task of segments to processors Example: Maximum weight coordinating Duplicate every processor: # of segments/P times Alternative: Greedy estimate calculation Assign all together of most extreme similitude esteem http://citeseer.nj.nec.com/oliker98plum.html

JOSTLE Use Hu and Blake\'s plan for load adjusting Solve Lx = b utilizing Conjugate Gradient L = Laplacian of processor chart, b i = Weight on process P i – Average weight Move max(x i - x j , 0) weight between P i and P j Leads to adjusted load Equivalent to P i sending x i load to every neighbor j, and every neighbor P j sending x j to P i Net misfortune in load for P i = d i x i - S neighbor j x j = L (i) x = b i where L (i) is column i of L, and d i is level of i New load for P i = weight on P i - b i = normal weight Leads to least L 2 standard of load moved Using max(x i - x j , 0) Select vertices to move, in view of relative pick up http://citeseer.nj.nec.com/walshaw97parallel.html

Diffusion Involves just correspondence with neighbors A basic plan Processor P i over and over sends a w i weight to every neighbor w i = weight on P i w k = (I – a L) w k-1 , w k = weight vector at emphasis k Simple criteria exist for picking a to guarantee meeting Example: a = 0.5/(max i d i ), More advanced plans exist

Important focuses Goals of area decay Balance the heap Minimize correspondence Space filling bends Graph apportioning model Spectral strategy Relax NP hard whole number improvement to coasting point, and after that discretize to get surmised number arrangement Multilevel techniques Three stages Dynamic dividing – extra necessities Use old answer for find new one quick Minimize number of vertices moved

.:tslidesep