750 likes | 888 Vues
Algorithm Engineering „Parallele Algorithmen“. Stefan Edelkamp. Übersicht. Parallele Musterdatenbanken Parallele Strukturierte Duplikatselimination Disjunkte Duplikatserkennungsbereiche ” Schlösser ” Parallele Algorithmen Matrix-Multiplikation List Ranking Euler Tour
E N D
Algorithm Engineering„Parallele Algorithmen“ Stefan Edelkamp
Übersicht • Parallele Musterdatenbanken • Parallele Strukturierte Duplikatselimination • Disjunkte Duplikatserkennungsbereiche • ”Schlösser” • Parallele Algorithmen • Matrix-Multiplikation • List Ranking • Euler Tour • P-Vollständigkeitstheorie
Übersicht • Parallele Musterdatenbanken • Parallele Strukturierte Duplikatselimination • Disjunkte Duplikatserkennungsbereiche • ”Schlösser” • Parallele Algorithmen • Matrix-Multiplikation • List Ranking • Euler Tour • P-Vollständigkeitstheorie
Parallele Musterdatenbanken • Onlypatterndatabasesthatincludetheclienttileneedtobeloaded on theclient • Because multiple tiles in pattern, frombirdseye PDB loaded multiple times • In 15-Puzzle withcornerandfringe PDB thissaves RAM in the order offactor 2 on eachmachine, comparedtoloading all • In 36-Puzzle with 6-tile patterndatabasesthissaves RAM in the order offactor 6 on eachmachine, comparedtoloading all • Extendsto additive patterndatabases
B0 B0 B1 B1 B2 B2 B3 B3 B5 B5 B6 B6 B7 B7 B4 B4 B8 B8 B9 B9 B10 B10 B11 B11 B12 B12 B13 B13 B14 B14 B15 B15 Distributed Heuristic Evaluation • Assumeonechildprocessorforeachtileonemasterprocessor
Parallele Evaluation 35-Puzzle
D D D D C B A vs. External memory Internal memory Bottleneck: Duplicate detection B A • Duplicate paths cause parallelization overhead C D Same bottleneck in external-memory search slow fast
B4 B1 B14 B7 B11 B2 B0 B0 B15 B3 B3 B12 B15 B12 B8 B13 Disjoint duplicate-detection scopes B0 B1 B1 B2 B3 B2 B5 B6 B7 B7 B4 B4 B8 B9 B10 B11 B11 B8 B12 B13 B13 B14 B15 B14
B6 B1 B4 B1 B9 B4 0 2 B7 B14 B2 B11 0 B5 B3 B0 0 0 0 B12 B15 0 B8 B13 Finding disjoint duplicate-detection scopes 1 2 3 0 0 1 0 0 1 1 2 2 3 1 0 2 3 0 2 0 2 0 1 0 1 2 2 2 1 2 0 3 0 0 2 0 1 3 4 2 1 1 3 0 2 0 0 0 1 2
B0 B1 B2 B3 B5 B6 B7 B4 B8 B9 B10 B11 B12 B13 B14 B15 Implementation of Parallel SDD BenötigtnureinMutex “Schloss” • Hierarchical organization of hash tables • One hash table for each abstract node • Top-level hash func. = state-space projection func. • Shared-memory management • Minimum memory-allocation size m • Memory wasted is bounded by O(m#processors) • External-memory version • I/O-efficient order of node expansions • I/O-efficient replacement strategy
Übersicht • Parallele Musterdatenbanken • Parallele Strukturierte Duplikatselimination • Disjunkte Duplikatserkennungsbereiche • ”Schlösser” • Parallele Algorithmen • Matrix-Multiplikation • List Ranking • Euler Tour • P-Vollständigkeitstheorie