1 / 75

Algorithm Engineering „Parallele Algorithmen“

Algorithm Engineering „Parallele Algorithmen“. Stefan Edelkamp. Übersicht. Parallele Musterdatenbanken Parallele Strukturierte Duplikatselimination Disjunkte Duplikatserkennungsbereiche ” Schlösser ” Parallele Algorithmen Matrix-Multiplikation List Ranking Euler Tour

keola
Download Presentation

Algorithm Engineering „Parallele Algorithmen“

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithm Engineering„Parallele Algorithmen“ Stefan Edelkamp

  2. Übersicht • Parallele Musterdatenbanken • Parallele Strukturierte Duplikatselimination • Disjunkte Duplikatserkennungsbereiche • ”Schlösser” • Parallele Algorithmen • Matrix-Multiplikation • List Ranking • Euler Tour • P-Vollständigkeitstheorie

  3. Übersicht • Parallele Musterdatenbanken • Parallele Strukturierte Duplikatselimination • Disjunkte Duplikatserkennungsbereiche • ”Schlösser” • Parallele Algorithmen • Matrix-Multiplikation • List Ranking • Euler Tour • P-Vollständigkeitstheorie

  4. 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

  5. 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

  6. Parallele Evaluation 35-Puzzle

  7. 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

  8. 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

  9. 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

  10. 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

  11. Übersicht • Parallele Musterdatenbanken • Parallele Strukturierte Duplikatselimination • Disjunkte Duplikatserkennungsbereiche • ”Schlösser” • Parallele Algorithmen • Matrix-Multiplikation • List Ranking • Euler Tour • P-Vollständigkeitstheorie

  12. ParallelleMatrix- Multiplication

  13. ParalleleMatrixMultiplication

  14. Exklusives Schreiben

  15. ParalleleKopien

  16. FazitMatrix Multiplication

  17. Paralleles List Ranking

  18. List Ranking

  19. Erster Algorithmus

  20. Prinzip

  21. Komplexität

  22. Verbesserungen

  23. Strategie

  24. Unabhängige Mengen

  25. 2-Färbung

  26. Reduktion

  27. Restauration

  28. Beispiel

  29. Variablen

  30. Beispiel(ctd.)

  31. PseudoCode

  32. NächsterSchritt

  33. Analyse

  34. Backup

  35. Algo

  36. Algo

  37. Speicher

  38. Analyse

  39. Ausblick:Randomisiertin O(n) whp?

  40. Ein optimaler randomisierter Algorithmus

  41. Ein optimaler randomisierter Algorithmus

  42. Ein optimaler randomisierter Algorithmus

  43. Ein optimaler randomisierter Algorithmus

  44. Ein optimaler randomisierter Algorithmus

  45. Ein optimaler randomisierter Algorithmus

  46. Ein optimaler randomisierter Algorithmus

  47. Analyse

  48. Analyse

  49. Analyse

More Related