Cone{basierte, hierarchische Modellpartitionierung zur parallelen compilergesteuerten Logiksimulation beim VLSI{Design
K. Hering, R. Haupt, Th. Villmann Institut fÄ ur Informatik UniversitÄ at Leipzig, Augustusplatz 10-11 04109 Leipzig
UniversitÄ at Leipzig / Institut fÄ ur Informatik
Report Nr. 13 (1995) ftp.uni-leipzig.de { directory: /pub/i¯/reports
Zusammenfassung Eine wichtige Form der Veri¯kation von komplette Prozessorstrukturen umfassenden VLSI{EntwÄ urfen stellt die funktionelle Logiksimulation auf Gatter{ und Register{ Ebene dar. Im Kontext der Entwicklung eines parallelen Logiksimulationssystems auf Basis des nach dem clock-cycle{Algorithmus arbeitenden funktionellen Simulators TEXSIM (IBM) ist die der parallelen Simulation vorangehende Modellpartitionierung
Gegenstand Modell
der
wird
auf
Betrachtung. der
Basis
Ausgehend des
Cone{Begri®s
Partitionierungsansatz im Rahmen einer Ansatz
gibt
Untersuchungen
Superpositionsprinzip
von
von
zur
einem ein
k {stu¯gen
Kombination
strukturellen zweistu¯ger
Hardware{
hierarchischer
Strategie vorgestellt. Dieser
von
Algorithmen
Raum.
Ein
fÄ ur Partitionen gestattet die Verschmelzung der Resultate
Partitionierungsverfahren
Concentration{Algorithmus
einer
(n-BCC)
Hierarchiestufe. und
dem
Mit
dem
Backward-Cone-
Minimum-Overlap-Cone-Cluster{
Algorithmus (MOCC) werden im Rahmen unseres bottom-up {Partitionierungsansatzes
zwei neue Modellpartitionierungsverfahren eingefÄ uhrt.
Abstract The functional logic simulation on the basis of the gate{ and register{level plays an important role for the veri¯cation of VLSI{designs containing whole processor structures. We consider the model partitioning of such structures which are necessary for parallel simulation on a parallel logic simulator, based on the so called clockcycle{algorithm. Especially, but not required, we focus on the usage of the functional
simulator TEXSIM (IBM). Starting from a structural hardware model we introduce a 2{level hierarchical partitioning strategy, embedded in a general hierarchical
k{
level approach, using the concept of cones. This ansatz enables us to investigate the combination of algorithms. A superposition principle allows to unite the results of di®erent partitioning algorithms within one hierarchical level. In the frame of our bottom-up partitioning strategy we introduce two new model partitioning algorithms,
the backward-cone-concentration algorithm (n-BCC) and the minimum-overlap-conecluster algorithm (MOCC).
Inhaltsverzeichnis 1 Vorbemerkungen
1
2 Verteilte Logiksimulation
3
2.1
AnsÄ atze zur Logiksimulation
2.2
Der Logik{Simulator
2.3
Parallelisierung der Logiksimulation
: : : : : : : : : : : : : : : : : : : : : : : :
TEXSIM
: : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : :
3 5 7
3 Mathematische Beschreibung des Modells { De¯nitionen und Begri®sbildungen 9 3.1
Beschreibung des Hardware-Modells
: : : : : : : : : : : : : : : : : : : :
9
3.2
Der Cone|Begri®
: : : : : : : : : : : : : : : : : : : : : : : : : : : : :
11
3.3
Partitionierung auf Grundlage des Cone{Begri®s
: : : : : : : : : : : : :
4 Modellpartitionierung
19
4.1
Ziel der Partitionierung
4.2
Zielfunktion zur Bewertung von Partitionen
4.3
Bisherige Partitionierungsalgorithmen
4.4
Hierarchische Partitionierung
4.5
16
: : : : : : : : : : : : : : : : : : : : : : : : : : :
19
: : : : : : : : : : : : : : :
20
: : : : : : : : : : : : : : : : : : :
22
: : : : : : : : : : : : : : : : : : : : : : :
25
4.4.1
Beschreibung des hierarchischen Ansatzes
4.4.2
Kombination von Algorithmen
4.4.3
Superpositionsprinzip fÄ ur Partitionen
: : : : : : : : : : : : : : :
29
Neu entwickelte Partitionierungsalgorithmen
: : : : : : : : : : : : : : :
33
4.5.1
Der Backward { Cone { Concentration | Algorithmus (n-BCC)
33
4.5.2
Der Minimum { Overlap { Cone { Cluster | Algorithmus (MOCC) 36 i
: : : : : : : : : : : :
25
: : : : : : : : : : : : : : : : : : :
26
4.6
Erste experimentelle Ergebnisse
: : : : : : : : : : : : : : : : : : : : : :
ii
40
1
Vorbemerkungen
Der VLSI-Schaltkreisentwurf ist ein wichtiger Bestandteil der Entwicklung neuer Computersysteme, der in den letzten Jahren zunehmend selbst automatisiert wurde. Das ist auf die stetig wachsende Zahl von funktionellen Elementen je Prozessor zurÄ uckzufÄ uhren. Waren noch 1965 ca. 5 funktionelle Elemente je Chip zu integrieren, stieg die Zahl auf bereits 100:000 im Jahr 1985. Heute hat diese Zahl den Stand von 106 Elementen je Prozessor u Ä berschritten. In naher Zukunft wird dieser Wert in der GrÄ o¼enordnung von ca. 107 Elementen liegen. Bei der Entwicklung dieser Prozessoren spielt die Simulation als Veri¯kationsmethode in der Entwurfsphase eine entscheidende Rolle zur Fehlererkennung und -beseitigung. Der Aufwand solcher Simulationen ist jedoch sehr hoch: Die Simulationszeiten di®erieren gegenÄ uber den Real-CPU-Zeiten um einen Faktor, der in der Endphase des Veri¯kationsprozesses bis zu 7 GrÄ o¼enordnungen betragen kann. Ein
Ansatz
zur
Reduzierung
dieser
extremen
Simulationszeiten
besteht
in
der Parallelisierung des Simulationsprozesses u Ä ber einem Prozessormodell auf der Grundlage der modellinhÄ arenten ParallelitÄ at. Damit ergibt sich im Vorfeld der parallelen Simulation die Notwendigkeit, das Prozessormodell in geeigneter Art und Weise zu partitionieren, um eine hohe E±zienz der parallelen Simulation zu gewÄ ahrleisten1 . Aus dem Studium und der Analyse bisheriger Forschung ergab sich, da¼ basierend auf
der
Beschreibungsebene
(Abschnitt 2.3)
Gatter/Register
der Fan-In-Cone{Ansatz
als
und
des
Parallelisierungskonzeptes
Partitionierungsgrundlage
geeignet
ist. Die Zusammenfassung von Elementen in solchen Cones stellt danach eine Zusammenfassung von Elementen der Gatter-/Register-Ebene dar (Abschnitt 3.2). Die Beziehungen zwischen den Cones lassen sich in Form eines speziellen Hypergraphen Ä darstellen, der den Uberlappungsgrad zwischen Cones formal beschreibt. Ausgehend Partitionierung
die
von als
Partitionierung
GÄ utekriterien fÄ ur
einer eine von
allgemeinen
zwischen
zwei
Cone-Mengen
Partitionen
zu
mathematischen
Mengen
wirkende
charakterisierende
¯xieren (Abschnitt
Formulierung
Abbildung
GrÄ o¼en
3.3).
Auf
werden
de¯niert, Grund
der
der
um zu
erwartenden ProzessorgrÄ o¼en mit Elementzahlen in den GrÄ o¼enordnungen 106 bis 107 , erweist sich eine direkt optimierende Partitionierung in eine Anzahl von Clustern, 1 Diese Arbeit wird von der Deutschen Forschungsgemeinschaft (DFG) unter dem Aktenzeichen Sp 487/1-1 gefÄ ordert.
1
die im Bereich der GrÄ o¼enordnungen 101 bis 102 liegt, als schwierig oder nicht durchfÄ uhrbar. Deshalb gehen wir von einem
hierarchischen Partitionierungsmodell
aus, das schrittweise die ProblemgrÄ o¼e reduziert (Abschnitt 4.4.1). Dieses Modell lÄ a¼t sich mittels der eingefÄ uhrten mathematischen Beschreibung des allgemeinen Partitionierungsproblems
als
HintereinanderausfÄ uhrung
der
die
Partitionierung
realisierenden Abbildungen au®assen. In den unterschiedlichen Hierarchieebenen kÄ onnen parallel
mehrere verschiedene
Algorithmen eingesetzt und kombiniert werden
(Abschnitt 4.4.2). Diese modulare Struktur im Hierarchieansatz erlaubt die Einbindung neuer Algorithmen und garantiert damit eine hohe VariabilitÄ at. Verschiedene
Algorithmen
fokussieren
dabei
auf
verschiedene
mÄ ogliche
Eigenschaften in der Cone-Struktur. Um die Vorteile einzelner Algorithmen bezÄ uglich eines zu partitionierenden Modells miteinander verbinden zu kÄ onnen, wurde ein
Superpositionsprinzip fÄur Partitionen entwickelt (Abschnitt 4.4.3).
Ausgehend von ersten Untersuchungen an uns vorliegenden Prozessormodellen
Backward{Cone{ Minimum{Overlap{Cone{Cluster|
der Firma IBM wurden zwei neue Partitionierungsalgorithmen, der
Concentration|Algorithmus (n{BCC) und der Algorithmus (MOCC) entwickelt (Abschnitte 4.5.1 und 4.5.2). Erste experimentelle Ergebnisse werden in Abschnitt 4.6 vorgestellt2 .
2 Die
Implementation
der
Algorithmen
sowie
die
DurchfÄ uhrung
der
Partitionierungen
zur
Gewinnung der experimentellen Ergebnisse wurde durch die Herren R. Reilein und H. Hennings realisiert.
2
2
Verteilte Logiksimulation
2.1
AnsÄ atze zur Logiksimulation
Die Simulation ist eine wichtige Methode der Veri¯kation von VLSI{EntwÄ urfen.
Marwedel beginnend
zeigt das breite Spektrum der dabei auftretenden Abstraktionsebenen,
mit Simulationen von
(Proze¼ebene)
bis
zu
Di®usionsprozessen
Simulationen
auf
in kristallinen Strukturen
verschiedenen
Prozessoren
laufender
kooperierender Prozesse (Systemebene) [Mar93]. Unser
Interesse
ist
auf
die
Gate-
und
Registerebene
gerichtet. Simulation
auf diesen Ebenen wird als Logiksimulation bezeichnet. Im folgenden wird ein zugrundeliegendes Modell vereinfacht als Menge von Elementen zweier Sorten (Boxen, Signale) betrachtet. Die formale EinfÄ uhrung eines strukturellen Hardware-Modells erfolgt in Abschnitt 3.1 . Boxen reprÄ asentieren Elemente hochintegrierter Schaltkreise mit logischer Funktion (z.B. Gatter), mit speichernder Funktion (z.B. Latches) oder mit Kommunikationsfunktion bezÄ uglich des Schaltkreisumfelds (z.B. Input{ und Output-Pins). Sie sind mit wenigstens einem Ein- und Ausgang versehen. Signale reprÄ asentieren die die Elemente verbindenden Leiterbahnen. Sie sind als TrÄ ager logischer Werte anzusehen. Der Einfachheit der folgenden Darstellung halber wird angenommen, da¼ jedes Signal eine nicht nÄ aher spezi¯zierte Information u Ä ber seine Bindung an BoxeingÄ ange und BoxausgÄ ange enthÄ alt. Zu jeder Box gehÄ ort eine Abbildung (Schaltfunktion), welche Eingangstupeln logischer Werte Ausgangstupel logischer Werte zuordnet. Im Rahmen einer Simulation werden diese Abbildungen auf der Basis diskreter Zeitmodelle (bei der betrachteten Abstraktionsebene in der Regel
zero-delay{, unit-delay{, ¯xed delay{Modelle
[Mei93, MTSDA93]) entsprechend
einem zugrundeliegenden Box{Scheduling realisiert. Diese Realisierung wird als Box{ Evaluation bezeichnet. Das jeweils gewÄ ahlte Zeitmodell bestimmt insbesondere die Zuordnung von als VerzÄ ogerung interpretierbaren Zeitintervallen zu Box{Evaluationen. SystemzustÄ ande wÄ ahrend einer Simulation werden durch eindeutige Abbildungen von der Menge der speichernden Boxen und Signale in die Zweiermenge der logischen Werte gegeben. Box{Evaluationen ziehen in der Regel ZustandsÄ anderungen nach sich. Abbildung 1 zeigt ein Basisschema der Logiksimulation in Anlehnung an [Mei93]. Ausgehend von einer Initialisierungsphase stellt der Simulationsproze¼ eine zyklische 3
Abbildung 1: Basisschema der Logiksimulation Abfolge von Box-Scheduling, Box-Evaluationen und Zustandsaktualisierungen dar. Werden in jedem Simulationsschritt generell ausgewÄ ahlt, spricht man von simulation ). driven
zeitgesteuerter Simulation
Dieser Simulationsart steht die
simulation )
sÄ amtliche
gegenÄ uber [Pos89].
Boxen zur Evaluation
(time{driven,
ereignisgesteuerte
Ereignisse
compiled mode
Simulation
(event-
sind in diesem Zusammenhang
Ä als Anderungen von, den Signalen zugeordneten, logischen Werten zu verstehen. Voraussetzung fÄ ur die Evaluation einer Box ist ein Ereignis bezÄ uglich wenigstens eines ihrer Eingangssignale. Die ereignisgesteuerte Strategie bietet den Vorteil einer vergleichsweise geringeren Anzahl der wÄ ahrend einer Simulation zu evaluierenden Boxen. DemgegenÄ uber besteht der Vorteil der erstgenannten Strategie im Wegfall des fÄ ur die Ereignisverwaltung erforderlichen Overheads. Unsere Arbeit steht in Bezug zur rein funktionellen Logiksimulation. FÄ ur uns ist mit dem
clock{cycle{ Algorithmus
ein spezieller zeitgesteuerter Simulationsalgorithmus von
Interesse . Dabei werden in zugrundeliegenden Modellen synchroner Hardware delay{Boxen
(logische Boxen) und
unit{delay {Boxen
zero{
(durch Clock{Impuls gesteuerte
Latches, globale Inputs/Outputs) unterschieden. Bei den
zero{delay{Boxen
werden aus
Evaluationen resultierende SignalwertÄ anderungen noch im gleichen Simulationsschritt 4
(zum gleichen Simulationszeitpunkt) wirksam; bei den
unit{delay {Boxen
geschieht das
mit VerzÄ ogerung um eine Einheit der Simulationszeit. Ein Simulationsschritt entspricht der Phase zwischen zwei aufeinander folgenden Clock-Impulsen (Zyklus) und beinhaltet die Evaluation sÄ amtlicher Boxen.
clock{cycle{Algorithmus
Der
geht von einer (aufgrund fehlender RÄ uckkopplungen
in der zugrundeliegenden kombinatorischen Logik mÄ oglichen) Einteilung der Boxen in Niveaumengen aus. Niveau 0 wird von den Latches und globale Inputs verkÄ orpernden
unit-delay {Boxen
gebildet.
folgenden Niveaus
j
Die
verbleibenden
Boxen
werden
derart
aufeinander
zugeordnet, da¼ die Eingangssignale jeder Box des Niveaus
mit Boxen aus Niveaus kleiner als
j
j
nur
verbunden sind.
Die Simulation eines Zyklus lÄ auft folgenderma¼en ab: ZunÄ achst werden die an den EingÄ angen der Boxen des Niveaus 0 anliegenden logischen Werte auf die entsprechenden von diesen Boxen ausgehenden Signale weitergeleitet. Danach 1
werden,
evaluiert
und
in
vor
der
Simulation
die betre®enden
¯xierter
Ausgangssignale
Weise,
alle
Boxen
mit logischen
des
Werten
Niveaus versehen.
Entsprechend erfolgt die Evaluation der restlichen Niveaus mit wachsender Niveauzahl. Am Zyklusende liegen schlie¼lich aktualisierte Werte an den EingÄ angen der Boxen des Levels 0 (fÄ ur die Weiterverwendung in eventuell folgenden Simulationsschritten) und an den die globalen AusgÄ ange verkÄ orpernden Boxen an.
Dieser vorgestellte Algorithmus gehÄ ort zur Klasse der 'cycle{based ' Algorithmen, die
fÄ ur
die
funktionelle
Logiksimulation
auf
Gate-
und
Registerebene
gegenÄ uber
ereignisgesteuerten Verfahren signi¯kante Laufzeitvorteile aufweisen [TU94].
2.2
Der Logik{Simulator
Der Simulator
TEXSIM
TEXSIM
(IBM) arbeitet auf Basis des
clock-cycle
Algorithmus und ist
einer der fÄ uhrenden heute kommerziell verfÄ ugbaren funktionellen Logiksimulatoren. In San Diego wurde er unter dem Namen
94
(DAC'94) vorgestellt.
TEXSIM
MaxSim
auf der
Design Automation Conference
ist in ein leistungsfÄ ahiges Umfeld von Design-
Tools eingebettet. Die Erzeugung entsprechender Simulationsmodelle geht von VLSI{ Spezi¯kationen in Hardwarebeschreibungssprachen
DSL/1
und
BDL/S 3
aus, welche
zunÄ achst in strukturelle Zwischenmodelle (Protos) u Ä bersetzt werden. Zur Analyse und Bearbeitung der Protos dient eine Design Automation Data Base
3 DSL/1
und
BDL/S
sind
¯rmeninterne
Funktionsumfangs in etwa mit den Sprachen
Entwicklungen
VHDL, Verilog 5
und
(IBM),
EDIF
die
DA DB
(IBM),
bezÄ uglich
vergleichbar sind.
ihres
Abbildung 2: Sequentielle TEXSIM{Simulation in deren Kontext die Bildung der eigentlichen Simulationsmodelle erfolgt. Sowohl
TEXSIM Ä Uber
als auch ein
als
DA DB stehen uns zur VerfÄugung. TEXSIM {Erweiterung
anzusehendes
Monitorprogramm
sind
TEXSIM {Simulationen mittels C{ und REXX{Programmen steuerbar und Testcases in
den
Simulationsproze¼
einbeziehbar.
Die
Simulationsresultate
kÄ onnen
sehr
unterschiedlichen Umfang besitzen; logische Werte sind ebenso mÄ oglich wie Protokolle umfangreicher SignalwertverlÄ aufe. Eine schematische Darstellung der (momentan noch sequentiellen) Mit
TEXSIM {Simulation ist in Abbildung 2 wiedergegeben.
TEXSIM
zu
realisierende
Simulationsprozesse
im
Rahmen
aktueller
Prozessorentwicklungen lassen sich wie folgt charakterisieren :
²
Die Modelle verkÄ orpern in der Regel komplette Prozessorstrukturen.
²
Die Stimuli (Testcases) stellen Mikro- bzw. Maschinencodesequenzen dar.
²
Es erfolgt eine gro¼e Anzahl zeitintensiver SimulationslÄ aufe mit umfangreichen Codesequenzen u Äber ein und demselben Modell.
Man
kann
davon
ausgehen,
da¼
fÄ ur
relevante
Prozessormodelle
die
agt und Simulationslaufzeit das bis zu 107 {fache der simulierten CPU{Zeit betrÄ bei heutigen EntwÄ urfen den Umfang von
Monaten
erreichen kann. Damit ergibt
sich hinsichtlich der Realisierbarkeit interessierender komplexer SimulationslÄ aufe im
Rahmen
vertretbarer
Entwicklungszeiten
die
Forderung
einer
signi¯kanten
Reduzierung der Simulationszeit. Mit diesem Ziel arbeiten wir an der Parallelisierung der Simulation auf
TEXSIM {Basis.
6
Abbildung 3: Parallele TEXSIM{Simulation
2.3
Parallelisierung der Logiksimulation
Wir gehen bei unserem Parallelisierungsansatz von der modellinhÄ arenten ParallelitÄ at aus. Die angestrebte parallele Simulation ist durch auf lose gekoppelten Prozessoren u Ä ber Teilen eines Ausgangsmodells arbeitende kooperierende TEXSIM {Instanzen gekennzeichnet, welche in ihrem Kern (Realisierung des clock-cycle Algorithmus) nicht modi¯ziert werden (Abb. 3) [Bry88]. Als mÄ ogliche Zielhardware sind u Äber einen High Performance Switch verbundene RISC/6000 {Prozessoren (SP2{Systeme von IBM)
vorgesehen. Eine AusfÄ uhrung auf alternativen Hardware-Plattformen, z.B. Cray T3D und Parsytec, soll grundsÄ atzlich mÄ oglich sein. Wir
arbeiten
an
der
Entwicklung,
Analyse
und
Implementierung
von
Partitionierungsalgorithmen fÄ ur Modelle im Vorfeld der parallelen Logiksimulation auf TEXSIM {Basis. Dabei ist die Relevanz dieser Arbeiten nicht auf den speziellen uns zur
VerfÄ ugung stehenden Simulator beschrÄ ankt; die Ergebnisse sind fÄ ur die Parallelisierung anderer auf Basis des clock-cycle{Algorithmus arbeitender Simulatoren u Ä bertragbar. 7
Die mit der Modellpartitionierung erfolgende Fixierung von, durch einzelne Simulatorinstanzen
auf
parallelen
Prozessoren
zu
bearbeitenden,
Modellteilen
bestimmt einen aus dem Schneiden von Signalpfaden resultierenden Kommunikationsund Synchronisationsoverhead sowie eine Lastverteilung bezÄ uglich der beteiligten Prozessoren. Diese Faktoren beein°ussen wesentlich den speed-up einer auf die Partitionierung folgenden parallelen Simulation. Ziel der Partitionierung ist damit eine mÄ oglichst optimale Gestaltung dieser Faktoren hinsichtlich erreichbarer VerkÄ urzungen der Simulationslaufzeit. Angesichts der in der Regel gro¼en Zahl u Ä ber ein und demselben Modell erfolgenden zeitintensiven SimulationslÄ aufe (siehe Abschnitt 2.2) kann ein im Vergleich zu einem einzelnen Simulationslauf hoher Rechenaufwand fÄ ur die Partitonierung durchaus gerechtfertigt sein. Wir
gehen
davon
aus,
da¼
die
in
eine
parallele
Simulation
einbezogenen
Simulatorinstanzen u Ä ber einem Modellteil die Simulation eines Zyklus unverÄ andert gegenÄ uber mÄ ussen
sequentiellen
innerhalb
der
LÄ aufen
u Ä ber
dem
Modellteile Boxen
Gesamtmodell
derart
ausfÄ uhren.
zusammengefa¼t
Deshalb
werden,
da¼
eine Interprozessorkommunikation hÄ ochstens an den Zyklusgrenzen notwendig wird. Diese Forderung ist bei der Wahl sogenannter fan-in{Cones als Grundbausteine fÄ ur
Partitionskomponenten
erfÄ ullt.
Daraus
Partitionierungsstrategie.
8
begrÄ undet
sich
unsere
cone-basierte
3
Mathematische Beschreibung des Modells { De¯nitionen und Begri®sbildungen
3.1
Beschreibung des Hardware-Modells
Als Grundlage
fÄ ur alle folgenden De¯nitionen und Begri®sbildungen wird ein
strukturelles Modell fÄ ur
logisches
Design auf
der Gatter-
und
Register-Ebene
vorgestellt. Die mit diesem Modell beschreibbaren Schaltkreise sind synchron getaktet, d.h. asynchrone kombinatorische RÄ uckkopplungen sind nicht erlaubt. Auf dieser Grundlage lÄ a¼t sich das Hardware{Modell
aus folgenden Mengen
M
aufbauen (s. Abb. 4): M
I
:::
globale EingÄ ange,
L
:::
speichernde Elemente,
M
O
M
Die Elemente der Menge nach au¼en. Die Menge
M
:::
S
M
M
E
globale AusgÄ ange,
I
:::
E
M
:::
logische Elemente,
Signale.
[ MO
modellieren die Verbindungen der Hardware
fa¼t alle Elemente in der betrachteten Hardware
zusammen, die TrÄ ager logischer Funktionen sind. Die Elemente von
M
E
kÄ onnen dabei
durchaus komplexe Gebilde mit komplizierterer logischer Funktion im Rahmen der o.g. Gatter- und Register-Ebene sein. DemgegenÄ uber stehen die Elemente von
M
L,
die Speicherfunktion besitzen und zyklusbegrenzend im Rahmen des in Abschnitt 2.1 erlÄ auterten clock-cycle {Algorithmus wirken. Alle Elemente von
L
und
M
B MB
=
M
I,
M
O,
M
E
M
(s. Abb. 4) sind paarweise disjunkt und werden in der Menge der Boxen
M
I
[ MO [ ME [ ML
zusammengefa¼t. Eine Verbindung der Elemente von
untereinander kann durch Signale, die in der Menge
S
M
zusammengefa¼t sind
und in der zugrundeliegenden Hardware durch Leiterbahnen reprÄ asentiert werden, erfolgen. Die Signale als Elemente von
M
S
verbinden mindestens 2 Elemente aus
B
M
miteinander, symbolisieren also hÄ au¯g komplizierte Leiterbahnstrukturen, wobei die Ä Pfeilrichtung der Richtung des Signal°usses zur Ubertragung logischer Werte entspricht (vgl. Abb. 5). Neben der hier nicht weiterverfolgten MÄ oglichkeit auf der Grundlage der oben eingefÄ uhrten Mengen einen Hypergraphen einzufÄ uhren, bietet sich die De¯nition eines 9
Abbildung 4: Hardware-Modell (schematisch) { Grobstruktur
Abbildung 5: Schematische Schaltkreisdarstellung (links) und Modelldarstellung (rechts)
10
gerichteten bipartiten Graphen an. Dazu fÄ uhren wir die Relation
R µ (MB £ MS ) [
M
£ MB ) ein, die zum Ausdruck bringt, da¼ sowohl eine Box b1 2 MB logische Werte einem Signal s1 2 MS u Ä bergeben kann { (b1 ; s1 ) 2 MR , als auch eine Box b2 logische Werte von einem Signal s2 erhalten kann { (s2 ; b2 ) 2 MR . Wie in Abb. 5 dargestellt, Ä ber mehrere Quellen bq1 ; bq2 ; : : : 2 MB als auch u Ä ber kann ein Signal s 2 MS sowohl u mehrere Senken bs1 ; bs2; : : : 2 MB verfÄ ugen.
(MS
NG+ (x) = fyj(x; y) 2 Rg und der VorgÄanger NG¡ (x) = fy j(y; x) 2 Rg fÄur beliebige gerichtete Graphen G = (X; R) und x 2 X de¯nieren wir Mit der Menge der Nachfolger
das Hardware-Modell wie folgt:
De¯nition 3.1
:
Mengen und M
B;
I
O;
E;
Es seien M ; M
R
M
Hardware-Modell
bipartite
G(M )
(MB ;
=
S paarweise disjunkte, nichtleere (MI ; MO ; ME ; ML ; MS ; MR ) wird
und M
M
=
wie oben de¯niert. M
genau dann als Graph
L
M
bezeichnet, wenn der entsprechende gerichtete
R)
S
M ; M
[Len90,
Spo95]
folgenden
Bedingungen
genÄ ugt:
n
1.
j 2 MB [ MS ^ NG¡(M ) (x) = ;
o
x x
n
2.
j 2 MB [ MS ^ NG+(M ) (x) = ;
o
x x
I
=
M ;
=
M
O; L
3. jeder Kreis in G(M ) enthÄ alt ein Element von M .
I
ist
M
Senken von
die
Menge
G(M ).
aller
Quellen
von
G(M )
und
M
O
die
Menge
aller
Bedingung 3 bringt den synchronen getakteten Charakter der
zugrundeliegenden Hardware dadurch zum Ausdruck, da¼ es keine Kreise gibt, die ausschlie¼lich Elemente von
3.2
M
E [ MS
enthalten.
Der Cone|Begri®
Um eine Senkung der Simulationszeit zu erreichen, wird gemÄ a¼ Abschnitt 2.3 das Hardware-Modell mit dem Ziel partitioniert, die dabei erhaltenen Modellteile auf mehreren Prozessoren getrennt simulieren zu kÄ onnen. Die damit verbundene Auftrennung
R
M
des
(in
der
der
Sprache
aquivalenten Ä
beachtlichen
Signale
bzw.
der
bipartiten
der
Elemente
Graphen:
der
Graphen
Kommunikationsbedarf
aus
der
Menge
Schnitt
der
entsprechenden
G(M ))
zwischen 11
fÄ uhrt den
in
der
einzelnen
der
Regel
Relationen
zu
Kanten einem
Prozessoren.
Der
verwendete clock-cycle {Algorithmus (s. Abschnitt 2.1) verlangt eine BeschrÄ ankung bei der Aufschneidung von Signalen aus die Aufteilung der Elemente aus
M
M
B
S
auf die Zyklusgrenzen. Daraus ergibt sich, da¼
auf die Prozessoren nicht beliebig erfolgen kann.
Im folgenden werden die zur Partitionierung des Hardware-Modells notwendigen De¯nitionen aufgestellt:
I (x)
: Der fan-in{Cone
De¯nition 3.2
co
eines Elementes
x
2
M
O
[
E
M
[
M
L
ist
L
ist
rekursiv durch folgende Bedingungen de¯niert:
1.
x
2.
y
2 I 2 E ^ NG M N G M (x);
co
+ (
M
)
(
+ (
)
(y))
\
6 ;! 2
I (x) =
co
y
I (x):
co
Analog dazu erfolgt die De¯nition eines fan-out{Cones
: Der fan-out{Cone
De¯nition 3.3
O (x)
co
O (x):
co
eines Elementes
x
2 I[ E[ M
M
M
durch folgende Bedingungen de¯niert:
1.
x
2.
y
2 O 2 E ^ NG¡ M NG¡ M (x);
co
M
(
)
(
(
)
(y))
\
6 ;! 2
O (x) =
co
y
Auf dieser Grundlage kÄ onnen Cones (fan-in{Cones)
O (x):
co
co(x)
im engeren Sinne de¯niert
werden, die im folgenden die Grundbausteine fÄ ur eine Aufteilung des Hardware-Modells bilden [SUM87, MTSDA93, Man92]:
: Ein Cone
De¯nition 3.4
Ein Cone Boxen aus
co(x)
co(x)
ist ein fan-in{Cone
fa¼t somit neben dem Kopfelement
I (x)
mit
2
O
co
x
M
x
[
2
O
M
L
[
L
M :
selbst alle die
M
ur die Auswertung des Kopfelementes relevante BeitrÄ age E zusammen, die fÄ
M
in Form logischer Werte liefern. Ausgehend von der De¯nition des Cones beinhaltet die Schnittmenge, gebildet aus
co(x)
und der Vereinigungsmenge
M
O
[
L
M
der globalen
AusgÄ ange und der speichernden Elemente, genau das Kopfelement des Cones: (MO
[
L) =
M
fg x
co(x)
\
.
FÄ ur ein gegebenes Modell M kann man eindeutig die Menge aller zugehÄ origen Cones co(x)
bilden: 12
Abbildung 6: Hardware-Modell mit Cones (schattiert)
De¯nition 3.5 C o(M )
=
:
Die zum Modell
gehÄorige
M
fcj9x(x 2 MO [ ML ^ c = co(x)g
Cone-Menge
ist de¯niert durch
Die Elemente der Cone-Menge bilden die vollstÄ andige Menge der Grundbausteine von uns betrachteter Zerlegungen des Hardware-Modells. Die Anzahl der zu gehÄ origen Cones
c
der Cone-Menge
C o(M )
betrÄ agt:
jC o(M )j = jML j + jMO j = mc :
(3.1)
FÄ ur relevante Modelle liegt das VerhÄ altnis der Anzahl der Cones Boxen
m
E
I;
O;
M
m
c
zu der Anzahl der
ungefÄ ahr bei 1 : 10.
In Abb. 6 ist ein einfaches Hardware-Modell M
M
E und
M
L
M
M
mit seinen Komponenten
dargestellt, deren Elemente mit Signalen untereinander
verbunden sind. Weiterhin sind durch starke Linien die schattierten Bereiche eingegrenzt worden, die ausgehend von den 3 mÄ oglichen Kopfelementen alle Elemente der entsprechenden Cones
c1 ; c2 ; c3
u Ä berdecken. Verschiedene Cones
i
c
kÄ onnen sich
u Ä berlappen (vgl. Abb. 6 { stÄ arker schattierte Bereiche), d.h. es gibt Boxen, die zu 2
\ cl 6= ;; j = 6 l;
Xm j ij ¸ ¯¯¯¯ m[ i¯¯¯¯ ¯i ¯ i
oder mehreren Cones gehÄ oren { c
j
c
c
c
=1
c
=1
=
jML j + jMO j + jME j 13
(3.2)
(Abb. 6 { 4 Boxen sind in 2 Cones und eine Box ist in allen 3 Cones enthalten). Aufgrund der sich verzweigenden Signale bestimmen die logischen Ausgangswerte dieser von mehreren Cones erfa¼ten Boxen die Eingangswerte mehrerer Kopfelemente der Cones
i
c
gleichzeitig. Verteilt man nun die entsprechenden Cones auf verschiedene
parallele Prozessoren, mÄ ussen diese Boxen zwei- oder mehrfach ausgewertet werden. Mit der Aufteilung des Modells auf der Basis der Cones, die die Kommunikation im Rahmen des betrachteten clock-cycle {Algorithmus zwischen den Prozessoren vereinfacht
und
an
die Zyklusgrenzen
verbannt,
ergibt
sich
der
Nachteil der
Mehrfachauswertung von Boxen. Um die Aufteilung des Hardware-Modells und die daraus resultierende Mehrfachauswertung von Boxen bewerten und letztere nachfolgend minimieren zu kÄ onnen, ist die De¯nition folgender GrÄ o¼en hilfreich:
De¯nition 3.6
Ä : boxbezogener Cone-Uberlappungsgrad
Jeder Box aus
E der logischen Elemente wird durch die Abbildung
M
@
Zahl zugeordnet (
:::
u
E
:
M
u
!@
:
eine natÄ urliche
Menge der natÄ urlichen Zahlen), die angibt, von wievielen Cones
diese Box erfa¼t wird. Zur weiteren Beschreibung vereinbaren wir:
De¯nition 3.7
bezeichnet, d.h.
: Mit
C f =
C
sei eine beliebig gewÄ ahlte nichtleere Teilmenge von
c1 ; : : : ; c
l
gµ
C o(M );
1
· · l
C o (M )
c.
m
Weiterhin ist es sinnvoll, Boxen zusammenzufassen, die zu genau den gleichen Cones gehÄ oren:
De¯nition 3.8
: Sei
C
Ä wie in Def. 3.7 de¯niert. Das Uberlappungsgebiet
ist die Menge derjenigen Boxen, die genau von denjenigen Cones in
C
C \ n [
enthalten sind: ovr (
)=
c2C
c
c2Co(M )nC
ovr (
C
)
i erfa¼t werden, die
c
(3.3)
c :
Aus diesen De¯nitionen leiten sich folgende Eigenschaften ab:
1. Die
Menge
der
Boxen
Ä Uberlappungsgebiete
M
C
ovr (
E
M
L
[
M
O
) aufteilbar. Sei P
die Potenzmenge von
[
C o (M )
¤=
P
(C o (M ))
ist
eindeutig
n f;g
ohne die leere Menge, so gilt: 14
und
disjunkt
in
(3.4)
(a)
E [ ML [ MO
M
=
[
C2P ¤
Xj
(b)
jME j + jML j + jMO j =
C2P
Ä Bem.: Ein Gro¼teil der Uberlappungsgebiete
C µ C o(M )
2. Ist
C
fcg,
so
entartet
Menge der Boxen, die genau zum Cone 3. Die Anzahl der Elemente von
c
¤
C )j
ovr (
(3.5)
(3.6)
:
C ) fÄur beliebige zugelassene jovr(C )j = 0 fÄur C = fc1 ; c3g).
ovr (
sind i.a. leere Mengen (vgl. Abb. 6:
nur eine Einermenge
C)
ovr (
Ä das Uberlappungsgebiet
C)
ovr (
gehÄ oren.
C: C = jCj
(3.7)
u
bringt den
zur
Ä Ä Uberlappungsgrad des Uberlappungsgebietes
C)
ovr (
zum Ausdruck,
C)
Ä d.h. von wievielen Cones die Boxen des Uberlappungsgebietes
ovr (
erfa¼t
Ä werden (man beachte den Unterschied zum boxbezogenen Uberlappungsgrad u
aus De¯nition 3.6 - dort wird jeder einzelnen Box aus
M
E
dieser Wert
u
zugeordnet). 4. Die Menge der Boxen eines Cones
c
Ä ist aus allen Uberlappungsgebieten
eindeutig zusammensetzbar, deren Mengen von Cones
[
(a) c
=
C2P ¤ ^c2C )
(
(b)
jcj =
X
C2P ¤ ^c2C )
C
den Cone
c
C)
enthalten:
C) ;
ovr (
jovr(C )j
ovr (
(3.8)
(3.9)
:
(
Auf
der
Basis
der
Ä Uberlappungsstruktur
der
Cones
ist
es
mÄ oglich,
einen
Hypergraphen zu konstruieren, dessen Knoten mit den Cones (bzw. alternativ dazu: Ä mit den Uberlappungsgebieten des Grades 1) und dessen Hyperkanten mit den Ä Ä Cone-Mengen identi¯ziert werden, deren Uberlappungsgebiete einen Uberlappungsgrad Ä grÄ o¼er als 1 haben. Uberlappungsgebiete, die keine Box enthalten, liefern keine Ä Hyperkante. Diese Uberlegungen spiegeln sich in der folgenden De¯nition wider (vgl. auch [Len90]): 15
Ä : Der Uberlappungs-Hypergraph
De¯nition 3.9
end lichen Menge von Knoten P
aus (3.4), wobei
¤
jCj j Cj
1.
>
2.
ovr (
C2
E
=
V
C o(M )
GU
= (V ; E ) besteht aus der
und einer Menge von Hyperkanten
µ
E
genau dann gilt, wenn
P
¤
,
1 und )
0.
>
Sowohl die Knoten als auch die Hyperkanten werden mit Hilfe einer Abbildung º
:
V
!@ 2
Knotens =
ºi
ci
und
¹
:
E
!@
bewertet. Dabei erfolgt die Knotenbewertung
mit der Anzahl der Boxen, die von genau dem Cone
V
j f gj j Cj
º (ci )
=
ovr ( ci
) und die Bewertung einer Hyperkante
der Boxen, die von genau den Cones
C
¹( j )
=
ovr ( j )
ci
erfa¼t werden, die in
C2 C j
j
ci
º
eines
erfa¼t werden:
mit der Anzahl
E
enthalten sind:
¹j
=
.
Neben dieser De¯nition des bewerteten ungerichteten Hypergraphen
sind
GU
andere Varianten denkbar, z.B.:
1. 2.
´ Manjikian GU
0
GU
mit einer anderen Knotenbewertung
0
ºi
=
fÄ uhrte einen gerichteten Hypergraphen
und Kanten wiederum denen von
GU
º
0
(ci ) =
GU
00
jj ci
und
0
¹
=
¹,
ein, dessen Knoten
entsprechen [Man92]. Eine beliebige
Hyperkante wird dann in Richtung genau eines Knotens nach innen inzident. Die Kantenbewertung
00
¹
erfolgt unverÄ andert, die Knotenbewertung
in Anlehnung an die Knotenbewertung
º.
º
00
erfolgt
Die Knotenbewertung wird durch
die Anzahl der Boxen ergÄ anzt, welche der Bewertung aller der Hyperkanten entspricht, die mit diesem betrachteten Knoten nach innen inzident sind.
Ä In Abb. 7 ist ein Beispiel fÄ ur einen Uberlappungs-Hypergraphen
GU
dargestellt,
wie er sich aus der Abb. 6 ableiten lÄ a¼t.
3.3
Wir
Partitionierung auf Grundlage des Cone{Begri®s
wollen
zunÄ achst
zur
Begri®sklÄ arung
eine
allgemeine
Formulierung
Partitionierungsbegri®s einfÄ uhren. Dazu betrachten wir zwei nichtleere Mengen V
. 16
U
des und
Ä Abbildung 7: Darstellung des Uberlappungs-Hypergraphen
GU zu Abb. 6
U bezÄuglich V ist Abbildung © : U ! V , die jedem u 2 U genau ein v 2 V zuordnet. De¯nition 3.10 :
Eine Partitionierung von
eine eindeutige
Anschaulich verkÄ orpert ein als Funktionswert der Abbildung © auftretendes
v2V
ein Objekt, welches als ReprÄ asentant einer Partitionskomponente aufgefa¼t werden kann, die gerade die Elemente
u 2 U zusammenfa¼t, welche vermÄoge © auf v abgebildet
werden. Damit de¯nieren wir den Begri® der Partition wie folgt:
De¯nition 3.11 :
V
Eine Partition ª© von
ist gegeben durch: ª© =
Domain) von © ist.
Remark 3.12
f
U
bezÄ uglich der Partitionierung © :
v j v 2 cod ©g , wobei cod © der Wertebereich (Co-
©¡1 ( )
Falls die Partionierung © :
U !V
nicht surjektiv ist, existieren
, die keine Partitionskomponente reprÄ asentieren.
Remark 3.13
Die Partition ª© ist eine Zerlegung von
Im vorgegebenen Rahmen wird und
V
U
Prozessormenge sei als Blockmenge
B
U
mb
v2V
im mathematischen Sinn.
zunÄ achst durch die Menge der Cones
durch die Menge der zur VerfÄ ugung stehenden
Co (M )
Prozessoren gebildet4. Die
bezeichnet, mit den BlÄ ocken (Prozessoren)
Elementen. 4 SpÄ ater
U!
werden auch andere Strukturen betrachtet.
17
bi als
Um Laufzeiten fÄ ur die parallele Simulation abschÄ atzen zu kÄ onnen, ist es erforderlich, die
Last
W
i
i;
fÄ ur jeden Prozessor
b
= 1; : : : ; mb zu berechnen. FÄ ur jede Box wird
i
die zur Auswertung ihrer Funktion erforderliche Zeit zunÄ achst mit der Einheitszeit 1 angesetzt5 . Damit ergibt sich die Last
i.
Boxen im Block
i
aus der Bestimmung der Anzahl der
W
Die Partition ª© als eindeutige Zerlegung von
b
C o (M )
liefert
Ä diese Aussage im Zusammenhang mit der Kenntnis der Uberlappungsgebiete (bzw.
C
Ä des Uberlappungs-Hypergraphen)
n
ovr (
o
) des Hardware-Modells
M.
Die Bestimmung
P
Wi eines beliebigen Blockes bi erfolgt aus der Zuordnung der Cones zu diesem mb m ; wobei jedem ci eineindeutig ein ¡ Block: © 1 (bi ) = ci1 ; ci2 ; : : : ; cimi mit mc = j i=1 i
der Last
c
2
C o(M )
zugeordnet ist:
W
¯¯ [ ¯ i = ¯¯ ¯ C2P ^C\ ¡ ¤
(
ovr
b 6 ;
© 1 ( i )= )
¯¯ ¯ (C )¯¯ = ¯
X C2P ¤ ^C\©¡1 (bi )6=;)
(
j Cj ovr (
)
(3.10)
Folgende GrenzfÄ alle sind in dieser Formel enthalten: 1.
m
b
= 1 (sequentielle Simulation { vgl. Gl. 3.6):
seq
=
W
b
2.
=
m
Pj C2P ¤
C j j E j j Lj j Oj
ovr (
c
m
) =
+
M
+
M
M
(Grenzfall der parallelen Simulation, wobei jedem Block genau ein Cone
zugeordnet wird { vgl. Gl. 3.9):
W
i
=
P
C2P ¤ ^ci 2C )
(
j C j j ij ovr (
) =
c
.
FÄ uhrt man ausgehend vom Beispiel der Abb. 6 eine Partitionierung derart durch,
da¼ man die 3 vorhandenen Cones auf 2 BlÄ ocke aufteilt, z.B. ©¡1 (b1) =
f g j f gj j f gj j f
©¡1 (b2) = W1
=
W2
=
c3
f
c1 ; c2
g
und
ergibt sich folgendes fÄ ur die Blocklasten:
;
ovr ( c1
) +
ovr ( c2
) +
ovr ( c1 ; c2
gj j f ) +
ovr ( c2 ; c3
gj j f ) +
ovr ( c1 ; c2 ; c3
gj
) =
11;
j f gj j f ovr ( c3
) +
ovr ( c2 ; c3
gj j f ) +
ovr ( c1 ; c2 ; c3
gj
) =7
und W
seq
)
=
5 Eine
=
W1
j E j j Lj j Oj M
+
+ W2
M
> W
+
M
= 15
seq .
Verallgemeinerung
bezÄ uglich
spezieller
Auswertungszeiten ist mÄ oglich.
18
logischer
Funktionen
auf
unterschiedliche
4
Modellpartitionierung
4.1
Ziel der Partitionierung
Ziel der Partitionierung eines Prozessormodells ist es, im Vergleich zur sequentiellen Simulation mit Hilfe der parallelen Simulation eine mÄ oglichst signi¯kante Reduzierung der Simulationszeit zu erreichen. Im folgenden beziehen wir uns jeweils auf die Zeit, die
zur Simulation eines Zyklus im Rahmen des clock-cycle {Algorithmus (vgl. Abschnitt 2.1) benÄ otigt wird. Quantitativ erfa¼t wird dieses Ziel durch den speed-up {Faktor
seq par (mb )
b) = T
S (m
T
und durch die E±zienz
b) =
E (m
(4.1)
b) :
S (m
b
m
(4.2)
seq identi¯zieren wir im Rahmen unseres Modells mit der sequentiellen Rechenlast Wseq (Wseq { s. erste Folgerung von Gleichung (3.10)) . Die parallele Simulationszeit Tpar (mb ) wird im weiteren noch genauer spezi¯ziert. Die sequentielle Simulationszeit
Das
Partitionierungsziel
T
wird
im
wesentlichen
durch
die
beiden
Faktoren
Kommunikations- bzw. Synchronisationsoverhead und Verteilung der Rechenlasten
bestimmt.
Davon
ausgehend
kann
man
die
parallele
aus den beiden additiven Bestandteilen der parallelen Rechenlast
i·mb fWi g (s.
max1·
par (mb ) Wpar (mb ) =
Simulationszeit
T
Gl. (3.10)) sowie der Kommunikations- und Synchronisationszeit
sync zusammensetzen.
t
Eine obere Schranke fÄ ur den speed-up {Faktor erreicht man unter BerÄ ucksichtigung dieser Faktoren bei einer gleichmÄ a¼ig verteilten Rechenlast { und einem minimalen Kommunikationsoverhead { tmin :
sync
b) =
Smax (m
Praktisch
sind
sowohl
Kommunikationsoverhead
b t sync 1 + W mb seq m
min
W
min = W = W =m { i seq b par
(4.3)
:
parallele
sync
Funktionen der Anzahl der Prozessoren
t
19
Rechenlast
par (mb )
die
W
als
auch
b,
m
der was
dazu fÄ uhrt, da¼ der speed-up {Faktor mit wachsender Prozessoranzahl eine SÄ attigung erreichen und sogar wieder absinken kann [Man92]. Auf der Grundlage des clock{cycle |Algorithmus haben wir eine erste Stufe der Partitionierung durch Zusammenfassung von Boxen in Cones vorgenommen (vgl. Abschnitt 3.2). Die zwischen den Prozessoren notwendige Kommunikation wird durch die BeschrÄ ankung derselben auf die Zyklusgrenzen reduziert. Ausgehend von einer e®ektiven Realisierung der Interprozessorkommunikation und dem extrem hohen VerhÄ altnis der Anzahl von Boxen zur Anzahl von Prozessoren geben wir zunÄ achst
par(mb) die PrioritÄat. Allerdings zieht die
der Minimierung der parallelen Rechenlast
W
Verwendung der Cone-Menge C o(M ) als Ausgangsbasis fÄ ur die folgende Partitionierung in die Blockmenge
B das zusÄatzliche Problem der Mehrfachauswertung von Boxen nach
Xm
sich, welche zu einer ErhÄ ohung der mittleren parallelen Rechenlast W
par
=
1
b
b i=1
m
gegenÄ uber der minimalen parallelen Rechenlast
i
(4.4)
W
W
min = W =m fÄ seq b uhrt. par
Ausgehend von den diesen Betrachtungen liegen damit 2 Hauptkriterien mit ihrer jeweiligen Zielrichtung vor, die zu beein°ussen sind und der Optimierung der Partitionen dienen:
1. gleichmÄ a¼ige Lastverteilung, 2. minimale Mehrfachauswertung.
4.2
Zielfunktion zur Bewertung von Partitionen
Ausgehend
von
den
beiden
aus
dem
Partitionierungsziel
abgeleiteten
OptimalitÄ atskriterien gilt es nun, Zielfunktionen6 abzuleiten, die der Bewertung von Partitionen im Rahmen der Optimierung dienen.
Manjikian
, der ebenfalls eine Partitionierung auf der Grundlage von Cones
vorgenommen hat [Man92], verwendet zur Bewertung der Partitionen folgende Zielfunktion :
Man =
Xm ¯¯¯¯ b
i=1
seq Wi ¡ mb W
¯¯¯ ¯
:
6Ä aquivalente Bezeichnungen sind GÄ ute- und Optimierungsfunktion
20
(4.5)
Im
Idealfall,
d.h.
bei
gleichmÄ a¼iger
Lastverteilung
und
verschwindender
Mehrfachauswertung, nimmt die Zielfunktion den Wert 0 an. Dem Vorteil der Kompaktheit dieser Zielfunktion steht der Nachteil gegenÄ uber, da¼ die beiden Optimierungskriterien in fest gefÄ ugter Art und Weise in diese Funktion eingehen und nicht auf verschiedene Hardware-Modelle und unterschiedliche Partitionierungsalgorithmen individuell in ihrem gegenseitigen VerhÄ altnis angepa¼t werden kÄ onnen. Dieser Nachteil wird durch folgende neue parametrisierte Zielfunktion beseitigt:
® = ®1
mit
®1
+ ®2 = 1 und
®
µ W
par ¡
¶ seq
W
b
m
v ³ u u m X u i¡ t 2 b
+®
W
i=1
W
b
par
´2 (4.6)
m
= (®1; ®2 ).
Der erste Summand verschwindet genau dann, wenn keine Mehrfachauswertung von Boxen erforderlich ist, d.h. wenn die mittlere parallele Rechenlast mit dem
b -ten
m
Teil der sequentiellen Rechenlast u Ä bereinstimmt. Dagegen geht der zweite Summand gegen Null, wenn die Streuung der parallelen Lasten
i
verschwindet, d.h. wenn
W
die parallelen Lasten gleichmÄ a¼ig auf die Prozessoren verteilt werden. Im Idealfall gleichmÄ a¼iger Lastverteilung und ausbleibender Mehrfachauswertung verschwindet die Zielfunktion. Die Wahl des VerhÄ altnisses der Parameter
®1
und
®2
erlaubt
eine di®erenzierte Wichtung der beiden OptimalitÄ atskriterien. So wird bei einem Partitionierungsalgorithmus, der a priori eine gleichmÄ a¼ige Lastverteilung gegenÄ uber der Mehrfachauswertung bevorzugt, das VerhÄ altnis
À
®1 =® 2
1 gewÄ ahlt, so da¼ bei
Pn
P i=1 ®i i mit ni=1 ®i = 1 Kriterien i aufzunehmen und
der Zielfunktion die Minimierung der Mehrfachauswertung im Vordergrund steht. Der modulare Aufbau der Zielfunktion in der Form und
®
n
®
= (®1 ; : : : ; ® ), erlaubt es au¼erdem, weitere
=
zu wichten. Eine weitere MÄ oglichkeit zur Wahl der Zielfunktion besteht darin, den Nenner des speed-up {Faktors, die parallele Rechenlast
par (mb ), zu minimieren:
W
Wmax = 1·max i·mb Wi .
(4.7)
Diese Zielfunktion geht im Idealfall gegen den Wert auch bei der Zielfunktion von
Manjikian
seq =mb .
W
Hier ist man, wie
(s. Gl. (4.5)), nicht in der Lage, die beiden
OptimalitÄ atskriterien getrennt zu beein°ussen. So werden z.B. verschiedene Partitionen 21
mit einer identischen Box- und Cone-Menge aber unterschiedlichen Rechenlasten gleich bewertet:
1. Partition:
W1
= 700;
W2
= 500;
W3
= 500 ;
W4
= 400
2. Partition:
W1
= 700;
W2
= 700;
W3
= 700 ;
W4
= 500
3. Partition:
W1
= 700;
W2
= 500;
W3
= 300 ;
W4
= 100 .
O®ensichtlich
ist
die
3.
Partition
diejenige
mit
der
kleinsten
mittleren
parallelen Rechenlast und damit auch die mit der geringsten Mehrfachauswertung. Gleichzeitig zeigt diese Partition aber auch die stÄ arkste Streuung und damit die ungleichmÄ a¼igste Lastverteilung. Bei dieser Partition kann man ho®en, durch Umverteilung (Verschiebung) von Cones der BlÄ ocke b4
b1
und
b2
auf die BlÄ ocke
b3
und
eine Verbesserung zu erreichen, die aber u.U. eine erhÄ ohte Mehrfachauswertung
bedeuten kann. Dagegen verfÄ ugt die 2. Partition u Äber die gleichmÄ a¼igste Lastverteilung, wobei aber ein hoher Anteil von Boxen mehrfach ausgewertet werden mu¼. Hier kann man erwarten, da¼ durch Austausch von Cones zwischen verschiedenen BlÄ ocken eine Reduktion der Mehrfachauswertung auftritt. Allerdings kÄ onnen die beteiligten Cones unterschiedlich viele Boxen besitzen, womit eventuell die gleichmÄ a¼ige Lastverteilung wieder verloren geht. Die erste Partition liegt in der Beurteilung zwischen der zweiten und der dritten. Die Bewertung gemÄ a¼ der dritten Zielfunktion macht aber zwischen diesen Partitionen keinen Unterschied. Hat man das globale Minimum der Zielfunktion erreicht, spielt das keine Rolle. Man mu¼ sich fÄ ur eine von diesen drei Partitionen entscheiden, die alle 3 eine gleiche parallele Rechenlast haben und bei gleichem Kommunikationsoverhead
tsync
identische speed-up {Werte liefern.
Im Optimierungsproze¼ selbst kÄ onnen diese Unterschiede in den Partitionen aber entscheidend fÄ ur die weitere Gestaltung der Optimierung sein, wie oben anhand des Beispiels erlÄ autert wurde.
4.3
Bisherige Partitionierungsalgorithmen
Partitionierungsalgorithmen haben bestimmten
Kriterien
(s.
das
Abschnitte
Ziel, Partitionen 4.1
und
4.2)
zu erstellen, die nach
optimiert
sind.
FÄ ur
die
Modellpartitionierung im Vorfeld der parallelen Logiksimulation gibt es eine Reihe von Algorithmen, die sich mehr oder weniger fÄ ur unsere konkrete Problemstellung (sehr komplexe Modelle mit einer gro¼en Anzahl von Boxen; Cones als Grundbausteine { 22
Ä Uberlappung der Cones) eignen. Im folgenden werden einige Algorithmen mit ihren Grundideen vorgestellt und auf ihre Anwendbarkeit fÄ ur unsere Modelle untersucht. Ä In [Spo95] erhÄ alt man einen Uberblick zu Partitionierungsalgorithmen bezÄ uglich der parallelen Logiksimulation. Einfache Partitionierungsverfahren gehen so vor, da¼ man einmalig eine Partition
erzeugt und diese im Gegensatz zu den iterativen Algorithmen dann nicht mehr verÄ andert wird. Das kann gemÄ a¼ einer zufÄ alligen und gleichmÄ a¼igen Verteilung der Elemente auf die Modellteile geschehen, die Elemente kÄ onnen aber auch z.B. gemÄ a¼ existierender innerer VerknÄ upfungen ausgewÄ ahlt werden. Diese Verfahren liefern i.a. initiale Partitionen, die mit Hilfe iterativer Algorithmen weiterverarbeitet werden kÄ onnen. Mit diesen einfachen Verfahren kann man insbesondere gro¼e Modelle schnell vorverarbeiten. Auch fÄ ur Cones als Grundbausteine der Partition eignen sich diese initialen Partitionierungen ([MTSDA93]).
Mueller Thuns {
bildet auf der Grundlage
von Cone-Ketten Partitionen, deren Cones u Ä ber die speichernden Elemente aus
ML
miteinander verknÄ upft sind. Damit zielt er auf einen mÄ oglichst geringen Umfang von Interprozessorkommunikationsbeziehungen. Die Cone-Menge
Co(M )
wird dabei
gleichmÄ a¼ig auf die Partitionskomponenten aufgeteilt, was nicht unbedingt zum Lastausgleich fÄ uhren mu¼ (die Cones
c 2 Co(M ) kÄonnen extrem unterschiedlich viele
Elemente haben) und auch keinerlei Ein°u¼ auf die Mehrfachauswertung nimmt. Die einfachen Partitionierungsverfahren lassen sich auch in die sog. bottomup
{ Vorgehensweise einpassen. Hier werden u Ä ber 2 oder mehrere Stufen die
Elemente zu grÄ o¼eren Einheiten bis hin zu den gewÄ unschten Modellpartitionen zusammengefa¼t
(Clusterverfahren ).
Die
in
den
jeweiligen
Stufen
verwendeten
Partitionierungsalgorithmen kÄ onnen sehr verschieden sein { z.B. einfache Verfahren mit zufÄ alliger Verteilung der Elemente oder Verfahren mit einer Verteilung der Elemente entsprechend innerer Signalpfade bzw. gemÄ a¼ dicht vernetzter Schaltungsteile. Aber auch komplexere Algorithmen, die sich meist iterativ einer suboptimalen Verteilung der Bausteine in der jeweiligen Stufe nÄ ahern, ¯nden Verwendung. Entsprechend di®erenzierte Zwischenobjekte werden im Verlauf des Clusterverfahrens gebildet (Cones [SUM87, Man92, MTSDA93], Cluster [Hil81], Petals [SB93]). Diese bottom-up { Strategie kommt unseren Hardware-Modellen weitgehend entgegen. Aufgrund der GrÄ o¼e der Modelle mit ca. 106
¡ 107
Elementen ist eine Partitionierung u Ä ber 5
¡6
GrÄ o¼enordnung in einer Stufe fÄ ur viele Algorithmen praktisch nicht durchfÄ uhrbar. Eine wichtige Gruppe von Algorithmen sind die iterativen Verfahren (Iterative Improvement Heuristics ). Sie sind (oft nur heuristische) Optimierungsverfahren und
23
minimieren die Zahl der Verbindunssignale zwischen den Modellteilen (Min-Cut { Verfahren ) oder maximieren die Zahl der innerhalb der Modellteile existierenden Signalpfade. Eine Einbeziehung des Lastausgleiches ist ebenfalls mÄoglich (Ratio-Cut {Verfahren ). Im Rahmen einer bottom-up {Vorgehensweise ¯nden solche Verfahren bevorzugt in der ¯nalen Phase der Partitionierung Verwendung. Diese Algorithmen lassen sich aber auch sowohl bei kleineren Modellen direkt auf der Elementstufe (vgl. gerichteter bipartiter Graph in Abschnitt 3.1) als auch fÄur unsere Modelle auf der Basis der Cones (UÄ berlappungs{Hypergraph in Abschnitt 3.2) anwenden. Im ersten Fall kÄonnen die geschnittenen Kanten des Graphen tatsÄachlich mit geschnittenen Signalpfaden identi¯ziert werden, die zu zusÄatzlicher Kommunikation zwischen den Prozessoren fÄuhren und damit minimiert werden mÄussen. Im zweiten Fall entspricht das Schneiden von Hyperkanten vom UÄ berlappungs{Hypergraphen beim Partitionieren einer zu minimierenden Mehrfachauswertung von Boxen (vgl. Abschnitt 4.1 und 4.2). In der Praxis bewÄahrte iterative Verfahren [Len90] sind die Verfahren nach Kernighan & Lin, die eine Partition durch fortwÄahrenden Austausch zweier Elemente zwischen Partitionskomponenten optimieren [KL70], und nach Fiduccia & Mattheyses, die einzelne Elemente zwischen den Komponenten verschieben [FM82]. Beide Verfahren sind ursprÄunglich Bipartitionierungsverfahren. Sie wurden auch fÄur den Einsatz zur Multipartitionierung (mehr als zwei Modellteile) modi¯ziert [KL70, San89]. Dabei werden Elementbewegungen (Austausch oder Verschiebung) zwischen jeweils zwei oder allen Modellteilen gleichzeitig in Betracht gezogen. Jeder mÄoglichen Elementbewegung wird ein 'Gewinn' zugeordnet, der auf der Zielfunktion basiert. Es werden dann diejenigen Elemente verschoben oder ausgetauscht, die den grÄo¼ten Gewinn oder auch den geringsten Verlust versprechen. Um eine Entscheidung bei gleichem Gewinn herbeizufÄuhren, kÄonnen Gewinne hÄoherer Ordnung eingefÄuhrt werden. Die bewegten Elemente werden dann markiert und festgehalten und der Zyklus wird fortgesetzt bis jedes Element markiert ist. Diese Zyklen werden so oft wiederholt, bis keine Verbesserungen der Optimierungsfunktion mehr zu verzeichnen sind. Die PraktikabilitÄat randomisierter Algorithmen (zur De¯nition s. [Kar90]) wird in [BDBK+90] diskutiert. Der Einsatz stochastischer Verfahren wie z.B. Simulated Annealing und Genetische Algorithmen zur Modellpartitionierung im Kontext der parallelen Logiksimulation wird in [Len90, Spo95] aufgrund sehr hoher Laufzeiten als nicht praktikabel eingeschÄatzt. AÄ hnlich ist die Situation bei den analytischen Verfahren. Aufgrund unserer ModellgrÄo¼e sind diese Verfahren durch ihren hohen Speicherbedarf nicht einsetzbar. 24
4.4
Hierarchische Partitionierung
4.4.1
Beschreibung des hierarchischen Ansatzes
Wie in Abschnitt 1 dargelegt, wird in naher Zukunft die Anzahl der logischen Elemente je Modell in der GrÄ o¼enordnung 106
¡
107 liegen. Das Ziel der Partitionierung ist, diese
Elemente unter den oben beschriebenen OptimalitÄ atskriterien auf verschiedene BlÄ ocke
i
b
2B
(Prozessoren) zu verteilen. Dabei liegt die Anzahl der BlÄ ocke
GrÄ o¼enordnung 101
¡
jBj
=
m
b
in der
102 , d.h. bei der Partitionierung ist eine Barriere von bis zu
106 GrÄ o¼enordnungen zu u Ä berwinden. Unter diesen Bedingungen scheint eine direkte Partionierung schwierig bzw. praktisch undurchfÄ uhrbar. Aus diesem Grund gehen wir
von einem
Hierarchische Datenmengen
LÄ osungsstrategien
bzw.
komplexer
werden
Probleme
Vil95], in
hochdimensionalen
der
Robotik
Bearbeitung
erfolgreich
[RMS92]
DatenrÄ aumen
bei der
[VMB+ 94],
automatischen Farbbildverarbeitung [GS93,
aus.
hierarchischen Partitionierungsmodell
z.B.
gro¼er
bei
der
bei der Satellitenbildverarbeitung
oder
[DEFH93].
angewendet:
extrem
bei der
Diese
Idee
Zeitreihenvorhersage soll
auf
die
hier
in zu
bearbeitende Problemstellung u Ä bertragen werden. Dazu betrachten wir den Partitionierungsansatz aus Def. 3.10 . Wie in Abschnitt 3.3 beschrieben ist, gilt fÄ ur den Cone-Ansatz und den Variablen aus Def. 3.10 und
V
=
B
, d.h. ©:
C o (M )
!B
U
=
C o (M )
(4.8)
:
Dieser direkten Partitionierung stellen wir einen hierarchischen Ansatz gegenÄ uber:
De¯nition 4.1
:
Bei
der
k-stu¯gen hierarchischen Partitionierung
bezÄ uglich V in Anlehnung an Def. 3.10 mit der zusÄ atzlichen Bedingung, da¼ wird die Abbildung
©
durch
©H :
U
!
ersetzt, wobei
±
mit V
1=U
k+1 = V
bzw. V
und
Im allgemeinen stellt ©H
©k¡1
± ± :::
©1
V
j j·j j V
U ,
(4.9)
! j+1 j 1j ¸ j 2j ¸ ¸ j k+1j ©j :
U
mit
V
©H = ©k
von
V
j
V
V
:::
V
(4.10)
.
nur eine Approximation von © dar. Ziel dieses
Hierarchieansatzes ist es, sukzessive die GrÄ o¼enordnungen der Anzahl der Elemente 25
in den
V
j
zu vermindern. Im konkret vorliegenden Problem (4.8) gehen wir zunÄ achst
von einem zwei -stu¯gen Ansatz aus, d.h. als Menge von Super-Cones
j.
s
V
1=U
=
k +1
C o (M ), V
=
V
=
Seien weiter die Abbildungen ©1 als
B
und
V
2=
und ©2 als
f
S
g
bezeichnet. Dann hat der zwei-stu¯ge Ansatz die Form
f ¡! S ¡!g B ± H
C o (M )
© Die Partitionierung von
C o (M )
=
g
;
(4.11)
f :
stellt jedoch nur eine abstrakte Beschreibungsstufe
M
der Partitionierung der den Cones zugrundeliegenden Boxen aus
=
E
M
[ L[ M
O
M
dar (vgl. Abschnitt 3.2). Damit kann man die Zusammenfassung von Boxen in Cones ebenfalls als eine Partitionierungsstufe ©0 ansehen und den zweistu¯gen Ansatz (4.11) erweitern:
© M ¡! 0
©¤H = Bei
diesem
erweiterten
¡!f S ¡!g B ± ± 0
C o (M )
g
hierarchischen
f
©
Hypergraphen
GU
Eigenschaften
(4.12)
:
Ansatz
bleibt
Partitionierungsalgorithmen fÄ ur die Realisierung von entsprechend der
;
f
die
Wahl
und
des bipartiten Graphen
M
g
der
konkreten
o®en, so da¼ sie aus
Def. 3.1, des
aus Def. 3.9 und den Optimierungskriterien aus Abschnitt 4.2
gewÄ ahlt werden kÄ onnen. Dabei kÄ onnen z.B. fÄ ur in der ersten Partitionierungsstufe
f
g
Algorithmen verwendet werden, die
auf Grund der ProblemgrÄ o¼e nicht in Betracht
kommen. Die initiale Partitionierung ©0 ist jedoch auf Grund der Cone-De¯nition 3.4 ¯xiert. Es ist klar, da¼ selbst bei optimaler Wahl von Partitionierungsstufen i.a. die Verkettung von
g
g
und
und f
f
in ihren jeweiligen
keine optimale LÄ osung
liefert, da sie nur lokal in den Ebenen wirken. Die Bewertung solcher suboptimaler Heuristiken ist oft schwierig und problemgebunden [HHK95]. Andererseits stellt dieser Hierarchieansatz eine MÄ oglichkeit dar, sehr gro¼e Modelle unter gewissen OptimalitÄ atskriterien zu partitionieren. In dem hier vorgestellten zweistu¯gen Ansatz, bzw. dessen Erweiterung, sind die vorrangigen Optimierungsziele fÄ ur die jeweiligen Partitionierungsstufen in Abb. 8 zusammengefa¼t.
4.4.2
Kombination von Algorithmen
Der Erfolg von Partitionierungsalgorithmen ist wesentlich von den Eigenschaften der zu partitionierenden Datenmenge abhÄ angig. Insbesondere tri®t das auf so komplizierte 26
Abbildung 8: Hierarchiestufen im erweiterten Zwei-Stufen-Ansatz. Links ist jeweils die Anzahl der zu partitionierenden Objekte in der betrachteten Partitionierungstufe angegeben, rechts das hauptsÄ achliche Optimierungsziel.
Gebilde wie den Hypergraphen unmÄ oglich,
a priori
GU
aus Def. 3.9 zu. Deshalb ist es schwierig oder gar
zu entscheiden, welcher Algorithmus das Problem am besten lÄ ost.
Lengauer kommt in [Len90] zu dem Schlu¼, da¼ oft nur heuristische Methoden zum Ziel fÄ uhren. Damit kommt der Wahl der Algorithmen fÄ ur die Partitionierungsstufen eine entscheidende Bedeutung zu. Wir verfolgen hier einen
parallelen
Ansatz. Verschiedene oder unterschiedlich
parametrisierte Partitionierungsalgorithmen
j
Ai , i
= 1 : : : mj arbeiten gleichzeitig auf
der j -ten Partitionierungsstufe und erzeugen die Partitionen ªAj . Diese werden jeweils i
in der nachfolgenden Partitionierungstufe wieder von verschiedenen Algorithmen l
j
Al
+
,
= 1 : : : mj +1 partitioniert und erzeugen Partitionen ªAj ;Aj+1 . Die Algorithmenmenge i
l
in jeder Hierarchiestufe kann sich dabei durchaus unterscheiden. Im Ergebnis aller k
Hierarchiestufen entstehen Partitionen ªA0
1 1
k i ;Ai ;:::;Aik
0
u Ä ber der Cone-Menge
C o (M ).
Diese kÄ onnen an Hand der OptimalitÄ atskriterien aus den Abschnitten 4.1 und 4.2 bewertet werden. Die in
hier
[JJNH91]
vorgestellte bzw.
in
Idee
des
[KMP95]
Wettbewerbs bei
der
zwischen
Verwendung
Algorithmen autonomer
wurde
lernender
Agenten (Subsysteme) zur Zeitreihenvorhersage dynamischer Systeme betrachtet. In 27
Verbindung mit einem hierarchischen Ansatz wurde diese Strategie in [JJ94] von
Jordan et al. eingefÄuhrt. Wir uÄbertragen diese Idee hier auf den Wettbewerb zwischen Ä Algorithmen zur Uberwindung des Mangels an
a{priori {Wissen.
Wenden wir uns wieder dem zweistu¯gen Ansatz (4.11) zu. In der ersten
S
Hierarchiestufe werden Cones zu Super-Cone{Mengen
i
als Ergebnis des
i-ten
Algorithmus zusammengefa¼t, die wiederum als Ausgangsmengen fÄ ur die zweite Partitionierung
dienen.
Dieser
Ansatz
ist
im
folgenden
Schema
noch
einmal
zusammengefa¼t:
Cones
+
Algorithmus A11
f1
:
+ !S +
C o (M )
§=
1; : : : ;
k
gk;1
:
2
A1
S !B k
k;
g
1)
k;
+
f
fj
fj
k;j
m1
:
k;m2
k
B
B
(C o (M )) =
g
±
f
28
2
S !B
) = mink 0 ;j 0 [ (
©H =
2
Am
Zielfunktion (
+
9 > > > > = > > > > ;
f
m1
g k;m2
(
C o (M )
Algorithmus
1
2f j B 2f j gk;j
:
§
:::
B
Zielfunktion (
fm1
+ !S +
+ fS S g +
S2 + Algorithmus
Algorithmus A1m1
¢¢¢
1
ci
dom
0
g
k ;j
g
0
k;m2
g
)]
)
9 > > > > > > > > > > > > > = > > > > > > > > > > > > > ;
(4.13)
g
4.4.3
Der
Superpositionsprinzip fÄ ur Partitionen
parallele
Algorithmen
Ansatz und
aus
ihrer
Abschnitt
4.4.2
Kombinationen
lÄ a¼t
einen
'Wettbewerb'
(Verkettungen)
zu.
Es
wÄ unschenswert, da¼ direkt die Eigenschaften der Algorithmen in kombiniert
werden.
Hier
soll
ein
Konzept
eingefÄ uhrt
ist
einer
werden,
verschiedener jedoch
weiter
Hierarchiestufe
das
eine
solche
Kombination zulÄ a¼t.
Wir betrachten wieder das zweistu¯ge Partitionierungsproblem (4.11) und hier insbesondere die erste Partitionierungstufe mit den Partitionierungen fi : C o (M )
S
!
i . Es ist plausibel anzunehmen, da¼ sich die den verschiedenen f i zugrundeliegenden
Heuristiken
in
unterschiedlichen
Partitionen
ªi
=
S
¡1 (
fi
i)
widerspiegeln,
j entsprechend der Heuristiken werden verschiedene Cones in Super-Cones si
d.h.
mit j =
1 : : : ni zusammengefa¼t. Die Eigenschaften der Algorithmen u Ä bertragen sich also auf j
Superpositionsprinzip fÄ ur Partitionen
die Super{Cones si . Wir fÄ uhren nun das
ein,
welches gestattet, verschiedene Partitionen zu kombinieren und so die entsprechenden Heuristiken der zugrunde liegenden Algorithmen zu verschmelzen.
Sei
De¯nition 4.2 :
Grundmenge
¤ ª ,
U.
¦
=
f
ª1 ; : : : ; ªk
Die Elemente der
ªi
g
seien mit
hei¼t Superposition der Partitionen
;2
2
¤ ª
so, da¼
3. Partitionsbedingung:
Wir
zeigen
ª1 ; : : : ; ªk
g
, wenn sie den folgenden
¤
2 [ [ j
¤
j si = sl 1
¤
ª
si
:::
ªi
¤ sl m
(i
= 1 : : : k , j = 1 : : : ni )
ist eine Partition von
ª
f nf g
existieren
U
g
¤ = s¤ ; : : : ; s¤ ein Erzeugendensystem. Sei s¤ 1 n i ¡ ¤ ¤ ¡ ª = ª s . Dann ist ª nicht mehr erzeugend.
4. MinimalitÄ at: Sei gewÄ ahlt und
f
bezeichnet. Eine Menge
= ª
2. Erzeugendensystem: fÄ ur jedes
¤ ¤ sl ; : : : ; sl n 1
j
si , j = 1 : : : ni ,
¦ =
Bedingungen genÄ ugt:
1. Nullmengenausschlu¼:
ein System von Partitionen u Äber der
2
¤ beliebig
ª
i
im
folgenden
fÄ ur
eine
aus
einem
System
von
Partitionen
direkt
konstruierbare Menge die Superpositionseigenschaft:
Theorem 4.3 :
Grundmenge
U.
Sei
¦
=
f
ª1 ; : : : ; ªk
Die Elemente der
ªi
g
ein System von Partitionen Ä uber der
seien mit 29
j
si , j = 1 : : : ni ,
bezeichnet. Sei jetzt
ª¤
als
¤
ª = gegeben. Dann gilt:
½
j s¤1
¤
sj
ª¤
1 :::jk
=
j :::jk
i
\ =1
ji
:::k
und j i
si
= 1 : : : ni
¾
n f;g
(4.14)
ist eine Superposition im Sinne der De¯nition 4.2.
Zum Beweis des Theorems 4.3 stellen wir zunÄ achst das folgende Lemma auf:
2 ª¤
¤
Lemma 4.4 : FÄ ur si
ª¤
von
¤
und sj
2 ª¤
mit i
6= j
¤
gilt: si
\ s¤ = ;, d.h. die Elemente i
sind paarweise disjunkt.
Beweis des Lemmas:
2 ª¤ und s¤1 2 ª¤ gegeben mit (i1; : : : ; i ) 6= (j1 ; : : : ; j ). Dann existiert ein l so, da¼ i = 6 j . Weiter ist s¤1 = s11 \ : : : \ s \ : : : \ s und s¤1 = 1 ur den Durchschnitt s¤1 \ s¤1 ergibt sich damit s1 \ : : : \ s \ : : : \ s . FÄ Es seien
¤
si
1 :::ik
k
j :::jk
i
l
j
¤
si
l
jl
jk
l
k
1 :::ik
i :::ik
i :::ik
\ s¤1
i1
=
j :::jk
s1
s1
von
U
ist, haben wir
sl
\s
jl
=
l
l
k
j :::j k
j :::jk
il
ik
l
k
j
jl
jk
l
k
\ s11 \ : : : \ s \ s \ : : : \ s \ s j
Weiter gilt nach De¯nition von ª¤ : il
ik
\ : : : \ s \ : : : \ s \ s11 \ : : : \ s \ : : : \ s i1
=
k
il
il
sl
2ª
il
jl
jk
jk
l
l
k
k
und
l
jl
sl
2 ª . Da l
:
aber ªl eine Partition
;. Damit ist das Lemma 4.4 bewiesen. 2
Wir kommen nun zum Beweis des Theorems 4.3. Beweis des Theorems:
(I) Nullmengenausschlu¼: GemÄ a¼ der De¯nition von ª¤ in (4.14) gilt
; 2= ª¤ .
(II) Erzeugendensystem: Sei ein beliebiges Vorschrift: wenn
j
si
\s
j
0
der Bildung der s ~l l Weiter haben wir
0
2ª
8 > < ¤ = > : 0
j
0
6 ; so s~
j
=s ~l und s ~l =
S
6= i gemÄa¼ der 2 S . Dann gilt fÄur alle 9 l : [s~ = s . Wir
gegeben. Wir bilden die Mengen
i
j
l
betrachten die Menge j
j
si
s
¤
0
0 k
j :::j
1
l
j s¤1 0
j :::j
0 k
=
l
0
Sl
mit
l
j
l
\
0 j l
=1:::k i6= l
0
j
> = 2 > nf;g. Auf Grund ; i
l
s ~l
;
0 j l
s ~l
Sl
2 S als Schnittmengen mit s 2 ª ist es klar, da¼ s¤1 2 ª¤ gilt. [ 2 ¤ s¤1 µ s . Es bleibt noch zu zeigen [ 2 ¤ s¤1 ¶ s : j
l
i
0
i
0
¤
s 0 j :::j 0
1
S
j :::j
0 k
i
1
30
j
0
¤
s 0 j :::j 0
k
0 k
j :::j
j
k
S
j :::j
0 k
i
Sei ein Element so, da¼
u
2 s~
j l
¤
l
u
2s
j i
, d.h.
u
¯xiert. Dann existiert in jeder Menge
2 =1\ l
:::k
i
6=
j
s ~l
¤
l
und
l
\ =1
j
:::k
l
i
6=
s ~l
¤
l
2 S ¤.
Sl
j
¤
genau ein Element s ~l l
l
(III) Partitionsbedingung: Nach (II) ist ª¤ ein Erzeugendensystem fÄ ur die si
2 ª . Da die ª selbst Partitionen gibt mit u 2 s¤¤ . Die Disjunktheit
j
sind, gibt es fÄ ur jedes der Elemente von
ª¤
u
2U
ein Element
¤ s ¤ j
2 ª¤
i
i
j
ist in Lemma 4.4 bewiesen.
(IV) MinimalitÄ at: Wir fÄ uhren einen Widerspruchsbeweis: Sei ª¡ = ª¤ behaupten, da¼
i1
s1
auch
in ª¡
i :::ik
i :::ik
2 ª¤ .
Wir
darstellbar ist.
2 ª¡ derart existieren, da¼ =1[ s¤ = s11 . Aus der De¯nition (4.14) folgt, da¼ s¤1 µ sµ11 und insbesondere da¼ s¤1 \ s11 6= ;. ¶ Dann gilt aber s¤1 µ =1[ s¤ bzw. s¤1 \ =1[ s¤ 6= ;. Dann aber existiert ein ¤ ¤ j so, da¼ s \ s¤ ¤ 6= ; . Das ist aber ein Widerspruch zu Lemma 4.4. 1 Wir nehmen an, da¼
¤
n o n s¤1 , s¤1
¤
sl ; : : : ; sl
1
m
mit
¤
sl
i
j
j
:::m
i
i
i :::ik
i :::ik
i :::ik
j
:::m
lj
lj
i :::ik
i :::ik
j
:::m
lj
lj
Damit ist auch das Theorem 4.3 bewiesen.
2
Auf Grund des Theorems 4.3 lÄ a¼t sich damit durch Bildung
k -facher
Durchschnitte
aus den einzelnen Partitionen ª1 ; : : : ; ªk eine Superposition gemÄ a¼ (4.14) erzeugen, die die in den Partitionen verankerten Heuristiken der Partitionierungsalgorithmen in sich vereint. Im parallelen Ansatz aus Abschnitt 4.4.2 kann diese Superposition als zusÄ atzlich erzeugte Partition in einer Hierarchiestufe aufgenommen werden. Im Fall des
31
zweistu¯gen Ansatzes (4.11) erweitert sich damit das Schema (4.13) zu
Cones
ci
+
Algorithmus A11
f1
fm1
:
+ !S +
C o (M )
+1 : C o (M )
¢¢¢
1
!S
m1
2 1
A
;:::;
g
k;
)
f
(
fj
Superposition,
:
2
Am
k;m2
k
B
+
fj
k;j
B
) = mink 0 ;j 0 [ (
(C o (M )) =
+
©H =
2
S !B
Zielfunktion (
2f j B 2f j gk;j
+1 ) {
m1
g
±
9 > > > > > > > = > > > > > > > ;
f
m1
gk;m2
B1
m1
Algorithmus
:::
k;
Zielfunktion (
C o (M )
§
S !B 1 k
+ !S +
+ fS1 S +1 g + m
k
1:
S
¡1 +1 , ª¤ = f 1 +1 (
S2 +
g k;
:
fm1
+
§=
Algorithmus
Algorithmus A1m1
dom
g
k 0 ;j 0
g
k;m2
)
9 > > > > > > > > > > > > > = > > > > > > > > > > > > > ;
(4.15)
g
g
)]
f
Abschlie¼end sei noch die folgende Bemerkung angefÄ ugt:
Remark 4.5 Die triviale Partition der Cone-Menge C o (M ) in Einermengen stellt eine Superposition im Sinne der Def. 4.2 dar. Allerdings wird eine Superposition mit minimaler Elementanzahl, d.h. maximaler GranularitÄ at, angestrebt.
32
4.5
Neu entwickelte Partitionierungsalgorithmen
4.5.1
Der Backward { Cone { Concentration | Algorithmus (n-BCC)
Die im folgenden vorgestellte Heuristik wurde vorrangig in Hinblick auf die erste (von Cones ausgehende und zu Super-Cones fÄ uhrende) Stufe unseres hierarchischen Ansatzes (s. Abschnitt 4.4.1) entwickelt. Die Grundidee des Verfahrens besteht in der iterativen Zuweisung von Cone{Mengen zu BlÄ ocken bei bevorzugter Wahl einander u Ä berlappender Cones.
n
n
Ä geht als Parameter (Referenz{Uberlappungsgrad)
in das Verfahren ein. Im Gegensatz zu dem in Abschnitt 4.5.2 dargestellten MOCC{Algorithmus wird beim
n-BCC{Algorithmus
die Anzahl von Boxen innerhalb
Ä Ä betrachteter Cones bzw. Uberlappungsgebiete nicht explizit berÄ ucksichtigt. Ahnlich dem auf der Fixierung von Cone-Ketten beruhenden Algorithmus von MuellerThuns et al. [MTSDA93] wird eine gleichmÄ a¼ige Verteilung der den BlÄ ocken zugewiesenen Anzahl von Cones angestrebt. Ein wesentlicher Unterschied zum letztgenannten Verfahren besteht in der Wahl des Kriteriums der Zusammenfassung von
Cones.
WÄ ahrend
Mueller-Thuns
et
al.
den
Aspekt
der
Reduzierung
erforderlicher Interprozessorkommunikation in den Vordergrund stellen, zielt
n-
Ä BCC vorrangig auf die Verringerung der Uberlappung der verschiedenen BlÄ ocken zugewiesenen Cones. Ä Neben dem Referenz{Uberlappungsgrad
n
gehen in den
n -BCC{Algorithmus
der
fÄ ur ein betre®endes Modell in einem Preprocessing-Schritt zu ermittelnde boxbezogene Ä Cone-Uberlappungsgrad
u
:
M
!@
E
aus De¯nition 3.6 und die Blockanzahl
b
m
als
Parameter ein. Der n-BCC{Algorithmus zÄ ahlt ebenso wie der MOCC{Algorithmus (s. Abschnitt 4.5.2) zu den einfachen Partitionierungsverfahren (s. Abschnitt 4.3), die durch die
Erstellung
B f =
einer
mb
b1 ; : : : ; b
g
vorgegebenes Modell
einzelnen
initialen
Partition
charakterisiert
j
b
Es
sei
die betrachtete Blockmenge. Resultat des Algorithmus fÄ ur ein M
ist eine Partition ª© von
C o(M )
bezÄ uglich einer (im Verlauf
des Algorithmus schrittweise aufgebauten) Partitionierung © : Block
sind.
wird eine Conemenge
Cj
betrachtet mit
Cj ; =
¡! B · · b
C o(M )
fÄ ur 1
j
m
. Zu jedem zu Beginn
des Algorithmus. Desweiteren wird angenommen, da¼ initial keine der Boxen aus markiert ist.
33
E
M
Backward{Cone{Concentration|Algorithmus (n-BCC)
Algorithm 4.1 :
n¤ 2
1. WÄ ahle ein
u
cod
+
e2u 1 n ¡
2. WÄ ahle eine nicht markierte Box
3.
Bestimme u Ä ber den von
e
Kopfelemente der in
4.
n
¤
Ordne die
e
n
mit minimalem Abstand zu
+
(
¤
)
ausgehenden fan-out Cone die
u Ä berlappenden fan-in Cones aus
+
Co M (
)
Cones einem Block mit minimaler
Cone-Anzahl zu und markiere ihre Boxen
+
5. Existiert eine nicht markierte Box
(
2. 6.
=
ja
n
Existiert ein
u n ¡
+
1(
0
0
2
+
cod
¡
(
¤
) ?
nein
u
, fÄ ur das
) eine nicht markierte Box enthÄ alt ?
+
nein
Stop!
e2u 1 n
7. WÄ ahle ein derartiges
n
0
ja als neues
n
)
¤
=
2.
Die schematische Algorithmendarstellung 4.1 wird im folgenden nÄ aher erlÄ autert:
Ä 1. ZunÄ achst wird geprÄ uft, ob der Referenz{Uberlappungsgrad von
u
vorkommt. Ist das der Fall, wird
n
Andernfalls wird als fÄ ur das
jn ¡ nj 0
2. Aus der Menge
¤
das kleinste
n
0
n
n
als Arbeitswert
im Wertebereich
n
¤
u Ä bernommen.
aus dem Wertebereich von
u
gewÄ ahlt,
minimal wird.
u 1n ¡
¤
(
µ ME
)
wird eine nicht markierte Box
e
bestimmt. Diese
Wahl ist bei jedem Eintritt in Schritt 2 gewÄ ahrleistet. Aufgrund der De¯nition von
u
(s. De¯nition 3.6) ist
3. Mittels beschrÄ anktem Kopfelemente Darstellung
der
dieses
n
¤
e
in genau
n
¤
Cones aus
Depth First Search in
und
e
Cones
nachfolgenden
wiedergegeben.
34
(
werden im
u Ä berlappenden
des
Co M
) enthalten.
fan-out-Cone
¯xiert.
Schrittes
ist
Eine in
coO e
( ) die
schematische Abbildung
9
Abbildung 9: 2{BCC
mb gewÄahlt, fÄur welches jCj¤ j minimal ist. Danach erfolgt eine Aufnahme der Cones in die Menge Cj ¤ , die durch die n¤ in Schritt
4. Es wird ein j ¤ mit 1
·
j¤
·
3 ¯xierten Kopfelemente reprÄ asentiert werden. SÄ amtliche Elemente dieser Cones, die in
ME
Depth First Search
liegen, werden mittels beschrÄ anktem
ausgehend
von den Kopfelementen markiert. 5. Falls noch eine bisher nicht markierte Box aus
u 1(n ) existiert, wird bei Schritt ¡
¤
2 fortgefahren, andernfalls bei Schritt 6. 6. Gibt es ein
n
aus dem Wertebereich von
0
u
derart, da¼
u 1(n ) ¡
0
eine nicht
markierte Box enthÄ alt, wird bei Schritt 7 fortgesetzt. Andernfalls sind sÄ amtliche nicht nur ein Kopfelement enthaltende Cones bereits den Mengen
Cj
zugewiesen.
Falls einelementige Cones existieren, werden diese sukzessive zur Menge
Cj
mit
der jeweils kleinsten Anzahl von Cones zugeordnet und die Abarbeitung des Algorithmus ist beendet.
u 1(n ) eine nicht markierte Box enthÄ alt, wird das grÄ o¼te derartige n als neues n gewÄ ahlt. ur welches die bezÄ uglich u 1 Andernfalls wird das kleinste n mit n > n , fÄ formulierte Bedingung gilt, zum neuen Wert von n . Es wird bei Schritt 2
7. Existiert ein
n