23.07.2013 Aufrufe

Parallele Algorithmen zur Motivsuche in großen Netzwerken

Parallele Algorithmen zur Motivsuche in großen Netzwerken

Parallele Algorithmen zur Motivsuche in großen Netzwerken

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

DIPLOMARBEIT<br />

UNIVERSITÄTSZENTRUM INFORMATIK<br />

Mart<strong>in</strong>-Luther-Universität Halle-Wittenberg<br />

<strong>Parallele</strong> <strong>Algorithmen</strong> <strong>zur</strong> <strong>Motivsuche</strong> <strong>in</strong> <strong>großen</strong> <strong>Netzwerken</strong><br />

Sven Ritsche<br />

(2008)<br />

© Universitätszentrum Informatik • Universität Halle<br />

von-Seckendorff-Platz 1 • 06120 Halle (Saale)


Allgeme<strong>in</strong>e Angaben<br />

Die Diplomarbeit wurde am Lehrstuhl für Datenstrukturen und effiziente <strong>Algorithmen</strong><br />

von Prof. Dr. Matthias Müller-Hannemann, Institut für Informatik, Mart<strong>in</strong>-Luther-<br />

Universität angefertigt.<br />

Zur Kontaktaufnahme benutzen Sie bitte die Email-Adresse<br />

direktor@uzi.uni-halle.de.<br />

Zusammenfassung<br />

Im Mittelpunkt der Diplomarbeit stand das F<strong>in</strong>den von Motiven <strong>in</strong> <strong>Netzwerken</strong>. Als<br />

Motiv e<strong>in</strong>es Netzwerks bezeichnet man kle<strong>in</strong>e <strong>in</strong>duzierte Subgraphen, deren<br />

Auftreten sich <strong>in</strong>nerhalb e<strong>in</strong>es zu untersuchenden Netzwerks häufen kann. Das<br />

vermehrte Auftreten e<strong>in</strong>es bestimmten Motivs deutet dabei auf e<strong>in</strong>e strukturelle<br />

Eigenschaft h<strong>in</strong>, die für die Analyse großer Netzwerke von Bedeutung se<strong>in</strong> kann. E<strong>in</strong><br />

wichtiges Beispiel für die Relevanz von Motiven kann der Biologie entnommen<br />

werden, denn komplexe biologische und chemische Vorgänge <strong>in</strong>nerhalb von<br />

Organismen können als sehr große Netzwerke dargestellt werden, und e<strong>in</strong><br />

vermehrtes Auftreten e<strong>in</strong>es Motivs kann auf e<strong>in</strong>e wichtige biologische Funktion<br />

h<strong>in</strong>deuten. Die Wichtigkeit der Identifizierung solcher biologischen Funktionen ergibt<br />

sich daraus, dass sich diese Funktionen <strong>in</strong> e<strong>in</strong>em lang andauernden evolutionären<br />

Prozess gebildet haben und somit besonders effizient se<strong>in</strong> können. Aber nicht nur <strong>in</strong><br />

der Biologie haben Motive e<strong>in</strong>e große Bedeutung, auch <strong>in</strong> der Technischen<br />

Informatik existieren Bestrebungen häufig auftretende Motive <strong>in</strong>nerhalb von<br />

Schaltungen zu identifizieren, um eventuelle Optimierungen vornehmen zu können,<br />

<strong>in</strong>dem diese speziellen Funktionen h<strong>in</strong>sichtlich Platz- oder Zeiteffizienz optimiert<br />

werden.<br />

Um die Signifikanz e<strong>in</strong>es Motivs bezüglich des gegebenen Netzwerks zu zeigen,<br />

muss e<strong>in</strong>e Vielzahl an strukturell ähnlichen <strong>Netzwerken</strong> auf dieses Motiv untersucht<br />

werden. Wenn es sich zeigt, dass die Anzahl der gefundenen Motive statistisch<br />

höher ist als die Anzahl <strong>in</strong> den strukturell ähnlichen <strong>Netzwerken</strong>, dann kann auf e<strong>in</strong>e<br />

Bedeutung des Motivs geschlossen werden. Da <strong>zur</strong> Bestimmung der Signifikanz<br />

e<strong>in</strong>es gegebenen Motivs e<strong>in</strong>e Vielzahl an strukturell ähnlichen <strong>Netzwerken</strong> auf dieses<br />

Motiv untersucht werden muss, ist der Berechnungsaufwand sehr groß. Jedoch mit<br />

zunehmender Verbreitung von Multi-Prozessor-Systemen stellt sich die Frage nach<br />

<strong>Algorithmen</strong>, die die vorhandenen Ressourcen optimal ausnutzen, worunter auch die<br />

Verteilung des Berechnungsaufwands auf mehrere Prozessoren fällt. Dies kann zum<br />

e<strong>in</strong>en geschehen, <strong>in</strong>dem die Motive für mehrere unterschiedliche Netzwerke parallel<br />

berechnet werden, zum anderen es ist auch möglich die <strong>Motivsuche</strong> an sich zu<br />

parallelisieren, um gegebene strukturelle Vorteile des Netzwerks ausnutzen zu<br />

können.<br />

- 2 -


Die <strong>Algorithmen</strong> <strong>zur</strong> <strong>Motivsuche</strong> können <strong>in</strong> zwei Arten unterteilt werden, zum e<strong>in</strong>en<br />

die <strong>Algorithmen</strong>, die alle vorhandenen Motive <strong>in</strong>nerhalb e<strong>in</strong>es Netzwerks bestimmen<br />

und deren Auftreten zählen, zum anderen die <strong>Algorithmen</strong>, die gegebene Netzwerke<br />

auf e<strong>in</strong> bestimmtes Motiv untersuchen. Beide Arten haben bestimmte Vorteile und<br />

aufgrund ihrer Aufgabenstellungen unterschiedliche Möglichkeiten <strong>zur</strong> Optimierung.<br />

Mit dem Ersche<strong>in</strong>en der Arbeit [GK07] wurden neue Möglichkeiten <strong>zur</strong> Optimierung<br />

der <strong>Algorithmen</strong> <strong>zur</strong> Suche nach e<strong>in</strong>zelnen Motiven vorgestellt. Außerdem wird <strong>in</strong><br />

dieser Arbeit zwar auf die Möglichkeiten <strong>zur</strong> Parallelisierung des gegebenen<br />

Algorithmus e<strong>in</strong>gegangen, jedoch folgen ke<strong>in</strong>e genaueren Analysen. Es wird dar<strong>in</strong><br />

lediglich auf die parallele Suche <strong>in</strong> verschiedenen <strong>Netzwerken</strong> e<strong>in</strong>gegangen, jedoch<br />

sollten auch die Möglichkeiten <strong>zur</strong> Parallelisierung e<strong>in</strong>er konkreten <strong>Motivsuche</strong><br />

untersucht werden.<br />

Ziel dieser Arbeit war es e<strong>in</strong>erseits die Arbeitsweise des Algorithmus darzustellen<br />

und e<strong>in</strong>e praktische Umsetzung zu erstellen. Andererseits wurden verschiedene<br />

Parallelisierungsansätze entwickelt und deren Vor- bzw. Nachteile näher untersucht.<br />

Nachfolgend wurden diese dann mit Hilfe der Boost-Threadbibliothek umgesetzt und<br />

h<strong>in</strong>sichtlich ihrer Effizienz untersucht.<br />

Die verschiedenen Parallelisierungen basieren dabei auf der nebenläufigen Suche<br />

nach dem gegebenen Motiv, sowie der Partitionierung des Netzwerks und der Suche<br />

<strong>in</strong>nerhalb der Partitionen sowie zusätzlicher Berechnungen <strong>in</strong> Umgebung der<br />

Partitionsgrenzen. Mittels der Partitionierung sollte e<strong>in</strong>e effiziente Ausnutzung der<br />

Speicherhierarchien erreicht werden.<br />

Die verschiedenen Vorgehensweisen lassen sich e<strong>in</strong>teilen <strong>in</strong> e<strong>in</strong>e triviale Suche, e<strong>in</strong>e<br />

2-Phasen-Suche und e<strong>in</strong>e 1-Phasen-Suche. Die triviale Suche berechnet die Motive<br />

nebenläufig für alle Knoten des Graphen. In der 2-Phasen-Suche wird der zu<br />

durchsuchende Graph partitioniert und nach Motiven durchsucht, die vollständig<br />

<strong>in</strong>nerhalb e<strong>in</strong>er Partition liegen. E<strong>in</strong> nachfolgender Schritt sucht dann alle Motive, die<br />

sich über mehrere Partitionen erstrecken. In der 1-Phasen-Suche wird der zu<br />

durchsuchende Graph partitioniert und dann die nebenläufige Suche für jede Menge<br />

von Knoten e<strong>in</strong>er Partition durchführt. Dabei bestand das Ziel der <strong>Motivsuche</strong> auf den<br />

Partitionen dar<strong>in</strong>, die Zugriffe auf die unterliegende Datenstruktur zu optimieren.<br />

Die erarbeiteten Ansätze wurden implementiert und auf e<strong>in</strong>em 16 Prozessor SMP-<br />

System getestet. Für die Implementierung der trivialen Variante zeigte sich e<strong>in</strong><br />

Speedup, der jedoch h<strong>in</strong>ter den theoretischen Erwartungen <strong>zur</strong>ück blieb. Für die 2-<br />

Phasen-Suche konnte gezeigt werden, dass die Partitionierung e<strong>in</strong>es Netzwerks und<br />

die Suche <strong>in</strong>nerhalb der Partitionen die Laufzeit verr<strong>in</strong>gert und man somit e<strong>in</strong>en<br />

vorteilhaften E<strong>in</strong>fluss des Caches annehmen kann. Insbesondere im Vergleich <strong>zur</strong><br />

trivialen Variante zeigte sich e<strong>in</strong> deutlicher Vorteil. Die Laufzeiten können sich hierbei<br />

unterschiedlich auf die zwei Phasen verteilen. Bei e<strong>in</strong>em Netzwerk, das e<strong>in</strong>e ger<strong>in</strong>ge<br />

Anzahl an partitionsübergreifenden Kanten besitzt, wird sich der Großteil des<br />

Berechnungsaufwands auf die erste Phase beschränken. Es entstehen jedoch für die<br />

zweite Phase immer gewisse Grundkosten, da über alle Kanten des Netzwerks<br />

iteriert werden muss. Die dritte Variante zeigte e<strong>in</strong> noch besseres Laufzeitverhalten<br />

im Vergleich zu den zwei anderen Varianten. Zurückzuführen war dies auf die<br />

Vermeidung der Kosten für e<strong>in</strong>e zweite Phase und der positiven Auswirkungen der<br />

Partitionierung.<br />

- 3 -


Da die Partitionierung e<strong>in</strong>es Netzwerks Kosten verursacht, bietet es sich an nache<strong>in</strong>ander<br />

nach mehreren Motiven zu suchen und somit nur e<strong>in</strong>mal die Partitionierung<br />

berechnen zu müssen.<br />

Literatur<br />

[GK07] GROCHOW, Joshua A. ; KELLIS, Manolis: Network Motif Discovery<br />

Us<strong>in</strong>g Subgraph Enumeration and Symmetry-Break<strong>in</strong>g. In: RECOMB,<br />

2007, S. 92–106<br />

- 4 -

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!