Abstract

Der neue Ansatz der DORA-Architektur spielt in den aufstrebenden NUMA-Plattformen eine wichtige Rolle. Nachdem Moore‘s Gesetz seine Grenze erreicht hat, wird für die Steigerung des Durchsatzes und der Performance auf viele Prozessoren zurückgegriffen. Mit der Verteilung der Arbeit auf simultan laufende Prozessoren können Fortschritte in der Verarbeitungsgeschwindigkeit erzielt werden. Mit der DORA-Architektur wird der Zugriff von mehreren Prozessoren auf die selben Daten minimiert, um Lockingmechanismen für kritische Bereiche zu umgehen. Das entscheidende Kriterium hierbei ist die Datenaufteilung auf die Prozessoren. In Bereichen von Sozial Media, Verlinkung von Webseiten oder geografischen Daten entwickelten sich die Graphen als führende Darstellungsform. In dieser Arbeit wird untersucht, welche Charakteristiken ein geeignetes Graph-Partitionierungsverfahren für eine DORA-Architektur aufweisen muss. Dazu wurden zu einigen bewährten, neue Ansätze in ein bestehendes System implementiert. Der Evaluierung der Algorithmen dienten zwei verschiedene Pattern Matching Verfahren. Im Fokus stand neben der Performance der Anfragebeantwortung, die Analyse der Verarbeitung. Entscheidende Aspekte wie der Kommunikationsaufwand und die Auslastung von Prozessoren wurden während der Anfrage aufgezeichnet und danach ausgewertet. Anhand dieser Messungen werden Aussagen über geeignete Eigenschaften von Graph-Partitionierungsverfahren gefällt.

Aufgabenstellung

Im Rahmen dieser Arbeit sollen daher verschiedene Graph-Partitionierungsalgorithmen in einem DORA-artigen System implementiert und evaluiert werden. Dafür ist es notwendig, ein prototypisches System zu entwickeln, in dem Graphdaten verteilt abgelegt und angefragt werden können. Es soll untersucht werden, welche Datenstrukturen für eine effektive Partitionierung geeignet sind. Weiterhin sind verschiedene Ansätze zu erproben, beispielsweise die Auswirkungen von Redundanz, die Notwendigkeit von minimalen Schnitten und anderen Metriken. Gegebenenfalls können die entwickelten Algorithmen in die speicherresidente Datenbank ERIS übertragen und evaluiert werden. Neben bestehenden Partitionierungsalgorithmen, wie bspw. Multilevel k-way Partitioning oder Recursive Bisection sollen entsprechend angepasste Algorithmen bzw. eigene Ideen Anwendung finden. Wesentliche Fragestellungen sind dabei:

  • Welche Charakteristiken sind für eine effektive Graphpartitionierung entscheidend?
  • Wie stark wirkt sich der Workload auf die Effektivität der verwendeten Partitionierungsstrategie aus?
  • Wie performant verhalten sich die einzelnen Partitionierungsstrategien und sind sie ebenfalls für dynamische Neupartitionierungen geeignet?