Cone{basierte, hierarchische Modellpartitionierung zur parallelen ...

Aus dem Studium und der Analyse bisheriger Forschung ergab sich, da¼ ..... c2Co M nC c : ... die Potenzmenge von Co(M) ohne die leere Menge, so gilt: 14 ...
2MB Größe 2 Downloads 264 Ansichten
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



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



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



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

·



·

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