Multitop, ein Multiprozessor mit dynamisch variabler Topologie

Werbung
Forschungsprojekte
Multitop, ein Multiprozessor
mit dynamisch variabler
Topologie
Multitop ist ein Multiprozessorsystem, bei dem die lnterprozessor- Kommunikation nicht tiber einen gemeinsamcn Speicher, sondern tiber sehaltbare Punkt-zu-PunktVerbind ungen ablauft. Die Verbindungen konnen
wahrend des Programmablaufs umgeschaltet Werden, so
dal3 ihre Topologie der Topologie des Programms
op timal angepaf3t werden kann. Dies wird durch ein fUr
alle Permutationen blockierungsfreies Koppelnetz erreicht, dessen modularer Aufbau eine beliebige Erweiterung des Systems gcstattet. Am Beispiel der schncllen
Fourier-Transformation und einer Spline-Approximation
\vird gczeigt, dal3 der Wirkungsgrad der Programmausfiihru ng sich gegeniiber festen Verbindungen deutlich erhoht.
Als Prozessoren werdcn Transputer verwendct. Die Programmiersprache ist Occam.
Das Konzept von Multitop
D ie folgcnden drei Probleme erschweren die Anwendung
paralle ler Architekturen im Rechnerbau:
1. Das Problem der parallclen Programmierung. Das
heif3 r, dal3 es bislang keine einfache Methode gibt, einen
parallelen Algorithmus auf einen Parallelrechner abzubildcn. D amil verbunden sind die Fragen nach der optimalen A rchitektur cin es Parallelrechners, nach seinem Kommunikationsmodell sowie der verwendeten Programmiersprache.
2. Das Problem dcr E ffi zienz bei parallelcr Verarbeitung,
di e du rch die stels notwendige Interprozessor-Kommunikati on redu ziert wird. Methode n zur Minimierung der Interprozcssor -K ommunikati on sind deshalb sowohl auf algorithm ischer als au ch auf archit ektonischer Seite notwendig.
Das Kommunikationsmodell
Das Multitop zugrundeliegende Kommunikationsmodell
basiert aus der Sicht des Bcnutzers auf sequentiellen Prozessen, die durch Botschaftenaustausch kommunizieren.
Die Implementierung dieses Modells auf der physikalischcn Ebene erfolgt durch Prozessoren (Transputer), die
i.iber sogenannte Kanale miteinander verbunden sind. Als
Programmiersprache wird Occam verwendet. Die Vorteile dieses Konzepts gegeni.iber der Kommunikation i.iber
einen gemeinsamen Speicher und gemeinsame Variable
sind (Bild 1):
1. Der Fall, da13 mehrere Prozessoren auf dieselbe Variable zugreifen, tritt bei Botschaftenaustausch nicht auf.
Dadurch entfallt das Konsistenzproblem dicser Variablen
bei schreibendem Mehrfachzugriff.
2. Die Zahl der tiber Kanale gckoppelten Prozessoren ist
nicht durch die endliche Bandbreite cines gemeinsamen
Speichers limitiert.
3. Die Zuverlassigkeit der Interprozessor-Kommunikati on
ist wegen der Vielzahl verwendeter Kanale grof3er als bei
einem zentralen Bus.
4. Die Testbarkeit parallelcr Programme wird dadurch
erhoht, dal3 die Zahl der Testpunkte grol3er als bei gemeinsamen Variablen ist, wei! jeder Kana! eine Schnittstelle mit definiertem Protokoll darstellt.
Die Nachteile dieses Kommunikationsmodells liegen in:
1. Gemeinsame Daten und Programme miissen mehrfach
gehalten werden.
Kom munikationskonzept: aus logischer Siehl: Botschaflen
3. Das Problem dcr Skalierba rk cit. Darunler versteht man
di e Mogl ichkeil. di e Rcch cn leistung cin es Systems in
wcit en Grenzen \·ar iiercn zu ko nnen, urn das A ngebot an
Leistung dcm jcweiligen Bed:;rf anpa>scn zu konn en. Die
Architekturmerkmale ::c::e n a2::i un ·.uande rt blc iben.
Das Konzept von
d ieser Problem e.
~f ul:i~0;
Eine Publikation von
!si c!r. \'c:schlag zur Los ung
c...:=-' =:: : :.._
aus physika lischer: Kanale
Vortei le:
o keine Synchronisa tion bei Mehrfachzugrilf
o Zahl der Prozessoren nicht begrenzt
Nachteil e:
o gemeinsame Oaten mehrfach
a Kanale langsamer als Speicher
o erMhte Zuverlassigkeit
o bessere Tes tbarkeit
Bild 1: Kommunikationskonzept
105
Forschungsprojekte
Aufgrund des Preisverfalls bei Speichern ist dieses Gegenargument jedoch relativiert.
2. Der Datenzugriff ist bei gemeinsamem Speicher prinzipiell schneller, da bei einem Kana! die Ubertragungszeit
zwischen den lokalen Speichern hinzukommt. Fi.ir den
Fall cines Zugriffskonflikts auf den gemeinsamen Speicher kehren sich allerdings die Zeitverhaltnisse urn, da
dann cine zeitaufwendige Arbitrierung der Zugriffe erforderlich ist.
SchlieJ3lich ermbglicht dieses Kommunikationsmodell die
neue Eigenschaft eines Multiprozessors - die dynamisch
variable Topologic - zu realisieren.
[I(
Wt
l.
fa
Dl
Shuff le
Butterfly
4
But terf !y
3
Butterfl~
Reversal
Verelnigung smenge
Bild 3: Sequenz von Topologien
2.
wi
di
111
di
dabei das lineare Gleichungssystem ATAp
werden (Bild 4).
=
ATy gelbst
m
Zit
W<
Die dynamisch variable Topologie
Warum ist cine dynamisch variable Topologie sinnvoll?
Zur Klarung dieser Frage soil stellvertretend fiir viele Probleme aus der Numerik die Parallelisierung dcr schnellen
Fourier-Transformation (FFf) und einer Spline-Glattung
dargcstellt werden.
Anhand des Signalflul3graphen der FFf wird ersichtlich
(Bild 2), dal3 dieser Algorithmus in Stufen ablauft. Zwischen den Stufen werden Daten ausgetauscht, wobei die
Art des Austauschs sich von Stufe zu Stufe andert (Bild
3). Einc bestimmte feste Topologie von Prozessorverbindungen kann deshalb fi.ir die verschiedenen Phasen der
FFf nicht optimal bezi.iglich der Interprozessor- Kommunikation sein. Weiterhin ist die Vereinigungsmenge aller
Teil-Topologien zu komplex fi.ir cine reale lmplementierung. Es ist also besser, die Topologien der Verbindungen zwischen den Stufen so zu veriindern, dal3 sie dem
Datenflul3 der FFf entspricht.
Dersclbe Sachverhalt wird beim Algorithmus einer parallelen Spline-Gliittung deutlich: Bei dem von mir entwickelten Verfahren der Spline-Approximation wird mit Hilfe
von sogcnannten Basis-Splines cine Ausgleichskurve
durch cine Folge von Punktcn beziehungsweise Mel3werten gelcgt, wobei gleichzeitig cine Datenrcduktion durch
Glattung stattfindet. Dieses Verfahren wurde auch im
Hinblick auf gute Parallelisierbarkeit entwickelt. Es mul3
0
0
1
1
2
2
3
3
4
4
~
~-r~~~¢-~~~~~~~~~~~~~ ~
7
7
8
Dazu sind mehrere Schritte notwendig, die - jeder fi.ir
sich - cine eigene optimale Topologie von Prozessorverbindungen aufweisen:
1. Die Dateneingabe erfolgt am zweckmiil3igsten von
einem zentralen Punkt aus mit Hilfe einer sternfbrmigen
Topologie zur Verteilung der Daten.
D
2. Das Aufstellen der Matrix A kann dadurch erfolgcn,
dal3 jeder Prozessor eine Submatrix innerhalb einer gitterfbrmigen Topologie erzeugt.
K<
3. Die Transposition von A kann in log N Schritten mit
Hilfe cines Shuffle- Netzwerks realisiert werden.
AI
tit
gi<
Sl~
scl
te
4. Die Multiplikation von AT mit y beziehungsweise mit A
ph
erfolgt in einer Kette beziehungsweise einem Gitter von
Prozessoren am einfachsten.
Hi
5. Das Losen des linearen Gleichungssystems kann mit
Hilfe des Gauss-Jordan- Verfahrens auf einem Gitter
optimal ablaufen.
6. Die Ausgabe dcr Unbekannlen p erfolgt wiederum
i.ibcr den Stern.
In beiden Fallen - FFf und Spline-Gliittung- ist eine dynamisch variable Topologie also sinnvoll. Fi.ir vicle andere
parallele Algorithmen gilt ebenso, dal3 sie phasenweise ablaufen, wobei fi.ir jede Phase ein optimale Topologie existiert. Ein Umkonfiguriercn der Verbindungen zwischen
den Prozessoren zur Laufzeit cines Programms ermoglicht deshalb, die Topologie des Rechners stiindig an die
Topologie des Problems anzupassen. Voraussetzung
dafi.ir ist, da13 die U mschaltung schnell genug erfolgt. Bci
Multitop wird cine zur Obersetzungszeit bekannte Topologie in etwa 10 Mikro-Sekunden eingestellt, so dal3 ein
schncller Topologie-Wechsel mbglich ist. Durch diese
Be
SO l
we
lie:
di e
Sci
All
gc1
8
~0
\=:>......,,...L-~~~~~~1<v~ ~ 0
Y--'-:f-.A:~.~..._l.../
11
11
12
12
13
13
~~ -------L-L----~~------~~-----L~------ i~
Shuff le
Butterfly 4
But1erfly
3
But1erfly
2
T
Ay
Reversal
Bild 2: Signalfluf3 der schnellen Fouriertransformation
106
T
A Ap
1.
2.
3.
4.
5.
6.
Daten eingeben: Stern
Matri x a aufstellen: Gitter
A transponieren: Shuffle
Matrix-Vektor -Mult.: Kett e
line are Gleich. Ibsen: Gitter
p ausgeben: Stern
Bi l<
Bild 4: Parallele Spline-Giattung
Transputer
Ein
Forschungsprojekte
neue Eigenschaft konncn folgende Yerbesserungen erzielt
werden:
PMl
1. Paralleles Programmieren wird in dcr Hinsicht vereinfacht, daB sich der Rechner an das Programm anpal3t und
nicht umgekehrt.
PM
2. Die stets notwendige Interprozessor-Kommunikation
wird dadurch minimiert, da13 die Erzeuger von Daten
direkt, das heiJ3t ohne Einschalten von Zwischenstufen,
mit den Yerbrauchern verbunden sind. Dies wird durch
die schaltbaren Punkt-zu-Punkt-Yerbindungen der dynamisch variablen Topologie erreicht. Somit kann die Effizienz bei der Ausfi.ihrung paralleler Programme gesteigert
werden.
Aufgrund dieser Oberlegungen ergibt sich eine bestimmte
Architektur fur das Multitop-System:
Die Architektur
Ausgangspunkt der Darstellung der Architektur von Multitop ist die Idee, Prozessoren mit lokalcn Speichern uber
Kanalc zu koppeln. Die Fordcrung der variablen Topologic crzwingt als Vcrbindungsnctzwcrk entwcdcr einen vollslandig ver maschten Graphen (Bild 5) oder einen Kreuzschienenverteiler (Bild 6). Denn dcr vollstandig vermaschte Graph cnthiilt aile moglichen Topologien als Teilgraphen, beziehungsweise diesc lassen sich bei Bedarf mit
Hilfe des Kreuzschienenverteilers einstellen.
Bcidc Losungen sind aber fur die Kopplung vielcr Prozesso rcn unwirtschaftlich, da sic O(N 2) Kanale beziehungsweise Schaller erfordcrn. Die Losung dieses Problems
liegl in dcr Einfiihrung von schaltbaren Yerbindungen,
die mit Hilfe cines Koppelnctzes, das aus O(N*log N)
Schaltern bcstcht, realisiert wcrdcn (Bild 7).
Bild 6: Kreuzschienenverteiler
Schalter des Netzes entsteht, so klein zu halten, dal3 er
bei der Programmausfi.ihrung nicht wesentlich ins
Gewicht fallt. Dies fiihrt zu der Idee, die Schalter des
Netzes parallel, das heil3t von mehreren Prozcssoren
gleichzeitig, setzen zu lassen. Im Prinzip konnten dazu
dieselben Prozessoren PMl - PMN verwendet werden,
die auch dem Benutzerprogramm zur Verfugung stehen.
Dieses wi.irde dann allerdings in der Zeit, in der die Berechnung der Schalterstellungen vorgenommen wird,
nicht ausgefi.ihrt werden konnen. Urn dicsen Zeitverlust
bei jeder neuen Yerbindung zu vermeiden, konnen zusatzliche Prozessor-Speicher-Module (PMl - PMM) eingesetzt werden, deren Zahl M wesentlich kleiner als N scin
kann (Bild 8). DieM Module musscn gemal3 dem Algorithmus des Schalter-Bcrechnens miteinander verbunden
sein. Diese Art der Yerbindung kann fest sein, da stets
dasse!be Programm ausgefuhrt wird. Gceignet ist cine
Baum- oder Gitter-Topologie.
AUcrdings ist dcr mit der Durchschaltung der Yerbindungcn verbu nd ene Zeitverlust, der durch das Sctzcn der
r--
,----(\J
~
:2
:2
z
::2
0...
0...
If
It
0...
r-
,-----
Koppelnetz mit
O(NiogN) Schaltern
.. .
I
Bild 5: Vollstandi g vermaschter Graph
Eine Publikation von CH IP-SPECIAL
Bild 7: Koppelnetz
107
Forschungsprojekte
dem Herstellen neuer Topologien beschaftigt sind. Dazu
mi.issen sie in einer bestimmten, festen Topologie mit den
Benutzer-Moduln verbunden sein. Fi.ir das Verteilen und
Sammeln von Daten eignet sich cine sternformige Topologie besonders, im Zentrum des Sterns steht die Schnittstelle zur Auf3enwelt. Somit ist dem Aufbau von Multitop
noch ein Stern von festen Verbindungen iiberlagert (Bild
9) .
N >1
variables
Koppelnetz
N >> M
Das Multitop-Koppelnetz
festes Netz
(Baum)
M >= 1
Bild 8: Paralleles Setzen
Bei den bisherigcn Betrachtungen wurde die Datenein/ausgabe nicht beri.icksichtigt. Eine schnelle Verarbeitung
ist allerdings ohne cine cbensolche Datencin/-ausgabe wirkungslos. Bei Rechnern erfolgt sic zumeist von einer zcntralen Stelle aus - der Schnittstelle zur Auf3cnwelt. An
diesem Punkt werden Eingabedaten eingespeist, die
danach auf alle Prozessorcn verteilt werden miissen. Nach
dcr Vcrarbeitungsphase werden Ergebniswerte an dieser
Stelle gcsammelt und von dort ausgegeben. Aus Grunden
der Auslastung ist es zweckmaf3ig, die zentrale Datenein/ausgabe mit Hilfe derselben Prozcssor- Speicher-Moduln
vorzun ehmen, die auch fi.ir das Koppelnctz zustandig
sind, da dicse our wahrend der Verarbeitungsphase mit
Das modulare Koppelnetz des Multitop-Rechners verbindet die N Eingange des Netzes mit den N Ausgangen auf
N! verschiedene Arten (Bild 10). Aus diesem Grunde ist
das Netz fiir alle Permutationen von Punkt-zu-Punkt-Verbindungen blockierungsfrei. Dabei besteht es, wie das
bereits bekannte Benes-Netz [1], alis nur (N/2)(2*1og N1) Schaltern, die aufgrund ihrer moglichen Stellungen parallel oder gekreuzt- als Kreuzschalter bezeichnet
werden. Aufgrund der nicht quadratisch anwachscnden
Zahl von Kreuzschaltern ergibt sich fi.ir grof3e N cine erhebliche Einsparung an Schaltern verglichen mit einem
Krcuzschienenverteilcr. So mi.issen beispielsweise fi.ir N
= 1000 Eingange beim Multitop-Netz etwa 10 000 Schaller aufgewendet Werden, wahrend der Kreuzschienenverteiler bereits cine Million Schaltcr erfordert.
Das Multitop-Netz weist cine Selbsti:ihnlichkeit in seiner
Topologie auf, die bewirkt, daf3 die beiden Modulo cines
bestehenden Netzes rekursiv in einem Netz mit der doppeltcn Zahl von Eingangcn weitervcrwendet werden
konncn (Bild 11).
Bci einem Netz mit vier Eingangen beispielsweise konnen
dcr Iinke und der rechte Teil dieses Netzes unverandert
in einem Netz mit 8 Eingi:ingen weiterverwendet werden.
Dieser Sachverhalt gilt genauso fiir cin Nctz mit 16 Eingangen u.s.w.
N >1
variables
Koppelnetz
Die Selbstahnlichkeit der Topologie erlaubt weiterhin, ein
bcstehendes Nctz modular zu erweitern, wobei mit jcdcr
Verdopplung der Zahl der Eingange sich auch die Kommunikations-Bandbreite verdoppclt. Diese modulare Erweiterbarkeit kann bcispiclsweise dazu genutzt werdcn,
die Netto-Rechenleistung cines Multiprozessor-Systems
nach dem Baukastenprinzip zu crhohen.
BL
Ei
be
D;
ab
lo ~
Sci
Kr
ga1
ka1
W
E ir
ge>
C lO
13)
rio r
Z al
E ir
kni
de:
tie
1. Te il
2. Teil
PI<
festes Netz
(Baum)
0
M >=1
Pla
1. Stufe
2. Stu fe
3. St ufe
1. Stufe
2. Stufe
3 . St uie
Aufwand: O(NiogN-N/2)
Bild 9: Stern zur Datenein/-ausgabe
108
Bill
Bild 10: Multitop-Netz
Transputer
Ein
Forschungsprojekte
0
3
2
1
2
0
3
Bild 13: Sortiermaschine
entsprechen dann den verschicdcnen Eingangen des ·
Netzes.
Das analoge Problem ist deshalb einfacher zu losen, wei)
Aussagen wie "die obere und untere Halfte der Eingange"
oder "die zwei Eingange cines Kreuz.<;chalters" Ieicht
durch die hochst- beziehungsweise niederstwertigen
Adre/3bits dargestellt werden konnen. Damit kann das folgende neue Vcrfahren zum Sortiercn von Zahlen angegeben werden (Bild 15).
Bild 11: Modulare Erweiterung
E in weiterer Vorteil ist beim Vergleich mit dem ebenfa lls
bekann ten Lee-Netz [2] zu erkennen (Bild 12).
D a die Verm~;.s chung im Netz von Stufe zu St ufe
abnimmt, ist die Verdrahtung insgesa mt wesentlich
lokalcr.
SchlieCiich kan n man zeigen, daB bei Verwendung von
Krcuzschaltern mit zusatzlicher Broadcast-Funktion das
ganze Nctz auch als Broadcast-Netz ve rwendet werden
kann.
Wie funktioniert das Multitop-Netz?
E ine aquivalente Betrachtungsweise fi.ir die Frage der Wegcwahl cines Koppelnctzes ist, wenn man das Netz als
cine Maschine zum Sortieren von Zahlen a nsieht (Bild
13). A m Eingang der Sortie rmaschin e wird cine Permutatio n von Zahlcn e ingespeist, am Ausgang erhii lt man die
Zahlen in ihrc r nati.irlichen Reihcnfolgc. Das Problem,
E ingange mit A usga ngen zu verbind en, ist also eng verkniip ft mit der A ufgabe Zahlen zu ordnen. Dies fi.ihrt zu
dem ana logen Problem, in eincm Speicher Zahlen zu sortic rc n (Bi ld 14). Die adrcssie rb arcn Zellcn des Spcichers
Im ersten Schritt werden aus den N Zahlen N/2 Paare gcbildet. In jedem Paar sollen sich die zwei Zahlen nur in
ihrem niederwertigsten Bit unterscheiden, das hci/3t ih re
log N - 1 hOherwertigen Bits sind gleich. Da es sich urn
cine Permutation von N Zahlcn handelt, und N cine Zweierpotenz ist, gibt es zu jeder Zahl genau ein en Partner,
dcr diese Bedingung erfi.illt. Die Paarbildung kann
deshalb eindeutig und vollstiindig ablaufen.
Danach werden die beiden Zahlen jcdcs Paarcs dadurch
getrennt, d a/3 sie in die oberc und untere Halfte des
Adre/3raums verteilt werden. Dabei ist cs irrelevant,
welche Zahl in welche Halfte kommt, wichtig ist nur, da/3
sie in verschiedene Halften transportiert werden .
Dcr erste Schritt wird nun rekursiv auf die obere und
untere Halftc des A dre/3ra ums angewandt, wobei jetzt
2x(N/4) Paare mit log N - 2 gleichen hoherwertigen Bits
gebildet werden. Dcr erste Teil des Sortierverfahrens tcrminiert nach log N - 1 Schrittcn, da dann keine Zahlen
mit gleichcn Bits im jeweiligen Adrel3raum mehr existieren.
Der zweite Teil des Sortiervcrfahrens ist bcrcits bekannt.
Er wird auch als sukzessive Approximation bezeichnet,
da in jede m Schritt die Genauigkeit des Ziels verdoppelt
wird. Nach log N Schritten ist das Ziel auf log N Bit
genau.
Platine
0
Platine
1
starke
Lokalitat der
V erma~ch un g
Verbindungen
(Lee)
Bild 12: Geringe Vermaschung
Eine Publikation von CHIP-SPECIAL
Speicher
Adresse 0
1
2
3
Inhalt
3
2 __
1
0
vorher
_,.~
Adresse Inhalt
0
0
1
1
2
2
3
3
nachher
Bild 14: Zahlen im Speicher
109
Forschungsprojekte
t
~Q~x
t
x
---......._
-
0 --......._
I
X~
Adresse
-._/2
/' 3
-4
...1.Q.Il!_ -......... 5
J
11fi\)< 6
7
11\j
Bild 15: Sortierbeispiel
______.
~
nach s Stu! en
S+ 1. Stufe
-------.
Trennen
n
Adresse 2 · 1
0
s
Distanz:
Neu ist, da/3 in jedem Schritt jeweils ein Paar benachbarter Zahlen in komplementare Halften verteilt werden
kann, wei! deren relevante Bits komplementiir sind. Diese
neue Eigenschaft wurde durch den ersten Teil des Sortierverfahrens erreicht. Damit verbunden ist aber auch die
Moglichkeit, das Sortierverfahren mit Hilfe cines Netzes,
das aus Kreuzschaltern und einer sogenanntcn UnshuffleVerdrahtung besteht, zu implementieren (Bild 16). In
dicsem Nctz ist die Unshuffle-Verdrahtung dafiir zustandig, in verschiedene Halften zu transportieren, wahrend
je nach Stellung des Kreuzschalters entschieden wird, in
wclche Halfte transporticrt wird.
Fi.ir ein blockierungsfreies Arbeiten des rcchten Teils des
Netzes ist es notwendig, da/3 an jedem Kreuzschalter zwei
Zahlen mit komplemcntarem Steuerbit anliegen, da diese
aufgrund der Unshuff1e- Verdrahtung in komplemenUire
Halften transportiert werden. Urn dies sicherzustellen, ist
der erste Teil des Sortiervcrfahrens beziehungsweise der
Iinke Tcil des Netzcs notwendig. Die Idee, die dabei zugrumlc liegt, entspringt folgender Beobachtung (Bild 17).
Wenn sich im rechten Teil des Netzes zwei Zahlen an
einem Kreuzschalter der Stufe s trcffen, mi.issen dicse
Z ahlen s gleiche h6hcrwertige Bits aufweisen. Denn bcide
stcuern ihr Ziel nach dem Prinzip der sukzessiven Approximation an, wobei ihre s h6herwertigen Bits als Steuerbits verwendet wurden.
Damit der Kreuzschalter, an dem die beiden Zahlen anliegen, konf1iktfrci gesetzt werden kann, muf3 ihr s + 1. Stcuerbit komplementar sein. Das Prinzip des linken Teils ist
es also, Paarc mit s gleichcn hoherwertigen Bits zu bildcn,
und die beiden Zahlcn dann so weit zu trennen, da/3 sic
sich im rechten Teil des Netzes erst nach s Stufcn treffen
konnen. Dazu miissen sic am Eingang des rechten Teils
die Distanz ZS im Adref3raum aufweisen. Denn wenn ihre
Distanz kleiner als i ware, wi.irden sie sich bereits vor
beliebig
(n-1 ) · (s+ 1)
2
2
2
Bil1
Bild 17: Blockierungfreier Weg
2. I
der Stufe s treffen. Die dann relevanten Steuerbits sind
nach Voraussetzung aber nicht komplementar, so daf3 ihr
Kreuzschalter nicht widerspruchsfrei gesetzt werden
k6nnte. Der Algorithmus des ersten Teils des Sortierverfahrens beschreibt also einen Vorgang, der auch als "Konfliktpaartrennung" bezeichnet werden kann.
Entscheidend ist nun, daf3 ich zeigcn konnte [3], daf3
dieser Algorithmus auf einem Netz derselben Topologi e
wie das fi.ir die sukzessive Approximation zustandigc Nctz
ausgefi.ihrt werden kann. Deshalb besteht das M ultitopNetz aus zwei gleichen Teilen mit allen daraus resulticrenden Vorteilen.
Ergebnisse
1. Problem der parallelen Programmierung: Die verwendete Programmiersprache Occam basiert auf kommuni zi erenden sequentiellen Prozesscn. Es wurde in der Praxis
bestatigt, da/3 die parallele Programmierung dadurch vereinfacht wird, da/3 die Topologie der Prozesse dirckt auf
die Topologie der Prozcssoren abbildbar ist. Auf maschinengegebene Besonderheiten mu/3te so keine Rucksicht
genommen werden. Das Konzept der dynamisch variablen Topologie erwies sich dcshalb als grol3e Hilfe bei d er
Implementierung der parallclcn Programme.
~
2
n-
1
(p + 4)
nm
ger.
FOi
Sar
net
len
ni.kt
Es •
For
trnp
vo n
sc 8
19).
Urn
Es wurde ein Prototyp von Multitop mit vier RcchenTransputern und dynamisch variabler Topologie realisicrt. Die lmplementicrung der FFT auf diesem Prototyp
sowie die Implementierung der Spline-Glattung liefcrt en
bczi.iglich der drei betrachteten Probleme die folgenden
Resultate:
E cr (n.p)
ren
E cr ~Ea;
p
~ l og
kei n:
clas
so r- .
verb
Die
fern :
zcigt
i.ibcr
Cli1C
Ftir <
clu kL;
mum
sonJ,
Oper
Multi
P, n = logN
n· 1
E
f 2
(p + 6)
ST (n.p) • ) n. 1
~2
fUr N"" 1024 , P = 16
(p +5)
n-1
E cr= E G3 < E sr< E PS
Bild 16: lmplementierung
110
!U r p + 6 < 2 (n + 1)
EPS (n.p) •
2
2(n + 1)
Bild 18: DatenfluBanalyse von sequentiellen Formen
der FFT
Transput er
Bild
~
Ei ne I
Forschungsprojekte
e(P)
Zahl der Prozessoren
,..,
i
Gesamtzeit [ms]
Speedup
Wirkungsgrad
Transpo rt/Rech n.
478
0 ,44
Wirkun s rade fOr 1 024 Punkte FFT
4
L
276
1 , 73
0,87
0,52
152
3 , 13
0,78
0,58
100 %
80 %
MUL TITOP, d
~
1
60 %
40 %
Bild 19: Messungen an Multitop
20 %
2. Problem der effizienten Ausfi.ihrung: Die zu parallelisiercnden Probleme wurden einer Datenflufhnalyse zur Minimierung der lnterprozessor- Kommunikation unterzogen. Es wurden dabei die vier sequenticll gleichwertigen
Formen der FFT, die als Cooley-Tukey-(CT), GentlemanSande-(GS), Stockham-(ST) und Pease-FFT (PS) bezeichnct werden, als nicht gleichwertig bezi.iglich ihrer parallelcn Ausfi.ihrung erkannt, da deren Interprozessor-Kommunikation sich bis zum Faktor drei unterscheidet (Bild 18).
Es wurd c daraufhin die Gentlcman-Sandc-FFT, als die
Form mit dcr kleinsten Intcrprozessor-Kommunikation
im plcmentiert. Dabei zcigte sich ein hoher Wirkungsgrad
von c twa 90 Prozcnt bei zwei Prozessoren beziehungsweise 80 Prozcnt bci vieren gcgeni.iber einem Prozessor (Bild
19).
Um auf cine grof3e Zahl von Prozcssorcn cxtrapolicren zu
kCi nnen, wurde ein mathematisches Modell entwickelt, in
clas die reinc Berechnungszcit dcr FFT, die Interprozessor- Kommunikation sowie die Topologie dcr Prozcssorvcrb imlungcn e ingeht (Bild 20).
0
2
4
p ~ log
8
6
2
10
(P)
Bild 21: Hoher Wirkungsgrad bei Multitop
Insgesamt kann gesagt wcrden, daf3 eine hohe Effizienz
bei paralleler Verarbeitung dadurch erzielt werden kann,
daf3 die Interprozcssor-Kommunikation sowohl auf algorithmischer Scite durch eine Datenfluf3analyse als auch
auf architektonischer Seite durch eine dynamisch variable
T opologie verringert wird.
3. Problem der skalicrbaren Leistung: Der Prototyp von
Multitop wurde zwischenzeitlich auf acht Rechcn-Transputer erweitert. Die dazu notwendige Verdopplung der
Zahl der Eingange des Koppelnetzes erfolgte unter Verwendung des vorhandenen Netzes. Das neu cntwickelte
Multitop-Koppelnetz erfi.illt also die Fordcrung nach modularer Erwciterbarkeit.
Die Topologie dri.ickt sich darin durch die "mittlcre Entfc rn ung" zwcier Prozessoren aus. Anhand des Modells
zcigte es sich, daf3 das Multitop-Konzept mit d = 1 gcgenitbcr dem Hypercube (d- LogP) und dcm Ring (d- P/4)
cine wcsentlich grofkre Effizienz aufwcist (Bild 21).
[1] V.E. Benes, Math. theory of connecting networks and
Fi.ir die zu parallclisierendc Splinc-Glattung mit Datenre-
tclphonc traffic, Academic Press, 1965.
duk tion wurdc zur Minimierung der Intcrprozessor-Kommun ikation ein ncucs Verfahren entwi cke lt, das sich besonders gut parallelisieren laf3t, da es ausschlieBlich auf
O pera tionen der linearen Algebra, wic Matrix-Matrix!'vfultiplikationcn basicrt.
[2] KY. Lee, IEEE Transactions on computers, Vol. c34, No.5, May 1985.
G·~ samtze:t
Buchtips
[3] H. Richter, Multiprozessor mit dynamisch variabler
Topologie, Diss., Mi.inchen 1988.
T FFr (n. p,d) = 2 n-p (an + bd (1 + (pi 4) ·2 · P )
n :::.:on- Transportzeir TI.CV (n, p,d) =
\·'.'1·-:Ln gsgrao:
Dr. Harald Richter
e (r.o ,c)
bd£·P (1 + (D/4) -2
=
n + cd(1 + (p/4) ·2 ·P I
- p)
a,b: Kons tanten
d: mittlere Entfernung
c
E
b/a
Bild 20: Modell zu r Extrapolation
Eine Publikation von CHIP-SPECIAL
111
Herunterladen