DE68925263T2 - Verfahren zur Ausführung eines kombinierten Schalters zur Unterstützung von Parallelverarbeitung - Google Patents
Verfahren zur Ausführung eines kombinierten Schalters zur Unterstützung von ParallelverarbeitungInfo
- Publication number
- DE68925263T2 DE68925263T2 DE68925263T DE68925263T DE68925263T2 DE 68925263 T2 DE68925263 T2 DE 68925263T2 DE 68925263 T DE68925263 T DE 68925263T DE 68925263 T DE68925263 T DE 68925263T DE 68925263 T2 DE68925263 T2 DE 68925263T2
- Authority
- DE
- Germany
- Prior art keywords
- processors
- ring
- message
- shared
- variable
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000012545 processing Methods 0.000 title claims description 17
- 230000004087 circulation Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000006399 behavior Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
Description
- Die vorliegende Erfindung befaßt sich mit einem Verfahren zum Ausführen kombinierter Schalter, die dafür verwendet werden, Parallelverarbeitung gemäß der Einleitung von Anspruch 1 zu unterstützen, und auf einen kombinierten Schalter gemäß der Einleitung von Anspruch 6.
- Gottlieb et al. beschreiben in einem im Februar 1983 in den IEEE Transactions on Computers (Bd. C-32, Nr. 2) veröffentlichen Artikel mit dem Titel "The NYU Ultracomputer - Designing an MIMD Shared Memory Parallel Computer" den Einsatz eines mehrstufigen Schaltnetzwerkes als kombinierten Schalter.
- Der in dem Artikel von Gottlieb et al. beschriebene Rechner realisiert eine Abruf- und Addieranweisung. Die Wirkung dieser Anweisung besteht, wenn sie gleichzeitig von N Prozessoren ausgeführt wird, die eine einzelne gemeinsam genutzte Variable zu aktualisieren versuchen, darin, die Aktualisierungsinformation in dem Schaltnetzwerk so zu kombinieren, daß nur ein einziger Zugriff zum physischen Speicher notwendig ist, um die N Aktualisierungen zu bewirken. Eine zweite Wirkung der Anweisung besteht darin, daß an jeden der N Prozessoren ein Ergebnis zurückgeschickt wird, das bei einigen seriellen Ordnungsvorgängen der Aktualisierungen zu beachten wäre. Daher simuliert der kombinierte Schalter das serielle Aktualisieren der gemeinsam genutzten Variablen, obwohl er tatsächlich die Aktualisierung auf parallele Weise durchführt. Die Speicherzugriffsgeschwindigkeit wird im Hinblick auf die mögliche Spitzenzugriffsgeschwindigkeit stark vermindert, und die Prozessoren können ihre Aktionen im erforderlichen Fall synchronisieren und serialisieren, dennoch wird die für den Ablauf erforderliche Zeit meist logarithmisch mit N ansteigen.
- Der kombinierte Schalter von Gottlieb ist in sich komplex und kostenaufwendig, indem sein grundsätzlicher Einsatz bei der Unterstützung einer großen Anzahl (Hunderten oder sogar Tausenden) von Verarbeitungsknoten erfolgt. Viele Anwendungen, wie etwa lokale Datennetze, erfordern die Unterstützung von viel weniger (beispielsweise gewöhnlich weniger als fünfzig) Verarbeitungsknoten.
- Allgemein bekannte ringförmige Netzwerke, wie etwa das im IEEE- Standard 802.5 beschriebene Zeichenfolgenetzwerk, wären für solche Anwendungen besser geeignet; die Verwendung von ringförmigen Netzwerken sowohl als kombinierter Schalter als auch als Mittel zur Durchführung von Prozessorensynchronisation ist jedoch bisher unbekannt.
- Das Konzept der "Summenmodifizierung", wenn sie einen Zeichenfolgering durchlaufen, wird in einem Artikel von Livny et al. beschrieben, der von IEEE in den Proceedings of the 1985 International Conference on Parallel Processing mit dem Titel " Shift Arithmetic On A Token Ring Network" veröffentlicht wurde. Livny et al. lehren weder, daß ein Zeichenfolgering zur Synchronisation benutzt werden kann, noch deutet der Stand der Technik im allgemeinen an, daß eine Abruf- und Addieranweisung im Zusammenhang mit einem Ring zum Zwecke der Prozessorsynchronisation auszuführen wäre. Üblicherweise wird die Synchronisation in einem Ring durch andere Mittel bewerkstelligt, wie etwa das Durchlaufen von Zeichenfolgen.
- Pfister et al. geben in einem von der IEEE in den Proceedings of the 1985 International Conference on Parallel Processing veröffentlichten Artikel mit dem Titel "The IBM Research Parallel Processor Prototype (RP3); Introduction and Architecture" und der Neches erteilten US-Patentschrift 4 543 630 vom 24. September 1985 weiterhin beispielsweise den Stand der Technik bei Schaltern an, die eine Kombinierfunktion ausführen.
- Der von Pfister erläuterte kombinierte Schalter ist eine Realisierung des Rechners von Gottlieb et al. Er ist ebenfalls komplex und wieder aüf die Behandlung einer großen Anzahl von Verarbeitungsknoten gerichtet.
- Das Patent von Neches beschreibt ein Baumnetzwerk, das dazu verwendet werden kann, mehrere Prozessoren zu synchronisieren, und das über das Netzwerk parallel einige Datenbankoperationen durchführen kann, wie etwa JOIN. Wenn jedoch die Synchronisation gemäß den Erkenntnissen von Neches durchgeführt worden ist, erzwingt der Synchronisationsbetrieb den seriellen Betrieb der Prozessoren, wohingegen dann, wenn die Synchronisation mit Abruf-und-Addition und einem kombinierten Schalter gemäß den Lehren von Gottlieb et al. durchgeführt wird, die Synchronisation es zuläßt, daß die Prozessoren anders als nach den Erkenntnissen von Neches unmittelbar mit paralleler Ausführung fortfahren.
- Demgemäß wäre es wünschenswert, in der Lage zu sein, die Synchronisierfunktion unter Verwendung eines kombinierten Schalters durchzuführen, der keinen seriellen Prozessorbetrieb vorschreibt, d.h. der Schalter sollte während des Ablaufes der Synchronisation parallele Verarbeitung gewährleisten. Weiterhin wäre es wünschenswert, wenn ein derartiger Schalter leichter zu realisieren wäre als komplexe kombinierte Schalter, wie etwa solche, die von Gottlieb et al. und von Pfister et al. beschneben worden sind. Niedrigere Kosten, höhere Zuverlässigkeit und Minimierung der erforderlichen Speicherzugriffe wären weitere wünschenswerte Eigenschaften und Nebenprodukte eines derartigen Schalters.
- Es ist daher Aufgabe der Erfindung, einen kombinierten Schalter zur Verfügung zu stellen, der die Speicherzugriffe vermindert, parallele Prozessoren synchronisiert, leicht auszuführen ist und den Einsatz komplexer Kombinierschaltertechnik zum Erreichen des grundlegenden Zieles der Erfindung vermeidet, insbesondere wenn die Anzahl der Verarbeitungsknoten im Schalter relativ klein ist (weniger als 50 Knoten).
- Die Lösung dieser Aufgabe wird im Kennzeichnungsteil des Anspruches 1 beschrieben.
- Erfindungsgemäß werden die vorerwähnten Ziele dadurch erreicht, indem eine Vielzahl von parallelen Verarbeitungsknoten in einer ringförmigen Anordnung konfiguriert werden, um als kombinierter Schalter zu dienen, und indem eine Synchronisieranweisung für den Schalter dadurch realisiert wird, daß parallele Verarbeitung ermöglicht und nicht verhindert wird. Gemäß der bevorzugten Ausführungsform der Erfindung ist der Ring ein Zeichenfolgering, und die Synchronisieranweisung ist eine Abruf- und Addieranweisung.
- Die Erfindung weist Verfahren und eine Vorrichtung auf, die sowohl mit niedrigen Kosten verbunden als auch einfach zu realisieren sind, verglichen mit den komplexen kombinierten Schaltern, wie sie durch den Stand der Technik gelehrt und durch Gottlieb et al. und Pfister et al. verkörpert werden.
- Wenn im Zeichenfolgering unter Einsatz der Abruf-und Addieranweisung synchronisiert wird, wird parallele Verarbeitung ermöglicht, wodurch sich die Erfindung von der von Livny et al. und Neches gelehrten Technik unterscheidet.
- Diese und weitere Aufgaben und Eigenschaften wird der Fachmann bei Durchsicht der ausführlichen Beschreibung erkennen, wie sie nachstehend im.Zusammenhang mit den Zeichnungen vorgestellt wird.
- Fig. 1 beschreibt ein Computernetzwerk / einen kombinierten Schalter, die gemäß den Erkenntnissen der Erfindung als Ring konfiguriert sind.
- Fig. 2 ist ein Flußdiagramm, welches das Verhalten der Netzwerkschnittstelle für jeden Prozessorknoten des in Fig. 1 gezeigten Computernetzwerkes darstellt, wobei jeder Knoten die Ausführung einer Abruf- und Addieranweisung auf dem Ring unterstützt.
- Fig. 3 ist eine Fortsetzung von Fig. 2, die insbesondere das Knotenverhalten für Prozessoren erläutert, die aktiv sind.
- Fig. 4 ist ein Flußdiagramm, welches das Senderknotenverhalten für Nachrichten beschreibt, von denen festgestellt wird, daß sie sich in einem "INITIAL"-Status befinden.
- Fig. 5 ist ein Flußdiagramm, das ein Verfahren zum Durchführen der Aktualisierung eines gemeinsam genutzten Speicherbereiches beschreibt.
- Fig. 6 ist ein Flußdiagramm, welches das Verhalten eines gemeinsam genutzten Speicherknotens bei einer "AKTUALISIERUNGS"-Nachricht gemäß den Erkenntnissen einer Ausführungsform der Erfindung beschreibt.
- Fig. 7 ist ein Flußdiagramm, welches das Senderverhalten für Nachrichten in einem Status "AKTUALISIERUNG ERLEDIGT" erläutert.
- Fig. 8 beschreibt ein Beispiel eines Ringes mit 3 Verarbeitungsknoten und einem Speicherknoten zusammen mit einer zeitorientierten Tabelle, die anzeigt, wie sich gemäß den Erkenntnissen der Erfindung die Zustände der verschiedenen Prozessoren, Operandenwerte und Werte von gemeinsam genutzten Variablen über der Zeit verändern.
- Das Folgende ist eine Beschreibung eines kombinierten Schalters, in dem die Prozessoren in einer ringförmigen Konfiguration angeordnet sind und in dem weiterhin die Abruf- und Addieranweisung zur Synchronisation realisiert ist.
- Obwohl sie den Fachleuten allgemein bekannt sind, werden hier unmittelbar nachstehend die Eigenschaften der Abruf- und Addieranweisung, wie sie gemäß der bevorzugten Ausführungsform der Erfindung realisiert wurden, zum Zwecke der Vollständigkeit vorgestellt.
- Die Abruf- und Addieranweisung hat die folgenden Eigenschaften:
- 1. Abrufen-und-Addieren hat zwei Operanden - eine Adresse und ein Inkrement. Sind keine gleichzeitig ablaufenden Vorgänge vorhanden, wenn ein Prozessor die Anweisung mit einer Adresse A und einem Inkrement I heräusgibt, wird nach Abschluß der Anweisung das Feld an der Adresse A um den Wert I inkrementiert, und der Wert des Feldes an der Adresse A unmittelbar vor dem Inkrement wird an den Prozessor zurückgeschickt.
- 2. Wenn zwei oder mehr Prozessoren gleichzeitig Abruf- und Addieranweisungen an die gleiche Adresse A herausgeben, wird das Feld in A aktualisiert, aber nur einmal für alle Anforderungen, und es empfängt die Summe der Inkremente. Die an die Prozessoren zurückgeschickten Werte bestehen aus einer Gruppe von Werten, die dann empfangen worden wären, wenn eine beliebige serielle Ausführung der Abruf- und Addieranweisungen stattgefunden hätte.
- Ein Modell eines Computernetzwerkes, das die Erfindung unterstützt, ist eine ringförmige Verbindung, wie sie in Fig. 1 gezeigt wird. Jeder Prozessor 10 ist über zwei einseitig gerichtete Verbindungselemente an eine ringförmige Verbindung angeschlossen. Ein Verbindungselement ist eine Eingabeverbindung von einem vorhergehenden Prozessor, und die andere ist eine Ausgabeverbindung zu einem nachfolgenden Prozessor. Nachrichten zirkulieren rund um die Ringleitung und werden von einem Ringleitungsprotokoll gesteuert.
- Innerhalb des Standes der Technik existieren viele Möglichkeiten für ein derartiges Protokoll. Wie hier vorstehend angegeben, beschreibt der IEEE-Standard 802.5 eine Ausführung, die als Zeichenfolgering bekannt ist. Zum Zwecke der Erläuterung wird ein Zeichenfolgering der Zusammenhang sein, in dem die Erfindung beschrieben wird.
- An jedem Knoten des in Fig. 1 dargestellten Ringes existiert eine Netzwerkschnittstelle. An der Netzwerkschnittstelle wird jede ankommende Nachricht geprüft und um einen geringen Betrag verzögert am Ausgabeanschluß wiederholt. Auf diese Weise zirkulieren Nachrichten rund um den Ring von Prozessor zu Prozessor.
- Es wird hier nachstehend angenommen, daß ein Senderknoten die Fähigkeit hat, den Ring zu unterbrechen, so daß Nachrichten, die ihren Ursprung im Sender haben, rund um den Ring zirkulieren und angehalten werden können, wenn sie schließlich den Sender erreichen, um den ständigen Durchlauf von Nachrichten zu verhindern. Diese Fähigkeit ist im IEEE-Standard 802.5 und in anderen Protokollen enthalten, die nach Stand der Technik existieren.
- Gemäß der bevorzugten Ausführungsform der Erfindung gibt der Sender zur Durchführung einer Abruf- und Addieranweisung eine Nachricht heraus, welche die folgende Information enthält:
- 1. Den Nachrichtentyp (in diesem Falle auf "Abruf-und- Addieren" eingestellt)
- 2. Den Status der Nachricht, der unmittelbar vor der ursprünglichen Absendung der Nachricht auf "INITIAL" eingestellt wird.
- 3. Die Adresse der zu aktualisierenden Variablen.
- 4. Das Inkrement für die Aktualisierung.
- Wenn die Nachricht den Ring durchläuft, fügt jeder Prozessor, der diese gemeinsam genutzte Variable aktualisieren möchte, sein Inkrement zum Inkrement in der Nachricht hinzu. Wenn die Nachricht den gemeinsam genutzten Speicher erreicht (angenommen, daß alle Prozessoren, welche die gemeinsam genutzte Variable inkrementieren möchten, die Gelegenheit hatten, ihre Inkremente der zirkulierenden Nachricht hinzuzufügen), reagiert der Speicher dahingehend, daß er die aktuellen Inhalte der gemeinsam genutzten Variablen liest, das Inkrement in der Nachricht durch den Wert der gemeinsam genutzten Variablen ersetzt und die gemeinsam genutzte Variable mit der Summe der gesammelten Inkremente (bei einem Abruf- und Addiervorgang) aktualisiert. Der Wert- der gemeinsam genutzten Variablen (bevor sie aktualisiert worden ist) zirkuliert auf dem Ring vom Speicher zum Absender der ursprünglichen Nachricht. Der Absender sendet dann eine neue Nachricht rund um den Ring (eine, die den Wert der gemeinsam genutzten Variablen vor der Aktualisierung enthält).
- Wenn jeder Prozessor die neue Nachricht erhält, fügt er sein Inkrement zum Inkrement in der Nachricht hinzu und übergibt den Wert an den nächsten Prozessor. Das Ergebnis der zweiten Aktivität besteht darin, daß jeder Prozessor einen Wert empfängt, der zu beobachten gewesen wäre, wenn der Speicher N mal aktualisiert worden wäre und nicht nur einmal.
- Es wird angenommen, daß die Netzwerkschnittstelle zwischen Eingabe und Ausgabe eine Verzögerung von 1 Bit einführt. Das Verhalten der Netzwerkschnittstelle jedes Prozessors während der Anfangsphase der Nachrichtenübertragung wird in Fig. 2 beschrieben. Jeder Knoten reagiert während dieser Phase wie folgt:
- 1. Wenn der Knoten einen Abruf- und Addiervorgang anstehen hat (Entscheidungblock 100), wird er am Logikblock 130 aktiviert, und andernfalls wird er am Logikblock 110 deaktiviert. Sobald er deaktiviert wurde, geht der Knoten weiter zum Logikblock 120, wo er den Rest der Nachricht ignoriert, obwohl er die Sendung wiederholt.
- 2. Während der Knoten beim Logikblock 130 aktiv ist, beobachtet der Knoten gegebenenfalls das Adressenfeld der Nachricht. Beim Logikblock 140 vergleicht der Knoten die Adresse in der Nachricht mit der Adresse für seinen anstehenden Abruf- und Addiervorgang. Wenn die beiden Adressen übereinstimmen, bleibt der Knoten beim Logikblock 150 aktiv, und andernfalls wird der Knoten beim Logikblock 110 deaktiviert, und am Logikblock 120 ignoriert er den Rest der Nachricht, obwohl er die Sehdung wiederholt.
- 3. Am Logikblock 150 prüft der Knoten den Status der ankommenden Nachricht. Wenn der Status der Nachricht "INITIAL" ist, wird das Knotenverhalten an den Logikblöcken 500 und 510 in Fig. 3 beschrieben. Mit Bezug auf Fig. 3 ist zu erkennen, daß der Prozessor am Knoten sein Inkrement zum ankommenden Inkrement (Block 500) hinzufügt und das Ergebnis auf den Ausgabeanschluß (Block 510) legt. Dies kann synchron mit der Nachrichtensendung erfolgen, falls die Eingabewerte in binär codierter Form erscheinen, Bit mit der geringsten Wertigkeit zuerst. Der Prozessor führt in bitserieller Weise binäre Addition durch, indem er für jedes Eingabebit ein Ausgabebit erzeugt.
- 4. Falls in Fig. 2 ein aktiver Knoten eine Nachricht entdeckt, die sich nicht im Anfangsstatus befindet, stellt er in Block 160 fest, ob der Status "FINAL" oder ein beliebiger anderer Status ist. Die unter diesen Bedingungen ablaufenden Aktionen erfolgen bei den Nachrichtenzirkulationen nach der ersten Zirkulation und werden hier nachstehend beschrieben.
- Da die Nachricht aufeinanderfolgende Knoten durchläuft, kommt sie eventuell an den Knoten, der die gemeinsam genutzte Variable vorhält, und die Nachricht kann diesen Knoten mit der gemeinsam genutzten Variablen erreichen, ehe alle Prozessoren auf dem Ring die Gelegenheit hatten, ihre Inkremente dem Inkrement der Abrufund Addieranweisung hinzuzufügen. Es wird angenommen, daß der Speicher in einer Zeit von einem Bit nicht auf die Abruf- und Addieranweisung ansprechen kann.
- Es gibt mehrere alternative Wege, wie sich das System verhalten kann, vorausgesetzt, daß die Abruf- und Addieranweisung ihren Vorgang nicht in einem einzigen Zyklus beenden kann. Das Folgende, das nur im Sinne einer Veranschaulichung dargestellt wird, ist eine Beschreibung einer derartigen Verfahrensweise.
- Der Prozessor mit der gemeinsam genutzten Variablen startet einen Zugriff auf die gemeinsam genutzte Variable, wenn er erkennt, daß die Adresse in der Nachricht mit der Adresse der gemeinsam genutzten Variablen übereinstimmt. Die Nachricht auf dem Ring kann an diesem Punkt wahlweise modifiziert werden, um anzuzeigen, daß ein Zugriff gestartet worden ist, falls das System diese Information zu anderen Zwecken anfordert, oder um einen zuverlässigen Betrieb sicherzustellen.
- Am Ende eines vollen Zyklus der Nachricht kommt sie am Sender an. Wenn der Sender den Empfang der Nachricht erkennt, verarbeitet er die Nachricht wie in Fig. 4 beschrieben. Die Aktivität, die beim Logikblock 200 beginnt, ist wie folgt:
- 1. Am Logikblock 210 Verändern des Status der Nachricht von "INITIAL" zu "AKTUALISIEREN" (falls die ankommende Nachricht nicht "INITIAL" ist, wie es durch Logikblock 200 festgestellt wird, wird sich der Sender gemäß der Beschreibung verhalten, wie sie nachstehend mit Bezug auf Fig. 7 erläutert wird).
- Am Logikblock 220 wiederholt der Sender die Nachricht auf der Verbindung, so daß die Nachricht eine zweite Runde im Netzwerk beginnt.
- Nachrichtenwiederholung erfolgt mit einem einzigen Bit Verzögerung.
- Wenn diese Nachricht den Prozessor mit dem gemeinsam genutzten Speicher erreicht, erledigt der Prozessor dort das Folgende, wie es durch Fig. 5 beschrieben wird.
- 1. Im Logikblock 300 entfernt er das Inkrementfeld I der Nachricht.
- 2. Im Logikblock 310 ersetzt er das Inkrementfeld durch den früheren Speicherinhalt. Dadurch wird die Abruf- und Addieranweisung in die Lage versetzt, den Wert der gemeinsam genutzten Variablen zurückzumelden, ehe er geändert wird.
- 3. Am Logikblock 320 fügt der Prozessor das Inkrement I aus der Nachricht dem früheren Speicherinhalt hinzu, um einen neuen Wert der gemeinsam genutzten Variablen zu erhalten, und speichert diesem Wert im Speicher.
- Der Ersatz des alten Inkrementes durch das neue Inkrement erfolgt gemäß einer Ausführungsform der Erfindung bitweise so, wie die Bits durch den Empfänger / Sender an einem gegebenen Knoten durchlaufen. Wenn es eine Möglichkeit gibt, daß der Speicherzugriff während der Zeit nicht abgeschlossen worden ist, in der die "AKTUALISIEREN"-Nachricht den gemeinsam genutzten Speicherknoten erreicht, sollte Vorkehrung getroffen werden, daß mehrfache Durchläufe erfolgen, damit die Verbindung aufrechterhalten wird, bis der Zugriff abgeschlossen ist. Ein geeigneter Weg, daß dies erfolgt, wird in Fig. 6 erläutert. Am Logikblock 600 startet der gemeinsam genutzte Speicherknoten die Aktualisierung der gemeinsam genutzten Variablen. Bis die Aktualisierung abgeschlossen ist, verbleibt der Knoten in einem Status, in dem Nachrichten auf dem Ring ohne Veränderung wiederholt werden. Dies wird im Logikblock 610 gezeigt. Der gemeinsam genutzte Speicherknoten schließt im Logikblock 620 die Aktualisierung der gemeinsam genutzten Variablen ab. Am Logikblock 630 erkennt er die ankommende Nachricht, die mit einem Status "AKTUALISIEREN" eintrifft. Am Logikblock 640 verändert der Knoten den Nachrichtenstatus in "AKTUALISIERUNG ERLEDIGT". Der Ring fährt fort, eine "AKTUALISIEREN"-Nachricht rundzuschicken, bis sie abgeschlossen ist oder bis die Nachricht durch Überschreiben angehalten wird, weil sie zu lange zirkuliert ist.
- Wenn die Nachricht "AKTUALISIERUNG ERLEDIGT" den Sender erreicht, kann der Sender die Nachricht so verarbeiten, wie es durch die Logik in Fig. 7 dargestellt wird. Logikblock 700 prüft, um zu sehen, ob der Status "AKTUALISIERUNG ERLEDIGT" ist. Wenn dies nicht der Fall ist, wiederholt der Sender bei Logikblock 710 die Nachricht und ist andernfalls passiv. Wenn Logikblock 700 den Status "AKTUALISIERUNG ERLEDIGT" erkennt, verhält sich der Sender wie folgt:
- 1. Bei Logikblock 720 Verändern des Status in "FINAL".
- 2. Bei Logikblock 730 Hinzufügen seines lokalen Inkrementes zum Inkrement in der Nachricht.
- 3. Bei Logikblock 740 Ersetzen der Nachricht auf der Verbindung durch das neue Inkrement.
- Das alte Inkrement wird beobachtet und gespeichert, wenn es bitweise ankommt. Wie früher beschrieben, erfolgt bitserielle Addition.
- Alle anderen aktiven Prozessoren reagieren auf eine Nachricht im "FINAL"-Status wie in Fig. 3 gezeigt, beginnend bei Logikblock 520.
- 1. Bei Logikblock 520 das Nachrichteninkrement beobachten und speichern.
- 2. Bei Logikblock 530 lokales Inkrement dem Nachrichteninkrement hinzufügen.
- 3. Bei Logikblock 540 die erzeugte Summe an das Netzwerk ausgeben, und
- 4. Bei Logikblock 550 den internen Status des Knotens in "INAKTIV" ändern.
- Während des "FINAL"-Status erfordert die Nachricht eine Schleifeniteration, und sie kehrt zum Sender zurück, der die Schleife unterbricht und weitere Nachrichtenzirkulation verhindert. Der Sender folgt dann hinsichtlich des Auslösens eines neuen Sendevorganges dem Ringleitungsprotokoll.
- Da aktive Prozessoren Nachrichten in anderen Zuständen als "INITIAL" oder "FINAL" beobachten können, zeigen Logikblöcke 560 der Fig. 3 an, daß bei derartigen Verfahren ein aktiver Prozessor die Nachricht auf dem Ring einfach wiederholt. Inaktive Prozessoren wiederholen Nachrichten immer.
- Bei der hier vorstehend beschriebenen Realisierung zirkuliert die Nachricht mindestens dreimal. Der erste Durchlauf sammelt die Inkremente, der zweite Durchlauf erhält den früheren Wert der gemeinsam genutzten Variablen, und der dritte Durchlauf verteilt den früheren Wert der gemeinsam genutzten Variablen mit den hinzugefügten Inkrementen. Die Anzahl der Durchläufe kann auf eine kleinere Zahl vermindert werden, falls der Speicher auf die Anforderung schneller reagieren kann. Die Mindestanzahl der Durchläufe beträgt zwei, weil jeder aktive Prozessor Information an den Speicher senden muß und jeder aktive Prozessor Information vom Speicher empfangen muß. Ein aktiver Prozessor bedeutet, daß der unmittelbare Nachfolger des Speichers einen vollen Zyklus in Anspruch nimmt, um eine Nachricht an den Speicher zu senden, und ein aktiver Prozessor bedeutet, daß der unmittelbare Vorgänger des Speichers einen vollen Zyklus in Anspruch nimmt, um eine Nachricht vom Speicher zu empfangen. Eine Nachricht, die beide derartigen Prozessoren betrifft, nimmt daher zum Abschluß mindestens zwei volle Zyklen (weniger zwei Knoten) in Anspruch.
- Was beschrieben wurde, ist die Realisierung einer Abruf- und Addieranweisung in einem kombinierten Schalter, wobei der Schalter als Zeichenfolgering angeordnet ist. Der Fachmann kann leicht einschätzen, daß Speicherzugriffe zu gemeinsam genutzten Variablen minimiert werden und das die Abruf- und Addieranweisung dazu benutzt werden kann, die Prozessoren zu synchronisieren.
- Beispielsweise kann es wünschenswert sein, eine Gruppe von Prozessoren zu haben, von denen jeder mit der Fertigstellung einer Aufgabe befaßt ist, ihnen ein Haltemuster einzugeben und zu warten, bis ein "Grenzwert" überschritten wird, ehe sie auf synchrone Weise mit ihren Verarbeitungsaufgaben fortfahren. Wenn eine gemeinsam genutzte Grenzwert-Variable am Anfang auf null gesetzt würde, dann könnte die Abruf- und Addieranweisung einfach dazu verwendet werden, die gemeinsam genutzte Variable über Addition eines Inkrementes (angenommen 1) zu aktualisieren, wenn jeder Prozessor seine Anfangsaufgabe abgeschlossen hat, bis ein vorgegebener Schwellenwert erreicht wird. Die Gruppe von Prozessoren könnte dann von ihren Haltemuster befreit werden und auf synchrone Weise fortfahren.
- Abschließend faßt Fig. 8 die Arbeitsweise des hier beschriebenen kombinierten Schalters zusammen, indem ein spezielles Beispiel benutzt wird. Es werden drei Prozessoren gezeigt, 801, 802 und 803. Der gemeinsam genutzte Speicher 804 ist dargestellt, wie er bei 805 mit dem Ring verbunden ist. Der Speicher wird weiterhin so gezeigt, daß er einen Anfangswert von 4 hat.
- In Fig. 8 wird Prozessor 801 als Sender dargestellt. Es wird gezeigt, daß zum Zwecke der Erläuterung Inkremente von 2, 6 und 3 dem Wert der von den Prozessoren 801, 802 beziehungsweise 803 gemeinsam genutzten Variablen hinzugefügt werden.
- Unterhalb des Ringdiagramms in Fig. 8 befindet sich eine Tabelle, die zeitorientiert ist und die verschiedenen Zustände der 3 Prozessoren über der Zeit zusammen mit dem Operanden und dem Wert der gemeinsam genutzten Variablen über der Zeit zeigt. Es sollte angemerkt werden, daß der Ring in der Tat als ein kombinierter Schalter mit nur einem erforderlichen Speicherzugriff funktioniert.
- Die vorstehende Beschreibung einer bevorzugten Ausführungsform der neuartigen Verfahren und Vorrichtung zur Erledigung der Aufgabe der Erfindung ist zu Erläuterungs- und Beschreibungszwecken vorgestellt worden. Es besteht nicht die Absicht, dies erschöpfend getan zu haben oder die Erfindung auf die genaue beschriebene Form einzugrenzen, und augenscheinlich sind angesichts der obigen Erkenntnisse viele Modifikationen und Variationen möglich.
- Die Ausführungsform und hier erläuterten Beispiele wurden vorgestellt, um die Grundlagen der vorliegenden Erfindung und ihre praktische Anwendung am besten zu erklären, um damit andere Fachleute in die Lage zu versetzen, die vorliegende Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Variationen am besten zu nutzen, wenn sie für den speziellen betrachteten Einsatz geeignet sind.
Claims (10)
1. Verfahren zur Ausführung eines kombinierten Schalters (--
eigentlich eines Kombinierschalters, im Text wird aber
kombinierter Schalter verwendet---) für eine Vielzahl von
parallelen Prozessoren (10),
wobei das Verfahren die Schritte umfaßt:
- Konfigurieren der Vielzahl von parallelen Prozessoren
(10) in einem ringförmigen Netzwerk, indem jeder der
Vielzahl von Prozessoren (10) mit einem Vorgänger- und
einem Nachfolger-Prozessor verbunden wird; und
- in dem Netzwerk Ausführen einer
Synchronisieranweisung, welche die Vielzahl von Prozessoren (10) während
des Prozessorbetriebes synchronisiert, damit serieller
Prozessorbetrieb vermieden wird, indem die
Synchronisieranweisung von einem der Vielzahl von Prozessoren
(10) zum Umlauf zu den anderen Prozessoren in dem
ringförmigen Netzwerk abgesandt wird, wobei die
Synchronisieranweisung dahingehend arbeitet, daß eine
Vielzahl von gleichlaufenden Prozessoranforderungen
zum Aktualisieren einer gemeinsamen Variablen (SHARED
VARIABLE) serialisiert wird.
2. Verfahren, wie in Anspruch 1 ausgeführt, wobei
das ringförmige Netzwerk ein Zeichenfolgenetzwerk ist.
3. Verfahren, wie in Anspruch 1 oder 2 ausgeführt, wobei
die Synchronisieranweisung eine
Abhol-und-Hinzufüge-Anweisung ist.
4. Verfahren, wie es in einem der Ansprüche 1 bis 3 ausgeführt
ist, wobei der Schritt des Ausführens einer
Synchronsieranweisung weiterhin die Schritte umfaßt:
- Überwachen des Wertes der von der Vielzahl der
Prozessoren (10), die synchronisiert werden sollen,
gemeinsam genutzten Variablen (SHARED VARIABLE), um zu
bestimmen, wenn eine vorgegebene
Synchronisationsschwellenbedingung erreicht wird; und
- Aktualisieren der gemeinsamen Variablen (SHARED
VARIABLE) immer dann, wenn ein gegebener Prozessor aus der
Vielzahl der Prozessoren (10) eine vorgegebene Task
abschließt.
5. Verfahren zum Ausführen eines kombinierten Schalters, wie
er in einem der Ansprüche 1 bis 4 vorgestellt wird, für
eine Gruppe von n als ringförmiges Netzwerk konfigurierten
Prozessoren (801, 802, 803), damit Zugriffe zu einem
Speicher (804) vermindert werden, der eine Variable enthält
(SHARED VARIABLE), die von den n Prozessoren (801, 802,
803) gemeinsam genutzt wird, und damit die n Prozessoren
(801, 802, 803) synchronisiert werden,
wobei das Verfahren die Schritte umfaßt:
- innerhalb der Zeit, die das Durchlaufen einer von
einem der n Prozessoren (801, 802, 803) abgesandten
Nachricht rund um den Ring in Anspruch nimmt, Sammeln
und Kombinieren jedes mit einer auf dem Ring
ausgeführten Abhol-und-Hinzufüge-Anweisung verbundenen
Inkrements;
- Ermitteln und Verteilen des Wertes der Variablen
(SHARED VARIABLE) innerhalb der Zeit, die es in Anspruch
nimmt, eine zweite Nachricht, die einer ersten
Nachricht folgt, rund um den Ring durchlaufen zu lassen;
- Aktualisieren der Variablen (SHARED VARIABLE) mit dem
Ergebnis des Kombinierens der Inkremente (OPERAND);
und
- - innerhalb der Zeit, die das Durchlaufen einer dritten,
auf die zweite Nachricht folgenden Nachricht durch den
Ring in Anspruch nimmt, Verteilen des Wertes der
Variablen (SHARED VARIABLE) vor seiner Aktualisierung
mit dazu hinzugefügten Inkrementen (OPERAND), an jeden
der Prozessoren (801, 802, 803), die eine Abhol-und-
Hinzufüge-Anweisung ausführen, wodurch den Prozessoren
(801, 802, 803) jeweils ein Ergebnis zurückgeschickt
wird, das zu beobachten gewesen wäre, wenn ein
serielles Bestellen von Aktualisierungen der Variablen
(SHARED VARIABLE) erfolgt wäre.
6. Verfahren, wie in Anspruch 5 vorgestellt, wobei
der Schritt des Sammelns und Kombinierens innerhalb der
Zeit durchgeführt wird, die eine Nachricht dafür braucht,
einmal rund um den Ring durchzulaufen;
der Schritt des Ermittelns und Verteilens innerhalb weniger
Zeit durchgeführt wird, als eine Nachricht für das
einmalige Durchlaufen des Ringes braucht; und
der Schritt des Verteilens innerhalb der Zeit durchgeführt
wird, die eine Nachricht dafür braucht, einmal rund um den
Ring durchzulaufen.
7. Kombinierter Schalter zum Kombinieren von
Datenaktualisierungsvorgängen einer Vielzahl von parallelen Prozessoren
(801, 802, 803),
wobei der kombinierte Schalter umfaßt:
- die Vielzahl von parallelen Prozessoren (801, 802,
803), von denen jeder als Verarbeitungsknoten in einem
ringförmigen Netzwerk konfiguriert ist; und
- Synchronisiermittel, die jeden der Verarbeitungsknoten
umfassen, zum Synchronisieren der Vielzahl von
parallelen Prozessoren (801, 802, 803) in dem ringförmigen
Netzwerk, indem eine Synchronisieranweisung ausgeführt
wird und die Synchronisieranweisung von einem aus der
Vielzahl der Prozessoren (10) zum Durchlauf zu den
anderen Prozessoren in dem ringförmigen Netzwerk
abgesandt wird, wobei die Synchronisieranweisung so
arbeitet; daß sie eine Vielzahl von gleichlaufenden
Prozessoranforderungen zum Aktualisieren einer gemeinsamen
Variablen (SHARED VARIABLE) serialisiert.
8. Kombinierter Schalter, wie er in Anspruch 7 vorgestellt
wird, weiterhin umfassend
- mindestens ein Speicherelement (804), das mit dem Ring
(805) gekoppelt ist, um Variable (SHARED VARIABLE) zu
speichern, die von der Vielzahl von parallelen
Prozessoren (801, 802, 803) gemeinsam genutzt werden.
9. Kombinierter Schalter, wie er in Anspruch 7 vorgestellt
wird, wobei
das Synchronisiermittel weiterhin ein gemeinsam genutztes
Speicherelement (804) umfaßt, das in mindestens einem der
Verarbeitungsknoten vorgesehen ist, um Variable (SHARED
VARIABLE) zu speichern, die von der Vielzahl der parallelen
Prozessoren (801, 802, 803) gemeinsam genutzt werden.
10. Die Verwendung des Verfahrens, wie es in einem der
Ansprüche 1 bis 6 vorgestellt wird, in einem kombinierten
Schalter zum Kombinieren von Datenaktualisierungsvorgängen einer
Vielzahl von parallelen Prozessoren (10).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/266,424 US5163149A (en) | 1988-11-02 | 1988-11-02 | Combining switch for reducing accesses to memory and for synchronizing parallel processes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68925263D1 DE68925263D1 (de) | 1996-02-08 |
DE68925263T2 true DE68925263T2 (de) | 1996-07-11 |
Family
ID=23014537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68925263T Expired - Fee Related DE68925263T2 (de) | 1988-11-02 | 1989-07-07 | Verfahren zur Ausführung eines kombinierten Schalters zur Unterstützung von Parallelverarbeitung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5163149A (de) |
EP (1) | EP0366865B1 (de) |
JP (1) | JPH02137438A (de) |
DE (1) | DE68925263T2 (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2526691B2 (ja) * | 1990-03-02 | 1996-08-21 | 三菱電機株式会社 | プログラマブルコントロ―ラの制御方法 |
US6047112A (en) * | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
DE69229338T2 (de) * | 1992-06-30 | 1999-12-16 | Discovision Associates, Irvine | Datenpipelinesystem |
US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5519877A (en) * | 1993-01-12 | 1996-05-21 | Matsushita Electric Industrial Co., Ltd. | Apparatus for synchronizing parallel processing among a plurality of processors |
US5604863A (en) * | 1993-11-01 | 1997-02-18 | International Business Machines Corporation | Method for coordinating executing programs in a data processing system |
US5495589A (en) * | 1993-12-23 | 1996-02-27 | Unisys Corporation | Architecture for smart control of bi-directional transfer of data |
US5600822A (en) * | 1994-04-05 | 1997-02-04 | International Business Machines Corporation | Resource allocation synchronization in a parallel processing system |
US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
US6460120B1 (en) | 1999-08-27 | 2002-10-01 | International Business Machines Corporation | Network processor, memory organization and methods |
US6404752B1 (en) | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US7734868B2 (en) * | 2003-12-02 | 2010-06-08 | Nvidia Corporation | Universal RAID class driver |
JP4673299B2 (ja) * | 2004-04-28 | 2011-04-20 | 株式会社ターボデータラボラトリー | 情報処理方法及び情報処理システム |
GB202112936D0 (en) * | 2021-09-10 | 2021-10-27 | Graphcore Ltd | A network computer with external memory |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2934379A1 (de) * | 1979-08-24 | 1981-03-26 | Siemens AG, 1000 Berlin und 8000 München | Zeitlagenvielfach fuer ein zeitmultiplexsystem zur durchkopplung digitaler, insbesondere deltamodulierter, nachrichtensignale |
US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
US4404557A (en) * | 1982-03-05 | 1983-09-13 | Burroughs Corporation | Timed token ring with multiple priorities |
FR2527401A1 (fr) * | 1982-05-18 | 1983-11-25 | Philips Ind Commerciale | Procede et dispositif d'allocation deterministe explicite du jeton dans un reseau local distribue de transmission avec priorites |
US4495617A (en) * | 1982-09-09 | 1985-01-22 | A.B. Dick Company | Signal generation and synchronizing circuit for a decentralized ring network |
FR2533789B1 (fr) * | 1982-09-24 | 1987-10-23 | France Etat | Reseau local hybride de communication en modes circuit et paquet a boucle portant un multiplex temporel |
EP0109964B1 (de) * | 1982-11-26 | 1986-04-23 | International Business Machines Corporation | Synchronisierung in einem Nachrichtennetz aus miteinander verbundenen Ringen |
US4677614A (en) * | 1983-02-15 | 1987-06-30 | Emc Controls, Inc. | Data communication system and method and communication controller and method therefor, having a data/clock synchronizer and method |
JPS59188256A (ja) * | 1983-04-11 | 1984-10-25 | Hitachi Ltd | ル−プ伝送システムの伝送方法 |
US4530091A (en) * | 1983-07-08 | 1985-07-16 | At&T Bell Laboratories | Synchronization of real-time clocks in a packet switching system |
US4536876A (en) * | 1984-02-10 | 1985-08-20 | Prime Computer, Inc. | Self initializing phase locked loop ring communications system |
US4663748A (en) * | 1984-04-12 | 1987-05-05 | Unisearch Limited | Local area network |
US4709364A (en) * | 1984-07-25 | 1987-11-24 | Sumitomo Electric Industries, Ltd. | Network priority determining method |
US4704680A (en) * | 1984-08-15 | 1987-11-03 | Tektronix, Inc. | Address computation system for updating starting addresses of data arrays in an array processor within an instruction cycle |
CA1261021A (en) * | 1985-03-12 | 1989-09-26 | Harutada Ohya | Multiplex transmission system |
JPS61214694A (ja) * | 1985-03-18 | 1986-09-24 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | データ伝送のスイッチング装置 |
JP2642332B2 (ja) * | 1985-04-15 | 1997-08-20 | 株式会社日立製作所 | 優先レベル更新制御方法 |
US4754395A (en) * | 1985-05-06 | 1988-06-28 | Computer X, Inc. | Network interface module with minimized data paths |
GB2175774B (en) * | 1985-05-24 | 1988-09-01 | Stc Plc | Intelligence transmission system of the local area network type |
US4847754A (en) * | 1985-10-15 | 1989-07-11 | International Business Machines Corporation | Extended atomic operations |
US4747130A (en) * | 1985-12-17 | 1988-05-24 | American Telephone And Telegraph Company, At&T Bell Laboratories | Resource allocation in distributed control systems |
SE452231B (sv) * | 1986-03-07 | 1987-11-16 | Philips Norden Ab | Forfarande for synkronisering av klockor ingaende i ett lokalt netverk av busstyp |
US4746920A (en) * | 1986-03-28 | 1988-05-24 | Tandem Computers Incorporated | Method and apparatus for clock management |
GB8618424D0 (en) * | 1986-07-29 | 1986-09-03 | Leslie I M | Data rate channel for digital network |
KR920001576B1 (ko) * | 1987-09-09 | 1992-02-18 | 가부시끼가이샤 도시바 | 토큰패싱 버스 방식을 사용한 네트워크 시스템 |
US4833468A (en) * | 1987-10-14 | 1989-05-23 | Unisys Corporation | Layered network |
US4989131A (en) * | 1988-07-26 | 1991-01-29 | International Business Machines Corporation | Technique for parallel synchronization |
US4926446A (en) * | 1988-11-25 | 1990-05-15 | Alberta Telecommunications Research Centre | Method and apparatus for precision time distribution in telecommunication networks |
-
1988
- 1988-11-02 US US07/266,424 patent/US5163149A/en not_active Expired - Lifetime
-
1989
- 1989-07-07 DE DE68925263T patent/DE68925263T2/de not_active Expired - Fee Related
- 1989-07-07 EP EP89112407A patent/EP0366865B1/de not_active Expired - Lifetime
- 1989-08-19 JP JP1212136A patent/JPH02137438A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US5163149A (en) | 1992-11-10 |
EP0366865A3 (de) | 1992-06-10 |
EP0366865A2 (de) | 1990-05-09 |
EP0366865B1 (de) | 1995-12-27 |
DE68925263D1 (de) | 1996-02-08 |
JPH02137438A (ja) | 1990-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68925263T2 (de) | Verfahren zur Ausführung eines kombinierten Schalters zur Unterstützung von Parallelverarbeitung | |
DE69413104T2 (de) | Anordnung und Verfahren zur Überwachung von Tafeln von einfachen Netzverwaltungsprotokollen | |
DE69315378T2 (de) | Einen dynamischen Nachrichtenservice verwendendes objektorientiertes Softwaresystem, besonders für eine Kontroll-/Steuer-Vorrichtung für eine redundante Architektur | |
DE3787886T2 (de) | Parallelprozessor mit binärer baumstruktur. | |
DE3751205T2 (de) | Paralleles verarbeitungssystem und verfahren zu dessen anwendung. | |
DE69116953T2 (de) | Methode und Vorrichtung zur dynamischen Ermittlung und Wegfindung für nichtgleichförmigen Verkehr, in parallelen, gepufferten, mehrstufigen Verbindungsnetzwerken | |
DE3856015T2 (de) | Berechnungseinrichtung für Parallelprozessoren | |
DE69322549T2 (de) | Verteilte Transaktionsverarbeitung mit einem Zwei-Phasen-Bindungsprotokoll mit erwarteter Bindung ohne Aufzeichnungspflicht | |
DE60030397T2 (de) | Belastungsverteilung in einem Netzwerk | |
DE4023527C2 (de) | Brücke zur Netzwerkverbindung | |
DE69022709T2 (de) | Synchronisationsbefehl für Mehrprozessornetz. | |
EP0807883B1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen | |
DE3232675A1 (de) | Verfahren zur steuerung des datenzugriffs in einem rechner und daten-kontrollsystem zur durchfuehrung des verfahrens | |
CH627580A5 (de) | Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie. | |
DE69106384T2 (de) | Skalierbares parallel-vektorrechnersystem. | |
DE3631333A1 (de) | Anordnung zur programmierbaren signalverarbeitung in realzeit in mehreren aufloesungen | |
DE69630388T2 (de) | Speicherstruktur | |
DE2911677A1 (de) | Verfahren und schaltungsanordnung zum ueberwachen und verhindern von blockierungen in datenverarbeitungssystemen mit mehreren prozessoren | |
EP0461724A2 (de) | Multirechnersystem | |
DE2758151A1 (de) | Einrichtung zum sortieren von datensaetzen | |
DE69210466T2 (de) | Verfahren und Vorrichtung zur Verbindung von lokalen Netzwerken mit Weitbereichsnetzwerken | |
DE69905394T2 (de) | Datenverarbeitungs- und such-prozessor-schaltkreis | |
DE2165730A1 (de) | Rechensystem | |
DE3852204T2 (de) | Datenübertragungsvorrichtung und Datenübertragungsverfahren zur Anwendung in einer Datenverarbeitungsanordnung. | |
DE3115454A1 (de) | Mehrprozessorsystem mit gemeinsamem daten/adressbus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |