Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
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