DE2503087C3 - Netzwerk-Rechnersystem - Google Patents

Netzwerk-Rechnersystem

Info

Publication number
DE2503087C3
DE2503087C3 DE19752503087 DE2503087A DE2503087C3 DE 2503087 C3 DE2503087 C3 DE 2503087C3 DE 19752503087 DE19752503087 DE 19752503087 DE 2503087 A DE2503087 A DE 2503087A DE 2503087 C3 DE2503087 C3 DE 2503087C3
Authority
DE
Germany
Prior art keywords
processors
matrix
computer system
lines
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19752503087
Other languages
English (en)
Other versions
DE2503087B2 (de
DE2503087A1 (de
Inventor
Frank Dipl.- Ing. 2000 Hamburg Heubach
Hermann Dipl.-Math. Dr. 2000 Tangstedt Schomberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Patentverwaltung GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Patentverwaltung GmbH filed Critical Philips Patentverwaltung GmbH
Priority to DE19752503087 priority Critical patent/DE2503087C3/de
Priority to US05/649,556 priority patent/US4065808A/en
Priority to GB2483/76A priority patent/GB1537504A/en
Priority to FR7601841A priority patent/FR2298831A1/fr
Priority to JP51006388A priority patent/JPS5819098B2/ja
Publication of DE2503087A1 publication Critical patent/DE2503087A1/de
Publication of DE2503087B2 publication Critical patent/DE2503087B2/de
Application granted granted Critical
Publication of DE2503087C3 publication Critical patent/DE2503087C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft ein Rechnersystem mit einem Steuerrechner und einer Vielzahl von untereinander gleich aufgebauten, matrixförrjiig angeordneten Prozessoren, von denen jeder über Da<.enaustauschleitungen mit den unmittelbar benachbarten Prozessoren in der Matrix und über Instruktionsleitungen und Meldeleitungen mit dem Steuerrechner verbunden ist, wobei der Steuerrechner wenigstens mit einem Teil der Prozessoren über Datenaustauschleitungen verbunden ist.
Derartige Rechnersysteme sind bekannt, beispielsweise aus IEEE Transactions on Computers. Vol. C 21 (1972), Seiten 948-960. Darin besitzt jeder Prozessor mindestens Einrichtungen für einige logische und arithmetische Verknüpfungen sowie eine gewisse Speicherkapazität. Das Programm kommt aus einem Steuerrechner, der ein üblicher großer Vielzweckrechner sein kann, und jede Instruktion wird parallel allen Prozessoren zugeleitet. Auf diese Weise führen alle Prozessoren gleichzeitig dieselbe Operation aus, wobei die Operanden jedoch von Prozessor zu Prozessor verschieden sein können. Diese Art von Netzwerk Rechnern zählt deshalb /u den »single instruction stream-multiple data stream« (SIMD) Rechnern. leder Prozessor ist mit seinen Nachbarn verbunden, so daß ein lokaler Datenaustausch zwischen den Prozessoren möglich ist und jeder Prozessor bei einem Rechenschritt Daten aus den benachbarten Prozessoren verwenden kann.
Es ist ein Netzwerk-Rechner gebaut worden, der unter dem Namen ILLIACIV bekannt und beispielsweise in IEEETransactions on Computers, VoL G'l 7,(1968),
Seiten 746-757 beschrieben worden ist. Bei diesem Rechner ist es mit Hilfe einer Sperrlogik möglich, einzelne Prozessoren, abhängig von in ihnen gespeicherten Daten, vom gemeinsamen Instruktionsfluß abzuschneiden. Außerdem ist eine lokale indirekte Adressierung vorgesehen. Diese Einrichtungen erlauben ein Abweichen von SIMD-Prinzip, wodurch die Flexibilität des Netzwerk-Rechners erhöht wird.
Die erwähnten zusätzlichen Möglichkeiten führen allerdings zu einem sehr komplizierten Aufbau der Prozessoren und einer sehr komplizierten Steuerung. U.a. aus Kostengründen ist daher die Zahl der Prozessoren und damit die mögliche Parallelität bei dem bekannten Rechner auf 64 Prozessoren eingeschränkt
Es gibt jedoch Datenverarbeitungsprobleme, bei denen eine größere Anzahl von Prozessoren wünschenswert ist Ein solches Problem ist die numerische Lösung partieller Differentialgieichungen mittels Differenzenmethoden, wie in dem Buch von Richard S. Varga,»Matrix Iterative Analysis« Prentice-Hall, Incx, New Jersey (1962), Kapitel 3 bis 6, angegeben ist. Für diese Differenzenmethoden kann die sogenannte SOR-fviethode (SOR = successive overrelaiion iterative method) verwendet werden. Eine für dieses Gebiet typische Aufgabe besteht in der Lösung eines linearen Gleichungssystems von bestimmter, sehr spezieller Struktur. Dies geschieht in der Regel iterativ. Die einzelnen Iterationsschritte können prinzipiell ΛΖ-fach parallel durchgeführt werden, wobei N die Anzahl der Unbekannten bedeutet und zwischen W und \0* liegt Dazu sind dann N Prozessoren notwendig. Für die Lösung dieses Problems sind die bekannten Netzwerk-Rechner nicht optimal geeignet, da, abgesehen von der zu geringen Zahl vorhandener Prosessoren, das SIMD-Prinzip bei bestimmten Iterationsverfahren nur eine /V/2-fache Parallelität ermöglicht, so daß die theoretisch maximal mögliche Geschwindigkeit etwa halbiert wird. Ferner ist die aufwendige Steuerung der bekannten Netzwerk-Rechner überflüssig.
Aufgabe der Erfindung ist es, einen Netzwerk-Rechner zur numerischen Lösung partieller Differentialgleichung mittels Differenzenmethoden anzugeben, der die weitestgehende Ausnutzung der prinzipiell möglichen Parallelität gestattet und dessen Prozessoren und deren Steuerung dennoch relativ einfach sind. Diese Aufgabe löst die Erfindung durch die im Kennzeichen des Hauptanspruchs angegebenen Maßnahmen. Ausgestaltungen uer Erfindung sind in den Unteransprüchen angegeben.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung erläutert. Es zeigt
F ι g. I ein Blockdiagi amm der wesentlichen Teile des Netzwerk-Rechnersystems,
Fig. 2 ein Blockdiagramm des inneren Aufbaus der Steuereinheit.
F i g. 3 den grundsätzlichen Aufbau eines Prozessors.
Das Rechnersystem in Fig. I besteht aus einer malrixformigen Anordnung 1 von einzelnen Prozessoren 2, auch Zellen genannt, die alle untereinander gleich aufgebaut sind. Diese Prozessoren 2 sind schachbrettmusterartig einer von zwei Gruppen zugeordnet, die hier mit »schwarz« und »weiß« b/w. abgekürzt mit sund W bezeichnet sind. Urn diese Einteilung deutlicher zu machen, ist die abgekürzte Bezeichnung der Gruppen entsprechend in die einzelnen Prozessoren eingetragen. Daraus wird erkennbar, daß jede schwarze Zelle nur von weißen Nachbarn und jede Weiße Zelle nur von schwarzen Nachbarn umgeben ist. Die mit Pfeilen in beiden Richtungen versehenen Linien zwischen den Zellen geben an, daß jede Zelle eine Datenverbindung zu ihren »andersfarbigen« Nachbarzellen besitzt.
Die einzelnen Zellen oder Prozessoren 2 der Matrixanordnung 1 werden von der Steuereinheit 3 gesteuert. Dazu führt von dieser Steuereinheit eine Instruktionsleitung 4 zu allen schwarzen Zellen und eine Instruktionsleitung 5 zu allen weißen Zellen. Über diese Instruktionsleitungen erhalten die schwarzen Zellen und
ίο ebenso die weißen Zellen jeweils parallel dieselben »schwarzen« bzw. »weißen« Instruktionen. Im allgemeinen sind schwarze und weiße Instruktionen verschieden, sie können aber auch gleich sein. Auch kann zu bestimmten Zeitpunkten nur eine von beiden Instruktionsleitungen eine Instruktion führen. Die Instruktionsleitungen dienen ferner zur Übermittlung allgemeiner »schwarzer« bzw. »weißer« Operanden bzw. Parametern. Es ist klar, daß jede Instruktionsleitung nur zur vereinfachten Darstellung als eine Leitung gezeichnet ist und in Wirklichkeit zweckmäßig aus einer Mehrzahl von panllelen Leitungen besteht, über die ein Instruktionswort bitparallel überm. ^n wird.
Jeder Prozessor 2 erzeugt mindt-birris ein Meldesignal, das im vorliegenden Fall der Lösung von Differenzengleichungen als Konvergenzsignal dient. Diese Meldesignale werden der Steuereinheit 3 über die Melde'eitungen 8 und 9 zugeführt, wobei jede der beiden Meldeleitungen mit den Meldeausgängen aller Prozessoren der gleichen Gruppe verbunden ist. Die Ausgänge der schwarzen Zellen sind also alle mit der Meldeleitung 8 und die Ausgänge d?r weißen Zellen sind alle mit der Meldeleitung 9 verbunden.
Die Prozessoren 2 arbeiten alle synchron, indem der Arbeitstakt über eine gemeinsame Taktleitung (nicht
j5 dargestellt) von einer zentralen Stelle wie der Steuereinheit gesteuert wird. Hierbei ist also die Unterteilung in zwei Gruppen nicht wirksam.
Die Prozessoren in der obersten Zeile der matrixförmigen Anordnung 1 sind mit einem Pufferspeicher 6 verbunden, der als Zwischenspeicher für e'en Dr tenaustausch zwischen dem Steuerrechner 7. der ein üblicher Universalcomputer ist, und den Prozessoren dient. Er ist a'. Schieberegister aufgebaut, dessen Kapazität bzw. Stellenzahl so groß ist, daß die Information für alle
4-, Prozessoren der obersten Matrixzeile gleichzeitig aufgenommen werden kann. Der Datenaustausch zwischen diesem Pufferspeicher und den Prozessoren der obersten Matrixzeile erfolgt dann voll parallel, während die Datenübertragung zwischen dem Pufferen speicher 6 und dem Steuerrechncr 7 bit- oder wortseriell erfolgen kann.
Der Steuerrechner 7 liefert nicht nur die Daten bzw. nimmt die berechneten Daten auf, sondern erzeugt auch Steuersignale bzw enthält zunächst das Programm. Die Verbindung mit dem Stcuerrechner und den Prozessoren 2 einschließlich dem Pufferspeicher 6 wird durch die Steuereinheit 3 hergestellt, deren interner Aufbau etwas ausführlicher in F i g. 2 dargestellt ist.
Die Steuereinheit 3 enthält einen Programmspeicher
bo 21, der im allgemeinen alle Instruktionen enthält, die fü<· die vollständig! Lösung eines Gleichungssystems notwendig sind. An den Programmspeicher sind drei instruktions^Decödierer 22, 23 und 24 angeschlossen, die die vom Programmspeicher ausgegebenen Instruk-
tiöhen ehtschlüsseln, wobei die Auswahl des Decodierers durch die Instruktion selbst erfolgen kann. Der Decodierer 22 entschlüsselt die Instruktionen, die über die Instruktionsleitung 4 den schwarzen Zellen bzw.
Prozessoren zugeleitet werden sollen, und der Decodierer 23 decodiert die Instruktionen Für die Instruktionsieitung 5 für die weißen Zellen. Diese Decodierer sind über eine Schaltmatrix 25 mit den Instruktionsleitungen 4 und 5 verbunden, die im wesentlichen von den Decodierern gesteuert wird und nicht nur die Ihstruktionswege, sonderen auch Datenwege schaltet. Auch die Verbindung zum Steuerrechner 7, über die sowohl Daten als auch Befehle übertragen werden, läuft über diese Schaltmatrix 25. Zu Beginn einer Berechnung wird vom Steuerrechner 7 das Programm über die Schaltmatrix 25 in den Programmspeicher 21 übertragen. Danach werden vom Steuerrechner die Anfangsdaten ggf. über dieselben Leitungen, über die Schaltmatrix in den Pufferspeicher und von dort in die Prozessoren übertragen. Während der Berechnung entschlüsseln die Decodierer 22 und 23 im allgemeinen gleichzeitig Instruktionen, die über di? ScheltrnBtrix 25 ?u den Instruktionsleitungen 4 und 5 übertragen werden. Am Ende der Berechnung werden die Ergebnisse aus den Prozessoren über den Puffer und die Schaltmatrix in den Steuerrechner 7 übertragen. Auch die Datenübertragung zwischen Pufferspeicher und den Prozessoren der obersten Matrixzeile erfolgt über diese Schaltmatrix.
Die Decodierer 22 und 23 decodieren im allgemeinen gleichzeitig jeweils eine Instruktion, die für beide Decodierer manchmal auch die gleiche sein kann, oder es arbeitet nur der dritte Decodierer 24, der hier mit zentraler Decodierer bezeichnet sei. Dieser steuert die Verarbeitungseinheit 26, in der die auf den Meldeleitungen 8 und 9 von den Prozessoren übertragenen Konvergenzsignale gespeichert und verknüpft werden, sowie die Daten-Ein- und Ausgabe für den Pufferspeicher.
Für die Prozessoren 2 können handelsübliche, unter dem Namen Mikroprozessor bekannte Bausteine verwendet werden, wobei jedoch nur relativ einfache Funktionen benötigt werden, so daß auch entsprechend preiswerte Bausteine verwendet werden können. Der grundsätzliche Aufbau der hier benötigten Prozessoren ist in Fig. 3 stark schematisiert dargestellt. Danach ist ein Akkumulator 31 vorhanden, dessen Ausgang einmal aus dem Prozessor herausgeführt wird, um benachbarten Prozessoren den Datenzugriff zu gestatten, und der andererseits mit einem Speicher 32 für eine kleine Anzahl Worte verbunden ist Ferner ist eine arithmetische und logische Einheit 33 vorhanden, so daß der Prozessor Additionen. Subtraktionen, Multiplikationen und ggf. logische Verknüpfungen durchführen kann. Zum Akkumulator führen ferner die Ausgänge von den Akkumulatoren von den benachbarten Prozessoren, was hier durch nur zwei Eingänge schematisch angedeutet wird. Diese Leitungen können auch direkt in den Speicher 32 führen. Die Steuerung der einzelnen Teile erfolgt durch das Instruktionsregister 34, das die Übernahme der Daten in den Akkumulator 31 oder den Speicher 32 sowie die in der Einheit 33 durchzuführende Verknüpfung bestimmt Dieses Instruktionsregister 34 erhält seine Information von der Instruktionsleitung 4 oder 5, je nach dem, zu welcher Gruppe der Betreffende Prozessor gehört Ferner ist noch ein vom Akkumulator 31 gespeister Speicher 35 für das Konvergenzkriterium vorhanden, der je nach zugehöriger Gruppe des Prozessors an die Meideleitung 8 oder 9 angeschlossen ist.
Die Arbeitsweise des beschriebenen Netzwerk^Rech* nersystems wird nun anhand eines praktischen Beispiels beschrieben; das die Lösung von Difiefehzengleichungen betrifft, die aus einer eiiptischen Randwertaufgabe gewonnen werden* Zunächst werden das Programm zur Lösung dieses Problems Und sämtliche benötigten Daten im Stellerrechner 7 bereitgestellt. Die Steuereinheit 3 schreibt nun zunächst dieses Programm über die Schaltmatrix 25 in den Programmspeicher 21 ein. Die folgenden Funktionen werden dann von diesem eingeschriebenen Programm veranlaßt.
Im beschriebenen Beispiel werden zunächst jedem Prozessor bzw. jeder Zelle c,> fünf Koeffizienten L,j, /?,y, T,j, B,j, Ci1 und ein Anfangszusland Z,j übertragen; dabei hptpirhnpt γι,Αιρ 7p\\p in Her i-tpn 7e\\p und /-ten Snaltp -y ... _ - .. -„■ j r
der matrixförmigen Anordnung. Zum Übertragen dieser Daten wird zunächst der Pufferspeicher 6 von dem Steuerrechner 7 über die Schaltmatrix 25 seriell gefüllt. Dann wird eine Instruktion auf beiden Instruktionsleitungen 4 und 5 gleichzeitig übertragen, die bewirkt, daß alle Zellen den Inhalt des Akkumulators ihres oberen Nachbarn übernehmen. Durch wiederholtes Füllen des Pufferspeichers 6 und anschließendes Übertragen des Inhaltes der Akkumulatoren 31 des jeweils oberen benachbarten Prozessors 2 füllen sich die Akkumulatoren aller Prozessoren nacheinander von oben nach Unten. Danach übergibt jeder Prozessor 2 den Inhalt seines Akkumulators 31 an seinpn Speicher 32. Auf diese Weise lassen sich die vorher erwähnten Koeffizienten, und zwar zunächst alle Ly, danach alle R,j usw. in der zugehörigen Zelle cy abspeichern, wobei diese Koeffizienten nur in entsprechender Reihenfolge in den Pufferspeicher gebracht werden müssen. Für das angegebene Rechenproblem sind noch weitere Daten notwendig, und zwar die sogenannten »Relaxationsparameter«
fi,, in,. C)2,
d. h. für jeden Iterationsschritt ein anderes Parameterpaar. Diese Parameter werden ebenfalls vom Steuerrechner 7 geliefert, und sie könnten entsprechend nach jedem Iterationsschritt abgerufen werden. Zweckmäßiger ist es jedoch, diese Parameter nach der Eingabe aller Koeffizienten ebenfalls in der entsprechenden Reihenfolge in den Pufferspeicher 6 einzuschreiben jedoch noch nicht an die Prozessoren der obersten Matrixzeile weiterzugeben. Während der Eingabe steuert der dritte, der zentrale Decodierer 24, das Füllen und Leeren des Puffers, dagegen entschlüsseln die beiden ersten Decodierer 22 und 23 die Instruktionen, die das Übernehmen der Daten aus dem Akkumulator des jeweils oberen Nachbarn steuern. In diesem Fall entschlüsseln beide Decodierer dieselbe Instruktion.
Nun beginnt der Iterationsteil des Programms. Jeder Iterationsschritt besteht aus zwei Halbschritten. Im ersten Halbschritt des /r-ten Iterationsschrittes berechnen alle schwarzen Zeiten nach der Vorschrift
;-tj +
u + 7};Zfi+I + BijZij-T. - Z1-, + G,7]
ihrem Zustand und den Zuständen der weißen Nachbarzellen einen neuen Zustand, während alle
weißen Zellen das Konvergenzkrilerium
- TuZ~u - f < 0
über|tyfifen und das Ergebnis als Meldesignal über die Meldeleiturig 9 an die Verarbeitungseinheit 26 der Steuereinheit 3 übertragen. Im anschließenden zweiten Halbschritt berechnen alle weißen Zellen aus ihrem Zustand und den Zuständen der benachbarten weißen Zellen nach der obenangegebenen Vorschrift einen neuen Zustand, wobei nun aber der entsprechend andere Parameter Ϊ dieses /r-ten Iteralionsschriltes verwendet wird. Gleichzeitig überprüfen alle schwarzen Zellen das angegebene Konvergenzkriterium, und melden das Ergebnis über die Meldeleitung 8 an die
H)
Ii Zeile bestehen, die parallel an den Pufferspeicher angeschlossen ist« so daß zwar ein sehr großer Pufferspeicher notwendig ist, jedoch die DaIeH1Em' und Ausgäbe am schnellsten erfolgt, Ein äridöfes Extrem ist eine Matrix aus nur einer Spalte, wobei nur der oberste Prozessor an den Pufferspeicher angeschlossen ist und alle in diese Spalte einzugebenden bzw. aus dieser Spalte auszulesenden Daten über diesen obersten Prozessor nacheinander transportiert werden müssen.
Eine andere Form ist die Erweiterung auf eine dreidimensionale Matrix. Dabei sind die einzelnen
Wis
lairiü
Parameter zweckmäßig in der richtigen Reihenfolge im Pufferspeicher 6. so daß der benötigte Parameter gerade am Serienausgang des Pufferspeichers steht, von wo aus er über die Schaltmatrix 25 und die entsprechende Instruktionsleitung 4 oder 5 an alle Zellen dieser Gruppe gelangt. Die Toleranzschwelle f beim Konvergenzkriteriuni, die für alle Iterationsschril- 2> te konstant ist, befindet sich im Programmspeicher 21 und wird ebenfalls über die Instruktionsleitungen 4 oder 5 an die Zellen übertragen.
Bei der Prüfung des Konvergenzkriteriums wird zwec mäßig das Vorzeichen der linken Seite der angegebenen Gleichung verwendet, indem das dieses Vorzeichen angebende Bit über die entsprechende Meldeleitung 8 oder 9 zur Steuereinheit 3 übertragen wird. Insbesondere auch wegen der großen Anzahl von Prozessoren, die jeweils an eine Meldeleitung ange- j-> schlossen sind, kann es zweckmäßig sein, die Meldeleitung durch die Prozessoren nacheinander hindurchzuführen und durch Verknüpfungsglieder das jeweils gerade berechnete Vorzeichenbit mit der ankommenden Konvergenzleitung zu einem neuen Konvergenzbit zu verknüpfen, das dann zun nächsten Prozessor weitergeleitet und vom letzten schließlich der Steuereinheit zugeführt wird.
Die einzelnen Iterationsschritte mit den abwechselnden ersten und zweiten Halbschritten folgen so lange, 4-5 bis die vom zentralen Decodierer 24 gesteuerte Verarbeitungseinheit 26 mit der Konvergenzlogik anzeigt, daß in zwei aufeinanderfolgenden Halbschritten Konvergenz aufgetreten ist. In diesem Falle stellen die zuletzt berechneten Zustandswerte aller Prozesso- to ren, die noch in deren Akkumulatoren gespeichert sein können, die gesuchte Lösung dar, und die Iteration ist beendet Die Übertragung der Zustandswerte in den Steuerrechner geht in umgekehrter Richtung wie bei der Eingabe schrittweise aus allen Prozessoren nach « oben über den Pufferspeicher 6 und die Schaltmatrix 25 in der Steuereinheit 3 vor sich.
Die Form der in F i g. 1 dargestellten matrixförmigen Anordnung 1 ist nicht näher festgelegt Eine etwa quadratische Anordnung wird in vielen Fällen zweckmäßig sein, da sie den besten Kompromiß zwischen elektronischem Aufwand und Zeitaufwand für die Dateneingabe darstellen wird. In manchen Anwendungsfällen können aber auch andere Formen zweckmäßig sein. Im Extremfall kann die Matrix aus nur einer sterartig den beiden Gruppen zugeordnet, und diese Zuordnung wechselt von Ebene zu Ebene für jeden Matrixpunkt der Ebene. Auf diese Weise bleibt das erfindungsgemäße Prinzip erhalten, ebenso wie bei der eindimensionalen Matrix, daß nämlich jedem Prozessor nur Prozessoren der anderen Gruppe benachbart sind. Ebenso sind weiterhin alle Prozessoren einer Gruppe, gleich in welcher Ebene sie liegen, mit der dieser Gruppe zugeordneten Instruklionsleitung und Meldeleitung verbunden. Bei einer dreidimensionalen Matrix kann der Pufferspeiche so ausgelegt und an die Matrix angeschlossen sein, daß allen Prozessoren in einer Oberfläche der Matrix parallel Daten zugeführt oder entnommen werden, so daß der Pufferspeicher damit zweidimensional angeordnet ist.wobei jedoch trotzdem noch ein rein serieller Eingang bzw. Ausgang vorhanden sein kann. Eine andere Möglichkeit ist, nur eine Kante der Matrix an einen eindimensionalen Pufferspeicher, wie er in dem vorstehenden Ausführungsbeispiel beschrieben wurde, anzuschließen, danach in beschriebener Weise durch fortgesetztes Weilerschicben in einer Richtung den Prozessoren in einer Ebene Daten zuzuführen bzw. zu entnehmen, und dann durch einen Übertragungsschritt in dazu senkrechter Richtung der nächsten Ebene Daten zuzuführen, um danach wieder die Prozessoren in der obersten Ebene der Matrixserie zu füllen bzw. zu leeren usw. Dadurch dauert die Dateneingabe zwar länger, jedoch ist ein kleinerer Pufferspeicher dafür nötig.
Schließlich ist es möglich, nicht für jede Unbekannte des Differenzengleichungssystems einen Prozessor vorzusehen, sondern jeweils eine feste Anzahl von Unbekannten durch jeweils einen Prozessor berechnen zu lassen. Dabei besteht dann jeder Schritt des Iterationsverfahrens aus einer größeren Anzahl von einzelnen Rechenschritten, und vor allem muß dann jeder Prozessor eine größere Anzahl von Koeffizienten speichern können, nämlich für jede Unbekannte im allgemeinen verschiedene. Die Durchführung der gesamten Iteration dauert dann um ein entsprechendes Vielfaches länger, jedoch wird nur ein Bruchteil der Prozessoren wie bei dem Ausführungsbeispiel benötigt. Das Prinzip, daß alle Prozessoren durch die Zuordnung zu zwei Gruppen abwechselnd eine Iterationsberechnung und eine Konvergenzberechnung durchführen, so daß sie optimal ausgenutzt werden, bleibt erhalten.
Hierzu 3 Blatt Zeichnungen

Claims (11)

Patentansprüche:
1. Rechnersystem mit einem Steuerrechner und einer Vielzahl von untereinander gleich aufgebauten, matrixförmig angeordneten Prozessoren, von denen jeder über Datenaustauschleitungen mit den unmittelbar benachbarten Prozessoren in der Matrix und über Instruktionsleitungen und Meldeleitungen mit dem Steuerrechner verbunden ist, wobei der Steuerrechner wenigstens mit einem Teil der Prozessoren über Datenaustauschleitungen verbunden ist, dadurch gekennzeichnet, daß zur Lösung von Differenzengleichungen mit einer Anzahl von Unbekannten für die numerische Lösung von partiellen Differentialgleichungen nach der SOR-Methode für jede Unbekannte ein Prozessor (2) vorgesehen ist, daß die schachbrettmusterartig in zwei Gruppen (w, s) eingeteilten Prozessoren je Gruppe über gemeinsame Instruktionsleitungen (4, 5) und Meldeleitungen (8, 9) mit dem Steuerrechner (7) verbunden sind, so daß jeweils einem Prozessor eier einen Gruppe (w bzw. sj nur Prozessoren der anderen Gruppe (sbzw. wj unmittelbar benachbart sind, und daß bei der Durchführung der Lösung der Differenzengleichungen die beiden Gruppen von Prozessoren jeweils abwechselnd entsprechend gleiche Instruktionen bzw.! istruktionsfolgen erhalten.
2. Rechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß zwischen dem Steuerrechner (7) und den Prozessoren (2) eine Steuereinheit (3) mit einem Pr.grammspeicher (21) geschaltet ist, daß in der Steuereinheit (3^ an de" Programmspeicher (21) zwei Instruktions-Derodierer (22, 23) angeschlossen S5 sind, und jeder Decodierer (?■?, 23) die Instruktionsleitungen (4, 5) für eine Gruppe (w. s) von Prozessoren (2) speist.
3. Rechnersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Pufferspeicher (6) vorgesehen ist, der eine Kapazität für die Information einer Rand-Matrixzeile von Prozessoren (2) besitzt und an den diese Rand-Matrixzeile von Prozessoren parallel angeschlossen ist, und daß -der Pufferspeicher (6) außerdem mit dem Steuerrechner 4I (7) verbunden ist.
4. Rechnersyslem nach Anspruch 3, dadurch gekennzeichnet, daß der Pufferspeicher (6) ein Schieberegister ist, der die Information für eine Rand-Matrixzeile von Prozessoren (2) in Serie vom Steuerrechner (7) erhält bzw. an diesen abgibt und parallel an die Prozessoren (2) abgibt bzw. von diesen erhält.
5. Rechnersystem nach Anspruch 3 oder 4. dadurch gekennzeichnet, daß zur Übertragung von Y, Daten zwischen den weiteren Prozessoren (2) der Matrix und dem Pufferspeicher (6) diese Daten durch eine entsprechende Folge von Obernahmeinstruktionen an alle Prozessoren (2) von diesen weiteren Prozessoren schrittweise in die Prozessofen der Rand-Matrixzeile und dann in den Pufferspeicher (6) oder in umgekehrter Richtung übertragen werden.
6. Rechnersystem nach Anspruch 2 oder einem der folgenden, dadurch gekennzeichnet, daß die Steuereinheit (3) eine von den Decodierern (22, 23) gesteuerte Schaltmatrix (25) enthält, die die Datenoder InstrüktionsWege zwischen Steilerrechfier (7), Programmspeicher (21), Pufferspeicher (6) und Prozessoren (2) sowie den jeweils einer Gruppe von Prozessoren gemeinsamen Instruktionsleitungen (4, 5) und dem entsprechenden Decodierer (22, 23) steuert
7. Rechnersystem nach Anspruch 1 oder einem der folgenden, dadurch gekennzeichnet, daß jeder Prozessor (2) mindestens 1 Meldesignal abgibt, das auf jeweils einer Gruppe (w, s) von Prozessoren (2) gemeinsamen Meldcleitung (8, 9) der Steuereinheit (3) zugeführt wird.
8. Rechnersystem nach Anspruch 7, dadurch gekennzeichnet, daß in der Steuereinheit (3) an den Programmspeicher (21) ein dritter Instruktionsdecodierer (24) angeschlossen ist, der eine Verarbeitungseinheit (26) für die Meldesignale steuert.
9. Rechnersystem nach Anspruch 1 oder einem der folgenden, dadurch gekennzeichnet, daß die Matrix (1) nur eine Zeile oder Spalte enthält
10. Rechnersystem nach Anspruch 1 oder einem der folgenden, dadurch gekennzeichnet, daß die Matrix (1) dreidimensional ist und die Zuordnung der Prozessoren (2) zu den beiden Gruppen für gleiche Punkte in benachbarten Matrixebenen abwechselnd ist.
11. Rechnersystem nach Anspruch 1 oder einem der folgenden, dadurch gekennzeichnet, daß jeder Prozessor (2) eine Speicherkapazität für die bei der Ausführung eines Rechenschrittes für mehrere Unbekannte erforderlichen Koeffizienten besitzt und nur für jeweils eine entsprechende konstante Anzahl von Unbekannten ein Prozessor (2) vorgesehen ist.
DE19752503087 1975-01-25 1975-01-25 Netzwerk-Rechnersystem Expired DE2503087C3 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19752503087 DE2503087C3 (de) 1975-01-25 1975-01-25 Netzwerk-Rechnersystem
US05/649,556 US4065808A (en) 1975-01-25 1976-01-15 Network computer system
GB2483/76A GB1537504A (en) 1975-01-25 1976-01-22 Network computer system
FR7601841A FR2298831A1 (fr) 1975-01-25 1976-01-23 Systeme a reseau de calculateurs
JP51006388A JPS5819098B2 (ja) 1975-01-25 1976-01-24 電子計算機方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19752503087 DE2503087C3 (de) 1975-01-25 1975-01-25 Netzwerk-Rechnersystem

Publications (3)

Publication Number Publication Date
DE2503087A1 DE2503087A1 (de) 1976-07-29
DE2503087B2 DE2503087B2 (de) 1979-05-23
DE2503087C3 true DE2503087C3 (de) 1980-02-07

Family

ID=5937326

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752503087 Expired DE2503087C3 (de) 1975-01-25 1975-01-25 Netzwerk-Rechnersystem

Country Status (1)

Country Link
DE (1) DE2503087C3 (de)

Also Published As

Publication number Publication date
DE2503087B2 (de) 1979-05-23
DE2503087A1 (de) 1976-07-29

Similar Documents

Publication Publication Date Title
DE2819571C2 (de)
DE2540975C2 (de) Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2712224A1 (de) Datenverarbeitungsanlage
CH620542A5 (de)
DE2360505A1 (de) Datenverarbeitungsanlage mit einer anordnung zur uebertragung von daten zwischen zwei funktionseinheiten
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE1914560C3 (de) Schaltungsanordnung zur Verschiebung eines Datenwortes innerhalb eines Rechenelementen-Feldes
DE3727017C2 (de)
DE3782540T2 (de) Zeichenmusterumsetzschaltung.
DE2353635A1 (de) Datenverarbeitungssystem und verfahren zur datenverarbeitung
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE3545937A1 (de) Mikroprozessor
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE1574877B1 (de) Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen
DE2461651B2 (de) Zählvorrichtung zum Zählen von Mustern
DE2503087C3 (de) Netzwerk-Rechnersystem
DE1916377C3 (de)
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE2017879C3 (de) Speicheranordnung mit freiem Zugriff
DE2426253B2 (de) Vorrichtung zum ziehen der quadratwurzel aus einer binaeren zahl

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee