Download presentation
Presentation is loading. Please wait.
Published byDelphia Cox Modified over 9 years ago
1
Large Scale Parallel Graph Coloring 1
2
Presentation Overview Problem Description Basic Algorithm Parallel Strategy –Work Spawning –Graph Partition Results 2
3
Problem Description A "graph" is a collection of vertices or 'nodes' and a collection of edges that connect pairs of vertices. 3
4
Sequential Algorithm 4 The idea is to color the vertices of a graph such that no two adjacent vertices share the same color
5
Sequential Algorithm -Step 1 5
6
Sequential Algorithm -Step 2 6
7
Sequential Algorithm -Step 3 7
8
Sequential Algorithm -Step 4 8
9
Sequential Algorithm -Step 5 9
10
Sequential Algorithm -Step 6 10
11
Back to step 3 11
12
Parallel Algorithm 12
13
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
14
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
15
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
16
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
17
Questions? 17
18
Sequential Algorithm 18
19
Parallel Algorithm 19
20
Back to Step 3 20
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.