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