25.10.2012 Aufrufe

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

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.

6 Zusammenfassung und Ausblick<br />

6.2 Ausblick<br />

6.2.1 Parallelisierung<br />

Bisher arbeitet der <strong>Generierung</strong>sprozess sequentiell. Nacheinander werden die Arbeitsschritte<br />

Mustererzeugung, Anwendbarkeit einer Regel prüfen, Vorabtest und Erfüllbarkeitstest<br />

ausgeführt. In einer Parallelisierung steckt das Potential, die Gesamtlaufzeit zu<br />

verkürzen und so eine höhere durchführbare Kostenstufe als drei oder mehr zu ermöglichen.<br />

Für eine Parallelisierung sind zwei Ansatzpunkte denkbar. Einer dieser Ansatzpunkte<br />

stellt der Erfüllbarkeitstest dar, der aufgrund seines hohen Anteils an der Gesamtlaufzeit<br />

eines <strong>Generierung</strong>svorgangs (vgl. Kapitel 5) ein hohes Sparpotenzial besitzt.<br />

Hier wäre entweder eine parallele Überprüfung mehrere Kandidaten denkbar oder die<br />

Nutzung eines parallel arbeitenden SMT-Solvers um so die Überprüfung eines einzelnen<br />

Kandidaten zu beschleunigen. Auch der Vorabtest lässt sich parallelisieren, indem entweder<br />

mehrere Muster gleichzeitig überprüft werden oder die Überprüfung eines einzelnen<br />

Musters parallelisiert wird. Der andere Ansatzpunkt betrifft die komplette sequentielle<br />

Abarbeitung der einzelnen Arbeitsschritte für jedes neue Muster. Dieses Konzept lässt<br />

sich zumindest partiell parallelisieren, so dass mehrere Muster gleichzeitig erzeugt und<br />

analysiert werden können. Eine parallele Mustererzeugung innerhalb einer Kostenstufe<br />

ist immer unproblematisch, da zur Erzeugung neuer Muster nur Muster mit geringeren<br />

Kosten, also aus einer vorherigen, abgeschlossenen Kostenstufe genutzt werden. Etwas<br />

problematischer gestaltet sich die Parallelisierung der Musteranalyse. Prinzipiell müssten<br />

bei der Suche nach einem semantisch äquivalenten Muster alle optimalen Muster<br />

berücksichtigt werden. Durch die, wie in Abschnitt 4.3.2 beschriebene Zuordnung eines<br />

Musters zu einer Äquivalenzklasse können Muster, die sich in unterschiedlichen Äquivalenzklassen<br />

befinden parallel behandelt werden.<br />

6.2.2 Automatische <strong>Generierung</strong> von Bedingungen<br />

Die Bedingungen für die in Abschnitt 4.5.2 vorgestellten eingeschränkten symbolischen<br />

Konstanten wurden bisher von Hand ermittelt und implementiert. Dieses Vorgehen ist<br />

sehr zeitaufwendig, da sowohl die Mustermenge, als auch die Menge der erzeugten Regeln<br />

durch Konstanten schnell unüberschaubar wird und sich Abhängigkeiten zwischen<br />

den Konstanten eines Muster nur schwer erkennen lassen. Um höhere Kostenstufen dennoch<br />

beherrschbar zu machen, sind weitere Mechanismen notwendig, um Bedingungen<br />

zwischen den Konstanten eines Musters automatisch zu ermitteln. Ein noch zu untersuchender<br />

Ansatzpunkt hierfür könnte sein, aus bereits erzeugten Regeln, durch Vergleich<br />

und Analyse der zugehörigen Konstanten, Abhängigkeiten zwischen diesen abzuleiten.<br />

Diese können wiederum genutzt werden um allgemeinere Regeln zu generieren, welche<br />

die konkreten Regeln ersetzen.<br />

76

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!