Systemdesign / embedded-Test-Design

Abstraktion als Explorationskatalysator

3. April 2018, 19:35 Uhr | Dr. Constantin Tomaras
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Abdeckung des Designraumes

D&E: Wenn ich nun den Designraum erforschen möchte?

AP: Dann sollten Sie sich bewusst sein, dass Sie unter vielen Nebenbedingungen arbeiten. Neben der Auflösung mit der Sie einen entsprechenden Designpunkt bewerten, ist Ihr Suchalgorithmus, der Sie durch den Designraum führt, wesentlich: Letztendlich muss der richtige Spagat zwischen Geschwindigkeit, Auflösung und Aufwand gefunden werden. Dabei entscheiden Verlässlichkeit, Konvergenz und Aufwand über die Güte Ihrer Explorationsmethode.

Die Methoden selbst können in exakte und heuristische Methoden kategorisiert werden. Exakte Methoden finden in der Theorie das Optimum garantiert, sind in der Praxis nur haltbar, in dem der Lösungsraum künstlich beschränkt wird. Für hinreichend große Parameterräume ist das nicht haltbar.
Deshalb kommen meist heuristische Methoden zum Einsatz. Beispiele sind Gradientensuche, Entropieverfahren, Hauptfaserbündel oder genetische Algorithmen (Bild 2).

Bild 2: Genetische Algorithmen sind ein übliches Explorationsverfahren im embedded-Segment
Bild 2: Genetische Algorithmen sind ein übliches Explorationsverfahren im embedded-Segment
© Andy Pimentel

Letztere besitzen im system-level embedded-Design eine gewisse Tradition, auch weil Sie in vielen Fällen sehr zielführend sind.

Eine Lösung wird dabei als Parameter-String hinterlegt, das Chromosom (Bild 3). Eine zufällige Population solcher Lösungen wird dann anhand ihres
Scores zu einem neuen Satz mit höherem Score gekreuzt. Die genetische
Darstellung des Lösungsraum ist dabei notwendig, weil der Kreuzungs-
und Mutationsalgorithmus in dieser Basis definiert wird.

Ein Beispiel wäre die Verteilung unterschiedlicher Rechenaufgaben auf
ein Vielkern-SoC, ein Chromosom bildet dabei die Aneinanderreihung
der Prozessoradressen dieser Aufgaben [p1,...,pn]. Eine nicht-triviale
Nebenbedingung bedeutet dabei, dass die angesprochene Adresse diese
Aufgabe auch ausführen können muss und die Komponenten untereinander
auch kommunizieren können.

Bild 3: Um einen Kreuzungsalgorithmus zu definieren muss die Parametrierung eines eingebetteten Systems wie ein Chromosom beschrieben sein.
Bild 3: Um einen Kreuzungsalgorithmus zu definieren muss die Parametrierung eines eingebetteten Systems wie ein Chromosom beschrieben sein.
© Andy Pimentel

Für Kreuzungen, die dagegen verstoßen, muss ein entsprechender Reparaturmechanismus vorgesehen sein.

Also, stellen Sie sich vor, wir verteilen 11 Aufgaben auf ein Vierkern-SoC.
Der Designraum enthält dabei mehr als 4.000.000 Punkte, von denen 175.000 einzigartig sind. Das sind hinreichend wenig für eine exakte Evaluation. Bei diesem System kann man zeigen [1], dass der genetische Algorithmus bessere Ergebnisse findet, als eine einfache gleichverteilte Zufallssuche. Insbesondere leistet die Größe der Anfangspopulation den Spagat zwischen Auflösung und Rechenzeit: Eine größere Anfangspopulation gelangt immer zu einer besseren Lösung, fordert aber ebenso mehr Rechenressourcen.  

D&E: Liegt in dieser Methode auch Optimierungspotenzial?

AP: Letztendlich möchten Sie immer schneller zu Lösungen gelangen, oder
mehr Designpunkte im selben Zeitintervall berechnen. Dazu können
die Kreuzungsalgorithmen mit Bereichswissen verknüpft werden,
so dass die Nachkommen diverser verteilt, oder mit größerer
Wahrscheinlichkeit am Optimum, liegen. Dazu kennt man Methoden,
welche die Redundanz in der Chromosomdarstellung reduzieren,
oder eine Metrik für Ähnlichkeit unterschiedlicher Chromosomen kennen.
Auch Kreuzungsalgorithmen, die etwas über die Affinität von Prozessorkomponenten für gewisse Aufgaben wissen, sind bekannt.

Dann existieren auch Bestrebungen den simulativen Score mit analytischen Schätzungen zu kombinieren, um den Score eines Designs effizienter zu bestimmen. Dabei basiert die Exploration auf einem analytischen Modell, das den Durchsatz einer bestimmten Aufgabe-zu-Architektur-Abbildung schätzt. Erst wenn diese Schätzung nicht akkurat ist wird Simulation eingesetzt.


  1. Abstraktion als Explorationskatalysator
  2. Konkrete Evaluation
  3. Abdeckung des Designraumes
  4. Echte Arbeitslast

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu MathWorks GmbH

Weitere Artikel zu Betriebssysteme

Weitere Artikel zu Industrie-Computer / Embedded PC

Weitere Artikel zu Entwicklungsdienstleistungen