12.07.2015 Aufrufe

Forschung im HLRN-Verbund 2011

Forschung im HLRN-Verbund 2011

Forschung im HLRN-Verbund 2011

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

206Kurze Wege in großen SystemenMR-Search: Ein Framework für massiv-parallele Graphensuche mit MapReduceA. Reinefeld, T. Schütt, R. Maier, Humboldt-Universität zu Berlin, Zuse-Institut BerlinKurzgefasst• Graphenalgorithmen lassen sich aufgrund vonLastverteilungsproblemen und der irregulärenGraphenstruktur nur schwer parallelisieren.• Entscheidungsprobleme, die auf Graphen beruhen,werden <strong>im</strong>mer komplexer. Eine effizienteParallelisierung ist daher von großerökonomischer Bedeutung.• Wir haben auf dem <strong>HLRN</strong>-II das MPI/OpenMP-Framework “MR-Search” für parallele Graphensuchalgorithmen<strong>im</strong>plementiert.• MR-Search unterstützt Breitensuche, Bestensuche,iterative Suche und Branch-and-Bound. Esist effizient, skalierbar und ausfalltolerant.• Eine Out-of-Core-Variante kann zur Lösung sehrgroßer Probleme eingesetzt werden, die nicht inden Hauptspeicher passen.Algorithmen auf Graphen sind von enormerökonomischer Bedeutung. Viele Entscheidungsproblemeder Kombinatorischen Opt<strong>im</strong>ierung undKünstlichen Intelligenz lassen sich auf Graphenabbilden und mit effizienten Algorithmen lösen. ImVergleich zu den regulären, gitterbasierten Algorithmender numerischen Mathematik sind Graphenalgorithmenallerdings viel schwieriger zu parallelisieren,weil während der KnotenexpansionSchrankenwerte berechnet und an nebenläufigeProzesse geschickt werden müssen, um irrelevanteTeile des Graphen von der Lösungssuche auszuschließen.Da die in der Praxis auftretendenGraphen häufig sehr groß sind – manchmal sogarso groß, dass sie nicht mehr in den Hauptspeicherpassen – ist eine Parallelisierung für Systeme mitverteiltem Speicher besonders wichtig.Die derzeit existierenden Lösungen bauen aufsequentiellen Algorithmen auf, indem sie die <strong>im</strong>Knotenexpansionsprozess berechneten Schrankenwertemittels MPI-Nachrichtenübertragung zwischenden parallelen Prozessen austauschen.Die Lastverteilung ist allerdings eine große Herausforderungund lässt sich systembedingt nichtvollständig lösen, so dass derartige Algorithmennur auf einigen hunderten bis tausend Prozessorenlaufen.Wir haben das MapReduce-Programmiermodell[1] zur Lösung sehr großer Graphenproblemeeingesetzt und damit opt<strong>im</strong>ale Lösungspfade inSuchräumen von bis zu 10 24 Knoten auf dem<strong>HLRN</strong>-II berechnet [3]. MapReduce verarbeitetkey/value-Paare, die in unserem Fall aus Knoten(key) und deren Attributen (value) bestehen.Abbildung 1 veranschaulicht die drei Schritteder parallelen Graphensuche: Im ersten Schritt,dem map, expandiert jeder parallele Prozess dieihm zugeordneten Knoten, indem er seine Nachfolgererzeugt. Im zweiten Schritt, dem shuffle,werden die verteilt erzeugten Knoten mit einerparallelen globalen Gruppierung in sogenanntebuckets sortiert und <strong>im</strong> dritten Schritt, dem reduce,werden irrelvante Knoten (und damit ganzeTeilgraphen) aus dem Suchraum el<strong>im</strong>iniert.Dies geschieht solange, bis ein Lösungsknotengefunden ist. Bei Verwendung einer zulässigen(nicht-überschätzenden) Heuristik ist der gefundeneLösungsknoten opt<strong>im</strong>al.Mit MapReduce können sowohl einfache Breitensuchverfahren[2] als auch komplexere heuristischeSuchen (A*, IDA*, Branch-and-Bound)[3] effizient auf parallelen und verteilten Systemenausgeführt werden. Der parallele Knoten-Expansionsprozess ist feingranular und asynchron,was eine gute Lastverteilung und hoheSkalierbarkeit garantiert. Bei Rechnerausfällenwerden die entsprechenden Prozesse automatischnachgestartet und die erzeugten Datensätze(key/value-Paare) mit den bereits vorhandenenDaten zusammengeführt.MR-SearchUm die Vorteile von MapReduce für einen weitenAnwendungsbereich zu öffnen, haben wir auf dem<strong>HLRN</strong>-II das MR-Search-Framework entwickeltund darauf basierend eine Bibliothek mit einigenGraphensuchmethoden (Breitensuche, Kürzeste-Wege-Suche) für unterschiedliche Anwendungen<strong>im</strong>plementiert. Auf nachrichtenbasierten Systemenmit verteiltem Speicher, wie der SGI ICE des<strong>HLRN</strong>-II, läuft die Software mit MPI und auf Systemenmit gemeinsamem Hauptspeicher, wie derSGI UltraViolett des <strong>HLRN</strong>-II, läuft sie mit OpenMP.Zusätzlich existiert eine CUDA-Version für Graphikprozessoren.Zur Lösung sehr großer Probleme, derenGraphen nicht in den Hauptspeicher passen,können die Daten auf Festplatten ausgelagertwerden. Für den Anwendungsprogrammierer istdie Parallelisierungs- und Speicherstrategie transparent;er muss lediglich die anwendungsspezifischenOperationen der Map- und Reduce-Methodenentwicklung

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!