DE69431781T2 - Verfahren und System von Zwischenverbindungen zur Verwaltung von Meldungen in einem Prozessorennetzwerk mit paralleler Struktur - Google Patents

Verfahren und System von Zwischenverbindungen zur Verwaltung von Meldungen in einem Prozessorennetzwerk mit paralleler Struktur

Info

Publication number
DE69431781T2
DE69431781T2 DE69431781T DE69431781T DE69431781T2 DE 69431781 T2 DE69431781 T2 DE 69431781T2 DE 69431781 T DE69431781 T DE 69431781T DE 69431781 T DE69431781 T DE 69431781T DE 69431781 T2 DE69431781 T2 DE 69431781T2
Authority
DE
Germany
Prior art keywords
network
message
messages
processor
module
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
Application number
DE69431781T
Other languages
English (en)
Other versions
DE69431781D1 (de
Inventor
Thierry Collette
Hassane Essafi
Jean-Pierre Guerin
Jean-Francois Larue
Laurent Letellier
Jean Rebillat
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.)
Aerospatiale Matra
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Aerospatiale Matra
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 Commissariat a lEnergie Atomique CEA, Aerospatiale Matra filed Critical Commissariat a lEnergie Atomique CEA
Application granted granted Critical
Publication of DE69431781D1 publication Critical patent/DE69431781D1/de
Publication of DE69431781T2 publication Critical patent/DE69431781T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

    Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Verfahren zur Verwaltung der Zirkulation von Meldungen derselben Größe in einem elementarer Prozessoren Elementarprozessoren, die nach einer parallelen Struktur organisiert sind, zum Beispiel einer Struktur des Typs SIMD (Single Instruction Stream Multiple Data Stream). Sie betrifft außerdem ein Zwischenverbindungssystem, das die Anwendung dieses Verfahrens ermöglicht.
  • Die Anwendungen der Erfindung liegen auf dem Gebiet der Datenverarbeitung, insbesondere der Verarbeitung von Daten, die Bildelemente mittleren Niveaus betreffen, und der graphischen Erzeugung bzw. Bilderzeugung.
  • Stand der Technik
  • Unter den Systemen, die die Datenverarbeitung ermöglichen, sind diejenigen zahlreich, bei denen die Meldungen, die zwischen den verschiedenen Prozessoren eines selben Netzwerks übertragen werden, nicht kohärent sind. Oft, wenn ein Prozessor auf dem Netzwerk eine Meldung sendet, die mehrere Datenelemente umfasst, mischen sich diese Datenelemente bei ihrem Empfang durch den Empfänger-Prozessor der Meldung mit anderen Daten, die aus Meldungen stammen, die von anderen Prozessoren ausgesandt wurden. Der Empfänger muss dann die empfangenen Daten sortieren, um die Meldungen wieder herzustellen.
  • Es ist bekannt, sich bei der Benutzung von massiv parallelen Maschinen des Typs SIMD auf reguläre bzw. regelmäßige Austausche zwischen den Prozessoren zu stützen, um solche Datenvermischungen zu vermeiden.
  • Im Falle einer Bildverarbeitungs-Anwendung können diese massiv parallelen Maschinen des Typs SIMD bestimmte Bildverarbeitungsniveaus gewährleisten. Der Fachmann geht davon aus, dass die Bildverarbeitungen in drei Niveaus unterteilt werden können, nämlich:
  • - ein niedriges Niveau, das aus einer Verarbeitung eines aus Sensoren stammenden Bildes besteht, um daraus ein gefiltertes Bild anzuleiten;
  • - ein mittleres Niveau, darin bestehend, dem gefilterten Bild in der Folge der Verarbeitung durch eine Transformation der Daten von einem Ikonenformat in ein Symbolformat die Nutzsymbole zu entziehen;
  • - ein hohes Niveau, darin bestehend, diese Symbole zu verarbeiten, sie dann zu transformieren, um daraus die durchzuführenden Aktionen abzuleiten, wobei dieses Niveau die Intelligenz der Bildverarbeitung enthält, denn es enthält vor allem die Formerkennungs- Algorithmen und die Entscheidungsnahmen.
  • Die Verarbeitungen hohen Niveaus werden meist durch Multiprozessorsysteme des Typs MIMD (Multiple Instruction Stream Multiple Data Stream) durchgeführt, das heißt komplexen Strukturen, die eine Parallelität sowohl der Meldungen wie der Daten ermöglichen.
  • Die Niedrig-Niveau-Verarbeitungen werden im Allgemeinen durch Multiprozessorsysteme des Typs SIMD gewährleistet, das heißt durch Systeme, bei denen die Prozessoren gleichzeitig eine selbe Operation mit unterschiedlichen Daten ausführen.
  • Die Verarbeitungen mittleren Niveaus können auch durch ein Multiprozessorsystem SIMD durchgeführt werden. Ein solches Multiprozessorensystem ist mit einem Kommunikationsnetz oder Zwischenverbindungssystem verbunden, das zahlreiche Typen von Austauschen zwischen den verschiedenen Prozessoren des Systems gewährleistet. Es gewährleistet insbesondere die Zwischenverbindung jedes Prozessors mit egal welchem anderen Prozessor, die Kommunikation eines Prozessors mit allen anderen Prozessoren und die Kommunikation aller Prozessoren mit einem einzigen Prozessor. Es gewährleistet also eine Verteilung der Daten, die ermöglicht, die verfügbaren Ressourcen effizient zu verwalten, nämlich die elementaren Prozessoren des Systems. Bei der Bildverarbeitung mittleren Niveaus kann jeder Prozessor einem Pixel eines Bilds zugeordnet sein, oder einer Gruppe von Pixeln, und dank der Zwischenverbindungen des Systems Zugriff auf die benachbarten Pixel haben. Nach diesem System sind die Prozessoren zu einer parallelen Struktur verbunden: alle Prozessoren, die verarbeiten möchten, führen gleichzeitig die gleiche Verarbeitung durch. Ein solches Zwischenverbindungssystem wird in der französischen Patentanmeldung beschrieben, die unter der Nummer FR-2680026 veröffentlicht wurde.
  • Diese massiv parallelen Systeme werden im Allgemeinen als Netzwerke mit quadratischen, rechteckigen oder sechseckigen Maschen ausgeführt, oder auch als Netzwerke überdimensionaler Würfel, wobei nur diese Netzwerk-Klassen ermöglichen, über ein ausreichend einfaches elektronisches System zu verfügen, um Architekturen mit einem hohen Parallelitätsgrad zu realisieren. Jedoch sind bei solchen Netzwerken die Interprozessorenverbindungen statisch und ermöglichen kaum irreguläre bzw. unregelmäßige Kommunikationen zwischen den Prozessoren aufgrund des Synchronismus ihrer Funktionsweise.
  • Auch wird, um eine einfache Verwaltung dieses Zwischenverbindungssystems beizubehalten, die Effizienz des Netzwerks oft zugunsten der Kohärenz der Daten geopfert.
  • Darstellung der Erfindung
  • Die vorliegende Erfindung hat die Aufgabe, diesen Nachteil zu beseitigen. Zu diesem Zweck empfiehlt sie ein Verfahren zur Verwaltung der Priorität beim Zugriff auf das Netzwerk und ein Zwischenverbindungssystem zur Anwendung dieser Prioritätsverwaltung beim Senden.
  • Noch genauer betrifft die vorliegende Erfindung ein Verfahren zur Verwaltung der Meldungen, die in einem ringförmigen Netzwerk aus elementaren Prozessoren zirkulieren, die nach einer parallelen Struktur organisiert sind und fähig sind, zyklisch Meldungen derselben Größe zu verarbeiten, wobei jeder der Prozessoren durch einen Zwischenverbindungsmodul an das Netzwerk angeschlossen ist. Dabei ist dieses Verfahren dadurch gekennzeichnet, dass durch Zirkulation von Zugriffsrechten bzw. Token in dem Netzwerk eine Steuerung der Prioritäten der Zwischenverbindungsmodule für das Senden und für das Empfangen der Meldungen realisiert wird, und dadurch, dass eine Größe der in dem Netzwerk zu sendenden Meldungen vor der ersten Sendung spezifiziert wird, wobei das genannte Verfahren darin besteht:
  • - dass, wenn ein Zwischenverbindungsmodul ein Zugriffsrecht bzw. Token erhält, dieser Zwischenverbindungsmodul ein erstes Datenelement der in dem Netzwerk zirkulierenden Meldung empfängt, wenn diese Meldung für den Elementarprozessor bestimmt ist, mit dem er verbunden ist;
  • - dass der Zwischenverbindungsmodul prüft, ob er über einen ausreichenden Speicherplatz verfügt, um die Meldung ganz abzuspeichern:
  • -- wenn dieser Speicherplatz nicht ausreicht, sendet der Zwischenverbindungsmodul die Meldung in das Netzwerk zurück;
  • -- wenn dieser Speicherplatz ausreicht, speichert er das erste Datenelement der Meldung und dann alle nachfolgenden Daten, bis er ein Meldungsende delektiert;
  • - dass der Elementarprozessor, wenn er eine Meldung zu senden hat, überprüft, ob der Zwischenverbindungsmodul über einen ausreichenden Speicherplatz verfügt, um die zu sendende Meldung ganz zu speichern:
  • -- wenn wenigstens eine Meldung gespeichert worden ist, sendet der Zwischenverbindungsmodul in dem Netzwerk das erste Datenelement dieser Meldung und dann alle aufeinanderfolgenden Daten der Meldung;
  • -- wenn keine Meldung gespeichert worden ist, wartet der Zwischenverbindungsmodul auf den Empfang einer nachfolgenden Zugriffsberechtigung.
  • Vor der ersten Sendung von Meldungen in dem Netzwerk sendet jeder Elementarprozessor ein Token, wenn er folgende Gleichungen verifiziert:
  • (NPE modulo TMESS) = 0
  • und (N-NPE) ≥ TMESS,
  • mit NPE enthalten zwischen 0 und N-1 und
  • wo TMESS die Größe der zu sendenden Meldungen ist, NPE eine Nummer des Elementarprozessors in dem Netzwerk ist und N die Gesamtzahl der an das Netzwerk angeschlossenen Elementarprozessoren ist.
  • Die Erfindung betrifft außerdem ein Zwischenverbindungssystem zur Anwendung des obigen Verfahrens. Dieses System umfasst:
  • - eine Vielzahl von Elementarprozessoren, fähig asynchrone Verarbeitungen durchzuführen, organisiert gemäß einer parallelen Struktur und untereinander in synchroner Weise kommunizierend; und
  • - eine Vielzahl von Zwischenverbindungsmodulen, wobei jeder Zwischenverbindungsmodul einem Elementarprozessor zugeordnet ist, um die Verbindung dieses Elementarprozessors mit dem Netzwerk zu gewährleisten.
  • Es ist dadurch gekennzeichnet, dass jeder Zwischenverbindungsmodul umfasst:
  • - eine Zelle, verbunden mit den Zellen der benachbarten Prozessoren, die, wenn ein Token präsent ist, einerseits den Empfang des ersten Datenelements der in dem Netzwerk zirkulierenden Meldung und andererseits das Senden der Meldung, die der Prozessor in dem Netzwerk senden will, sicherstellt;
  • - einen Empfangsmodul, angeschlossen zwischen der Zelle und dem Elementarprozessor, der die Speicherung der ganzen durch die Zelle empfangenen und für den Elementarprozessor bestimmten Meldungen sicherstellt;
  • - einen Sendemodul, angeschlossen zwischen dem Elementarprozessor und der Zelle, der die Speicherung der ganzen Meldungen sicherstellt, die der Elementarprozessor auf dem Netzwerk senden will.
  • Vorteilhafterweise umfasst jeder Sendemodul einen Speicher, fähig jede der zu sendenden Meldungen zu speichern, und eine logische Schaltung, fähig festzustellen, ob der Speicher leer oder nicht leer, voll oder nicht voll ist.
  • Ebenso umfasst jeder Empfangsmodul einen Speicher, fähig jede der empfangenen Meldungen zu speichern, und eine logische Schaltung, fähig festzustellen, ob der Speicher voll oder nicht voll, leer oder nicht leer ist.
  • Nach einer Ausführungsart der Erfindung umfasst das Zwischenverbindungssystem einen zentralen Kontrollmodul, der durch eine Zelle mit dem Netzwerk verbunden ist und die Verwaltung der Ablaufsteuerung des Netzwerks sicherstellt.
  • Nach einer anderen Ausführungsart umfasst das Zwischenverbindungssystem einen zentralen Kontrollmodul, der mit jeder der Zellen verbunden ist und mit dem Netzwerk durch eine zusätzliche Zelle verbunden ist, die die Initialisierung der Token am Anfang des Zyklus realisiert.
  • Nach einer Anwendung der Erfindung kann dieses Zwischenverbindungssystem für die Verarbeitung von Bildern mittleren Niveaus verwendet werden.
  • Kurzbeschreibung der Zeichnungen
  • - Die Fig. 1 zeigt das Prinzipschaltbild des erfindungsgemäßen Zwischenverbindungssystems;
  • - die Fig. 2 zeigt schematisch einen Zwischenverbindungsmodul mit seinen Eingängen/Ausgängen, der die Verbindung zwischen dem Prozessor und dem Netzwerk sicherstellt; und
  • - die Fig. 3A und 3B zeigen die Zustandsdiagramme, jeweils beim Senden einer Meldung und beim Empfang einer Meldung.
  • Detaillierte Darstellung von Ausführungsarten
  • In der Fig. 1 sieht man das Prinzipschaltbild des erfindungsgemäßen Zwischenverbindungssystems, das man auch "intelligentes Netzwerk" oder "Ringnetzwerk" nennt. Dieses Zwischenverbindungssystem umfasst eine Vielzahl von Knotenpunkten oder Stationen von denen jede eine Verarbeitungseinheit und einen Zwischenverbindungsmodul umfasst, der eine Zelle und zwei Module enthält, nämlich einen Empfangsmodul der Meldungen und einen Sendemodul der Meldungen. Diese Stationen sind so miteinander verbunden, dass sie eine Schleife bilden, was zu der Bezeichnung "Ringnetzwerk" geführt hat. Dieses Ringnetzwerk funktioniert nach dem Prinzip einer Zirkulation von Zugriffsrechten bzw. Token. Das in diesem Netzwerk angewendete Basisprinzip ist die Verwendung von Token. Diese Token zirkulieren permanent im Netzwerk. So kann jede Station des Netzwerks eine Meldung empfangen oder senden, wenn sie im Besitz eines Token ist, und wenn sie zu diesem Zeitpunkt keine Daten senden will, sendet sie das empfangene Token in das Netzwerk zurück. Wenn eine Station eine Meldung senden will, muss diese Station warten, bis sie ein Token erhält, um es mit ihren Daten und der Adresse der Empfängerstation in das Netzwerk zurückzusenden.
  • Nach dem erfindungsgemäßen Verfahren zirkulieren mehrere Token gleichzeitig in dem Netzwerk. Mit jedem Token ist eine Meldung verbunden, die mehrere sukzessive Daten enthält. In dem Netzwerk zirkulieren also Token, von denen jedes mit einer Meldung verbunden ist, wobei das Token den Anfang der Meldung definiert. Alle gleichzeitig in dem Netzwerk zirkulierenden Meldungen haben die gleiche Größe. So erhält eine von drei Stationen in dem Netzwerk für eine Meldung der Größe 3 ein Token. Wenn eine Station ein Token erhält, mit dem eine Meldung verbunden ist, die für sie bestimmt ist, liest die Station diese Meldung. Wenn diese Meldung keine Information enthält, oder wenn sie diese Meldung liest und selbst eine Meldung zu senden wünscht, sendet die Station ihre Meldung mit dem Token in das Netzwerk.
  • Nach dem in der Fig. 1 beschriebenen Beispiel sind die Verarbeitungseinheiten elementare Prozessoren. Sie könnten auch Recheneinheiten, eine Steuereinheit usw. sein.
  • In der Fig. 1 sind die Stationen mit S0, ..., Sn bezeichnet und die Zellen sind mit C0, C1, ..., Cn bezeichnet; die diesen Zellen zugeordneten elementaren Prozessoren sind jeweils mit P0, P1, ..., Pn bezeichnet; ebenso sind die jeder Zelle zugeordneten Empfangsmodule jeweils mit R0, R1, ..., Rn bezeichnet, und die diesen Zellen zugeordneten Sendemodule sind jeweils mit E0, E1, ..., En bezeichnet.
  • Das in der Fig. 1 dargestellte Ringnetzwerk wird durch eine Gruppe von Zellen C0, C1, ..., Cn gebildet, die miteinander verbunden sind. Jede Zelle C0, C1, ..., Cn ist mit einem Empfangsmodul R0, R1, ..., Rn und mit einem Sendemodul E0, E1, ..., En verbunden, der ihr zugeordnet ist. Jeder elementare Prozessor P0, P1, ..., Pn ist mit einem Sendemodul und mit einem Empfangsmodul verbunden, die ihnen zugeordnet sind.
  • Es folgt eine genauere Beschreibung des Netzwerks in Form einer detaillierteren Beschreibung der Station S1, denn selbstverständlich entsprechen alle Stationen S0 bis Sn dieser Station S1.
  • Die Station S1 umfasst eine Zelle C1, die verbunden ist mit der Zelle C0 der in dem Ring vorgeschalteten Station S0 und mit der Zelle der in dem Ring nachgeschalteten Station, wobei diese letztere in der Fig. 1 aus Gründen der Vereinfachung der Figur nicht dargestellt ist. Diese Zelle C1 selbst mit dem Empfangsmodul 1 verbunden, dem sie die aus dem Netzwerk empfangenen Meldungen überträgt. Dieser Empfangsmodul R1 ist mit dem elementaren Prozessor P1 verbunden, der jede der in dem Empfangsmodul R1 gespeicherte Meldung liest. Der Prozessor P1 ist auch mit dem Sendemodul E1 verbunden, dem er die Meldungen überträgt, die er senden möchte. Dieser Sendemodul E1 ist fähig, jede dieser Meldungen zu speichern, die der Prozessor P1 in dem Netzwerk übertragen möchte. Jede Meldung wird solange gespeichert, bis die Zelle C1 imstande ist, die Meldung in das Netzwerk zu senden.
  • Dieses Zwischenverbindungssystem umfasst außerdem eine Steuereinheit MC, die direkt mit den Zellen C0, C1, ..., Cn verbunden ist. Diese Steuereinheit ermöglicht, die Zirkulation der Token in dem Netzwerk wenigstens teilweise zu verwalten. Da diese Steuereinheit von bekanntem Typ ist und in der oben genannten Patentanmeldung FR- 2680026 beschrieben wird, ist sie in den Figuren nicht dargestellt und wird hier nicht im Detail beschrieben.
  • Während also die Zellen C0, C1, ..., Cn und die Steuereinheit die Zirkulation der Meldungen in dem Ring verwalten, können die elementaren Prozessoren P0, P1, ..., Pn andere Verarbeitungen durchführen, zum Beispiel, im Falle einer Bildverarbeitungsanwendung, die Verarbeitungen niedrigen und mittleren Niveaus. Ein solches Netzwerk wird folglich als Netzwerk für den sequentiellen Asynchronbetrieb betrachtet.
  • Nach einer anderen Ausführungsart des erfindungsgemäßen Zwischenverbindungssystems wird ein zentraler Steuermodul MC über eine zusätzliche Zelle an das Netzwerk angeschlossen, die in den oben beschriebenen Ring der Zellen C0, C1, ..., Cn eingefügt wird. Dieser Steuermodul MC ermöglicht, die Token in das Netzwerk mit einer Frequenz einzuspeisen, die der Größe der spezifizierten Meldung entspricht. Dieser Steuermodul MC verwaltet insbesondere die Ablaufsteuerung des Netzwerks. Noch genauer hat dieser Steuermodul MC die Aufgabe, die Prozessoren über den Zustand des Netzwerks zu informieren. Wenn ein Empfangsmodul voll ist, meldet er dies der Steuereinheit, die die Prozessoren in eine Lesephase umleiten kann. Ebenso, wenn ein Sendemodul voll ist, verwaltet er die beiden möglichen Fälle:
  • - entweder verlangt die Anwendung, alle Prozessoren in derselben Iteration zu behalten (zum Beispiel Bearbeitung der Bilder): man muss dann der Steuereinheit melden, die Ausführung zu suspendieren, um die Prozessoren in eine Lesephase des Empfangsmoduls umzuleiten. Diese Ausführung wird wieder aufgenommen, sobald alle Sendemodule, die voll waren, es nicht mehr sind;
  • - oder die Anwendung ermöglicht den Prozessoren, vorzugreifen (zum Beispiel Bearbeitung der Listen): man kann dann nur die Prozessoren sperren, deren Sendemodul voll ist, und die anderen weiter arbeiten lassen. Dies wird durch das Programm geregelt und der Steuermodul greift nicht mehr ein.
  • Der Steuermodul kann nach einer Ausführungsart den Prozessoren präzisieren, ob in den Sendemodulen und in den Netzwerkzellen noch Daten vorhanden sind. Indem sie den Empfangsmodul lesen, wissen die Prozessoren, ob noch Daten eintreffen könnten.
  • Dieser Modul wird durch logische Schaltungen oder programmierbare Bauteile gebildet. Sie kann in eine parallele Steuereinheit der Maschine bzw. eine Steuereinheit der parallelen Maschine integriert sein.
  • In der Fig. 2 ist schematisch der Zwischenverbindungsmodul dargestellt, den man auch "Station" S1 nennt.
  • Man sieht also in dieser Fig. 2 die Zelle C1, die die Informationen I1, I2 und I3 von der im Ring vorgeschalteten Zelle erhält, nämlich der Zelle C0. Auf identische Weise bezüglich der Zelle C1 überträgt die Zelle C0 bei jeder Verschiebung des Netzwerks Informationen I'1, I'2 und I'3 in Richtung der im Netzwerk nachgeschalteten Zelle, nämlich der Zelle C2. Diese jeweiligen Informationen I1, I2, I3 und I'1, 1'2, I'3 entsprechen den drei Informationen, die eine in dem Netzwerk zirkulierende Meldung bilden:
  • - die Informationen I3 und I'3 (zum Beispiel auf 32 Bit codiert), die den von einem Prozessor zum anderen zu übertragenden Datenfeldern entsprechen;
  • - die Informationen I2 und I'2 (zum Beispiel auf 10 Bits codiert), die dem Adressfeld entsprechen, das die Nummer des Prozessors betrifft, für den die Meldung bestimmt ist;
  • - die Informationen I1 und I'1 (im Allgemeinen auf 2 Bit codiert), dem Kontrollfeld der Meldung entsprechend, wobei dieses Kontrollfeld angibt, ob die Daten gültig oder ungültig sind und ob ein Token vorhanden ist.
  • Die Zelle C1 kümmert sich wie alle Zellen um das Senden, den Empfang und die Übertragung der Meldungen zu anderen Zellen. Diese Zelle C1 bestimmt, ob eine Meldung über das Netzwerk gesendet werden kann, abhängig vom Vorhandensein eines Token und abhängig von der Information gültig oder ungültig (Information I1 oder I'1). Diese Zelle C1 kann die Meldung nur dann in das Netzwerk einspeisen, wenn diese Meldung vollständig in dem Sendemodul E1 ist. Außerdem verifiziert die Zelle C1, ob eine Meldung für den Prozessor P1 bestimmt ist, dem sie zugeordnet ist; diese Verifizierung erfolgt durch Prüfung der in der Information I2 enthaltenen Adresse. Das Vorhandensein des Token (Information I1) ist unerlässlich für das Wiedergewinnen der von der Zelle C0 kommenden Meldung. Zudem muss die Zelle C1 sicherstellen, falls ein Token vorhanden ist, dass der Empfangsmodul R1 über einen ausreichenden Speicherplatz verfügt, um dort die empfangene Meldung zu speichern. Wenn der Empfangsmodul R1 als voll gilt, das heißt wenn er keinen ausreichenden Speicherplatz hat, um die ganze Meldung zu speichern, weist die Zelle C1 die Meldung zurück, die weiter im Netzwerk zirkuliert und die gelesen wird, sobald der Empfangsmodul R1 als "nicht voll" gilt. Wenn die in der Meldung enthaltenen Daten (Information I3) gelesen worden sind, macht die Zelle C1 diese Daten ungültig. Falls eine durch die Zelle C1 empfangene Meldung nicht für den Prozessor P1 bestimmt ist, dem sie zugeordnet ist, überträgt die Zelle C1 diese Meldung beim nächsten Taktimpuls an die benachbarte Zelle C2.
  • Die Zellen verhalten sich in diesem Zwischenverbindungssystem also wie ein großes Schieberegister und übertragen so nach und nach die Meldungen.
  • Jede Zelle erhält direkt vom Prozessor eine Information I11 zum Einspeisen oder Unterdrücken des Token im Moment der in der Folge beschriebenen Initialisierungsphase. Außerdem sendet sie dem Steuermodul eine Information I12 bezüglich ihres Zustands (leer oder besetzt), so dass der Steuermodul die Prozessoren informieren kann, wenn ein ganzer Zyklus beendet ist. Ein neuer Zyklus mit einer neuen Meldungsgröße kann dann durchgeführt werden.
  • Der Sendemodul E1 empfängt von dem elementaren Prozessor P1 (in der Figur aus Gründen der Vereinfachung dieser Figur nicht dargestellt) die auf dem Netzwerk zu sendenden Informationen. Diese Informationen umfassen ein Datenfeld, mit I6 bezeichnet, und ein Adressfeld, das die Nummer des Empfängerprozessors enthält, mit I5 bezeichnet. Wenn der Sendemodul E1 aus Sicht des Prozessors als "nicht voll" gilt, mit I4 bezeichnete Information, speichert er die in dem Netzwerk zu dem Netzwerk zu übertragende Meldung. Wenn der Sendemodul E1 jedoch aus Sicht des Prozessors als voll gilt, muss der Prozessor warten, bis der Sendemodul E1 über einen ausreichenden freien Platz verfügt, um ihn zu bitten, die Meldung zu speichern. Dieser Sendemodul E1 informiert die Zelle C1 über seinen Zustand, das heißt ob er leer oder nicht leer ist. Dieser Sendemodul E1 überträgt also Informationen an die Zelle C1, nämlich eine Information bezüglich seines Zustands (leer oder nicht leer), mit I7 bezeichnet, die Daten der Meldung, mit I5' bezeichnet, und die Adresse des Empfängerprozessors dieser Meldung, mit I6' bezeichnet.
  • Dieser Sendemodul E1 umfasst wie alle Sendemodule des Netzwerks einen mehr oder weniger großen Speicher, je nach den Übertragungsbedürfnissen auf dem Netzwerk, und eine logische Schaltung, die integriert sein kann. Diese logische Schaltung ermöglicht, aufgrund der Anzahl der empfangenen Informationen die Größe der Meldungen und die Kapazität des Speichers festzulegen, wenn er leer oder nicht leer, voll oder nicht voll ist.
  • Es sei präzisiert, dass der Sendemodul E1 für das Netzwerk als leer gilt, wenn nicht wenigstens eine ganze Meldung darin gespeichert ist (Information I12).
  • Ein solcher Sendemodul ermöglicht, die Effizienz des Netzwerks beträchtlich zu erhöhen, indem er es sättigt. Der Modul wird mittels einer Verwaltung pro Meldung verwaltet, was dazu beiträgt, die Kohärenz der Zirkulation und des Empfangs der Meldungen in dem Netzwerk sicherzustellen. Dieses Verfahren des Speicherns der Meldung in dem Sendemodul ermöglicht nämlich, alle Daten einer Meldung in konsekutiver Weise auf dem Netzwerk zu senden, was ihre Kohärenz sicherstellt.
  • Der Empfangsmodul R1 erhält von der Zelle C1 die zu speichernden Daten I8, wobei diese Daten den Daten I3 entsprechen, wenn die von der Zelle C0 durch die Zelle C1 empfangene Meldung für den der Zelle C1 zugeordneten Prozessor P1 bestimmt ist. Dieser Empfangsmodul R1 hat also die Funktion, die dem Prozessor P1 zu übertragende Meldung zu speichern. Aus Sicht der Zelle C1 gilt er als voll, wenn er nicht mehr über den nötigen Platz verfügt, um die ganze Meldung zu speichern. Er gilt für den Prozessor als leer, wenn wenigstens eine ganze Meldung gespeichert werden kann. Dieser Empfangsmodul R1 überträgt der Zelle C1 eine Information I9 bezüglich seines vollen oder nicht vollen Zustands. Er überträgt außerdem dem Elementarprozessor P1 die Daten I8' sowie eine Information I10 bezüglich seines Zustands, das heißt eine Information, um dem Prozessor mitzuteilen, ob er leer oder nicht leer ist.
  • Dieser Empfangsmodul umfasst einen mehr oder weniger großen Speicher, je nach den Bedürfnissen des Zwischenverbindungssystems, und eine logische Schaltung, die integriert sein kann. Diese logische Schaltung ermöglicht, aufgrund der Anzahl der empfangenen Daten die Größe der Meldungen und die Eigenkapazität des Speichers festzulegen, wenn der Empfangsmodul leer oder nicht leer, voll oder nicht voll ist. Dieser Modul wird mittels einer Verwaltung pro Meldung verwaltet, wegen der weiter oben erläuterten Kohärenzprobleme.
  • Das oben beschriebene Zwischenverbindungssystem wendet das Verfahren zur Verwaltung der Priorität beim Senden der Meldungen an. Dieses Verfahren besteht zunächst darin - vor dem ersten Einspeisen von Meldungen in das Netzwerk -, durch eine vom Programmierer verlangte spezielle Instruktion die Größe der Meldungen zu spezifizieren, die gesendet werden können. Diese Meldungsgröße ist dann während der gesamten Dauer eines selben Programmzyklus identisch. In Abhängigkeit von diesem Wert muss man beim ersten Einspeisen von Meldungen in das Netzwerk die Prioritätszellen definieren (das heißt die Zellen, die Prioritätsprozessoren zugeordnet sind). Zum Beispiel wird bei einer Instruktion mit der Meldungsgröße 2, MELDUNGSGRÖSSE = 2, eine von zwei Zellen prioritär genannt. Diese prioritären Zellen, und nur sie, haben das Recht, beim ersten Einspeisen von Meldungen in das Netzwerk zu senden. Die prioritären Zellen, selbst wenn sie keine Meldung senden, erzeugen ein Token; die nicht prioritären Zellen unterdrücken das Token, wenn sie eines haben. Diese Zellen sind also sicher, dass ihre erste Meldung ganz gesendet wird, da die vorangehende Zelle (oder die vorangehenden Zellen, wenn ZELLENGRÖSSE > 2) nichts senden wird. Eine solche Verwaltung der Priorität beim Senden ermöglicht, die Konflikte beim Zugriff auf das Netzwerk im Falle des Passierens bzw. Übertragens von Meldungen zu regeln. Die Daten einer selben Meldung folgen sich also in den Zellen des Netzwerks und können daher in konsekutiver Weise in dem Empfangsmodul des Empfängermoduls der Meldung eintreffen. Zudem ermöglicht diese Verwaltung der Sendepriorität eine gleichzeitige Zirkulation von mehreren Meldungen in dem Netzwerk ohne Vermischung der Daten.
  • Die Daten der zu übertragenden Meldungen werden durch den Sendeprozessor in dem Sendemodul gespeichert, der ihm zugeordnet ist, wobei er die Erlaubnis, sie auf dem Netzwerk senden zu dürfen, abwartet. Nach der ersten Sendephase rotieren eine bestimmte Anzahl Token in dem Netzwerk. Jede Zelle delektiert, ob das erste Datenelement einer Meldung an sie adressiert ist, mittels des Vorhandenseins eines Token, durch die Adresse, die die ihre ist und weil das Datenelement gültig ist (das heißt, dass es noch nicht gelesen worden ist). Wenn eine Zelle also das erste Datenelement oder Kopfdatenelement einer Meldung empfängt, die an sie adressiert ist, kann sie ihrerseits eine neue Meldung senden, denn die Daten, die folgen, sind zwangsläufig für sie und folglich sind die Zellen, die sie benötigt, verfügbar. Ebenso, wenn ein schon gelesenes Datenelement (also als ungültig betrachtet) von einem Token begleitet wird, kann die Zelle, die es empfängt, eine Meldung senden, denn diese bedeutet, dass es sich um keine durchlaufende Meldung handelt. Ein Senden von Meldungen durch eine Zelle kann nur beginnen, wenn die ganze Meldung schon in einem Sendemodul gespeichert ist.
  • Jeder Zwischenverbindungsmodul (oder Station) unterliegt also beim Senden einer Verwaltung pro Meldung.
  • Damit Daten von einer Zelle gelesen werden, muss sie das Kopfdatenelement schon empfangen haben. Die Zelle empfängt dann die nachfolgenden Daten bis zu einem ungültigen Datenelement oder einer neuen, ein Token enthaltenden Meldung. Dieses Empfangen der Daten ist jedoch nur möglich, wenn der Empfangsmodul über ausreichend Speicherplatz für die ganze Meldung verfügt.
  • Der Zwischenverbindungsmodul wird also beim Empfang einer Verwaltung pro Meldung unterzogen. Diese Verwaltung pro Meldung, bei der die Elemente einer selben Meldung nicht voneinander getrennt werden, stellt also die Kohärenz der Daten sicher.
  • Nach einer Variante der Erfindung erfolgt die Definition der Prioritätszellen (und folglich der Prozessoren, die ihnen zugeordnet sind) durch die Prozessoren selbst, beim ersten Senden von Meldungen. Diese Prozessoren stellen fest, ob ihre Nummer einem Vielfachen der Größe der vorher spezifizierten Meldung entspricht und ob die Nummer von Prozessoren, in dem Netzwerk hinter ihnen selbst befindlich, höher ist als die Größe der spezifizierten Meldung, was darauf hinaus läuft, die folgende Gleichung zu verifizieren:
  • (NPE modulo TMESS) = 0
  • (N-NPE) ≥ STMESS
  • mit NPE enthalten zwischen 0 und N-1, und wo NPE die Nummer des laufenden Prozessors ist, das heißt des mit der Verifizierung der beiden Gleichungen beschäftigten Prozessors, und N die Gesamtzahl der an dem Netzwerk angeschlossenen Prozessoren ist, und TMESS die Größe der spezifizierten Meldungen ist.
  • Diese beiden Gleichungen können durch einen Prozessor mit weniger als zehn Instruktionen evaluiert werden. Zudem, wenn der Programmierer die verschiedenen Größen der Meldungen im Voraus kennt, die bei den auszuführenden Algorithmen vorkommen, kann er mittels einer Initialphase ein für allemal die Berechnungen realisieren und die Resultate in dem Speicher des Prozessors sichern. Bei einem Wechsel der Meldungsgröße genügt es dem Prozessor, das entsprechende Speicherfeld zu lesen, im Falle der Priorität das Token zu positionieren und das Token für die anderen Prozessoren aufzuheben.
  • Nach einer anderen Ausführungsart der Erfindung kann diese Phase durch den weiter oben beschriebenenzentralen Steuermodul realisiert werden.
  • In der Fig. 3A ist eine Realisierungsart des Zustandsdiagramms der Sendephase einer Meldung dargestellt. Wenn also durch einen Prozessor eine Meldung gesendet werden muss, erfolgt die Verarbeitung folgendermaßen: wenn der Sendemodul zum Senden bereit ist (das heißt nicht leer), prüft die Zelle, ob er ein Token besitzt. Sie überprüft auch, ob die empfangenen Daten ungültig sind. Wenn ein Token vorhanden ist, das empfangene Datenelement ungültig ist und der Sendemodul nicht leer ist, dann sendet die Zelle das erste Datenelement (auch "Kopfdaten" genannt). Sie berechnet dann den Wert des Zählers CO aufgrund des Ausdrucks CO=TMESS-1, wo TMESS die Größe der spezifizierten Meldung ist. Wenn dieser Wert des Zählers CO null ist (Schleife B1 in der Fig. 3A), bedeutet dies, dass es nur ein einziges Datenelement zu senden gibt. Der Sendemodul wird also als wieder in seinen Initialzustand befindlich betrachtet. Wenn der Wert des Zählers CO nicht null ist, dann sendet die Zelle die nachfolgenden Daten und berechnet den Wert des Zählers CO=CO-1. Solange dieser Wert des Zählers nicht null ist (Schleife B2 in der Fig. 3A), sendet die Zelle die nachfolgenden Daten. Wenn dieser Wert des Zählers CO null wird (Schleife B3 in der Fig. 3A), dann nimmt die Zelle an, dass alle Daten dieser Meldung gesendet wurden, und der Sendemodul kehrt in seinen Initialzustand zurück.
  • Nach einer anderen Ausführungsart wird bei der Definition der Prioritätszellen eine spezielle Codierung der nicht benutzbaren Zellen realisiert, wobei diese Zellen die Ungleichung N-NPE < TMESS verifizieren. Die Rückkehr des Sendemoduls in den Initialzustand wird durch das Eintreffen entweder eines Token oder einer solchen Zelle delektiert. Diese Ausführungsart benötigt folglich keinen Zähler CO.
  • Die Fig. 3B stellt eine Realisierungsart des Zustandsdiagramms der Empfangsphase der Meldungen dar. Wenn der Empfangsmodul nicht voll ist, prüft die Zelle, ob das in der Meldung enthaltene Adressfeld der Nummer des Prozessors entspricht. Sie überprüft außerdem das Vorhandensein eines Token sowie die Gültigkeit der Meldung. Wenn diese Bedingungen überprüft sind, empfängt die Zelle die in der Meldung enthaltenen Daten, die an den Prozessor adressiert ist, dem sie zugeordnet ist. Solange die Zelle nicht ein anderes bzw. weiteres Token oder die Angabe gefunden hat, dass die Daten nicht gültig sind (Schleife B4 in der Fig. 3B), fährt sie fort, die Daten der Meldung zu empfangen und dem Empfangsmodul zuzuleiten, der sie speichert. Wenn die Zelle das Vorhandensein eines anderen bzw. weiteren Token oder das Vorhandensein eines ungültigen Datenelements delektiert (Schleife B5 in der Fig. 3B), betrachtet sie die Meldung als beendet und der Empfangsmodul kann in seinen Initialzustand zurückkehren.
  • Sicher wurde verstanden, dass die bei diesem Netzwerk angewandte Verwaltung der Sendepriorität ermöglicht, die Kohärenz der Daten sicherzustellen und dabei einen guten Füllungsgrad der Zellen während der Schiebe- bzw. Verschiebungsphase zu garantieren. Ein solches Netzwerk realisiert folglich irreguläre bzw. unregelmäßige Kommunikationen zwischen Prozessoren mit paralleler Struktur (zum Beispiel des Typs SMID) mit einer zentralisierten Verwaltung, die aufgrund ihrer Einfachheit ermöglicht, eine große Anzahl von Prozessoren an ein und dasselbe Netzwerk anzuschließen, ohne dass notwendigerweise die Gerätekosten hoch sind.
  • Eine Anwendung dieses Verfahrens zur Verwaltung von Meldungen in einem Ringnetzwerk betrifft die Bildverarbeitung. Zur Verarbeitung von Bildern mittleren Niveaus muss das Netzwerk oft Charakteristika von primitiven Auszügen der Bilder zentralisieren, um Listen von Attributen zu konstruieren. Im Falle eines über die Prozessoren verteilten Bildspeichers, müssen diese Prozessoren, die jeweils ihren Bildteil verarbeiten, die Resultate globalisieren. Dies kann erfolgen, indem man jedem Prozessor ein Grundelement (zum Beispiel die Kontur eines Gegenstands, einen Fleck, usw.) zuteilt. Derart müssen die Prozessoren die Attribute des Grundelements, die sie delektiert haben, an den Prozessor übermitteln, der sich darum kümmert. Er muss also Austausche realisieren, deren Regelmäßigkeit nur von dem Bild abhängt und die mehrere Datenelemente pro Meldung umfassen können (zum Beispiel Koordinaten des delektierten Punkts als Abszissen und Ordinaten, Graupegel, usw.).
  • Eine andere Anwendung dieses Verfahren betrifft die graphische Erzeugung bzw. Bilderzeugung. Die Bilderzeugung besteht darin, aufgrund einer Beschreibungsliste die Charakteristika zu berechnen und die Pixel anzuzeigen, die Teil des beschriebenen Grundelements sind. Es kann sich zum Beispiel um die Darstellung von Segmenten, Flächenfüllung usw. handeln. Da der Speicher auf die Prozessoren verteilt ist, ist es wichtig, über ein Netzwerk zu verfügen, das die Meldungen effizient von einem Prozessor zum ändern übertragen kann. Diese Meldungen bestehen zum Beispiel für die Darstellung von Segmenten aus Koordinaten der Punkte bzw. Pixel sowie ihrer Farben. Wenn nämlich jede Prozessor die Pixel eines anderen Segments berechnet, können sie nur die Pixel darstellen, die zu ihrer Speicherbank gehören. Sie müssen folglich die anderen Pixel an andere Prozessoren verteilen, damit diese letzteren sie darstellen, das heißt sie in ihrem eigenen Speicher speichern.

Claims (8)

1. Verfahren zur Verwaltung der Meldungen, die in einem ringförmigen Netzwerk von Elementarprozessoren (Po, ..., Pn) zirkulieren, das gemäß einer parallelen Struktur organisiert und fähig ist, zyklisch Meldungen derselben Größe zu verarbeiten, wobei jeder dieser Prozessoren durch einen Verbindungsmodul mit dem Netzwerk verbunden ist,
dadurch gekennzeichnet,
dass durch Zirkulation von Zugriffsrechten bzw. Token in dem Netzwerk eine Steuerung der Prioritäten der Verbindungsmodule für das Senden und für das Empfangen der Meldungen realisiert wird, und dadurch, dass eine Größe der in dem Netzwerk zu sendenden Meldungen (TMESS) vor der ersten Sendung spezifiziert wird, wobei das genannte Verfahren darin besteht:
- dass, wenn ein Verbindungsmodul ein Zugriffsrecht bzw. Token erhält, dieser Verbindungsmodul ein erstes Datum bzw. Datenelement der in dem Netzwerk zirkulierenden Meldung empfängt, wenn diese Meldung für den Elementarprozessor bestimmt ist, mit dem er verbunden ist;
- dass der Verbindungsmodul prüft, ob er über einen ausreichenden Speicherplatz verfügt, um die Meldung ganz abzuspeichern:
-- wenn dieser Speicherplatz nicht ausreicht, sendet der Verbindungsmodul die Meldung in das Netzwerk zurück;
-- wenn dieser Speicherplatz ausreicht, speichert er das erste Datum bzw. Datenelement der Meldung und dann alle nachfolgenden Daten, bis er ein Meldungsende delektiert;
- dass der Elementarprozessor, wenn er eine Meldung zu senden hat, überprüft, ob der Verbindungsmodul über einen ausreichenden Speicherplatz verfügt, um die zu sendende Meldung ganz zu speichern:
-- wenn wenigstens eine Meldung gespeichert worden ist, sendet der Verbindungsmodul in dem Netzwerk das erste Datum bzw. Datenelement dieser Meldung und dann alle aufeinanderfolgenden Daten der Meldung;
-- wenn keine Meldung gespeichert worden ist, wartet der Verbindungsmodul auf den Empfang einer nachfolgenden Zugriffsberechtung.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass vor einer ersten Sendung von Meldungen in dem Netzwerk jeder Elementarprozessor ein Zugriffsrecht bzw. Token sendet, wenn er folgende Gleichungen verifiziert:
(NPE modulo TMESS) = 0
und (N-NPE) &ge; TMESS,
mit NPE enthalten zwischen 0 und N-1 und
wo TMESS die Größe der zu sendenden Meldungen ist, NPE eine Nummer des Elementarprozessors in dem Netzwerk ist und N die Gesamtzahl der in dem Netzwerk verbundenen Elementarprozessoren ist.
3. Verbindungssystem zur Anwendung des Verfahrens nach einem der Ansprüche 1 und 2, umfassend:
- eine Vielzahl von Elementarprozessoren (P0, ..., Pn), fähig asynchrone Verarbeitungen durchzuführen und organisiert gemäß einer parallelen Struktur; und
- eine Vielzahl von Verbindungsmodulen, wobei jeder Verbindungsmodul einem Elementarprozessor zugeordnet ist, um die Verbindung dieses Elementarprozessors mit dem Netzwerk zu gewährleisten,
dadurch gekennzeichnet, dass dieser Verbindungsmodul umfasst:
- eine Zelle (CO, ..., Cn), verbunden mit den Zellen der benachbarten Prozessoren, die, wenn ein Zugriffsrecht bzw. Token präsent ist, einerseits den Empfang des ersten Datums bzw. Datenelements der in dem Netzwerk zirkulierenden Meldung und andererseits das Senden der Meldung, die der Prozessor in dem Netzwerk senden will, sicherstellt;
- einen Empfangsmodul (R0, ..., Rn), angeschlossen zwischen der Zelle und dem Elementarprozessor, der die Speicherung der ganzen durch die Zelle empfangenen und für den Elementarprozessor bestimmten Meldungen sicherstellt;
- einen Sendemodul (E0, ..., En), angeschlossen zwischen dem Elementarprozessor und der Zelle, der die Speicherung der ganzen Meldungen sicherstellt, die der Elementarprozessor in dem Netzwerk senden will.
4. System nach Anspruch 3, dadurch gekennzeichnet, dass jeder Sendemodul einen Speicher umfasst, fähig jede der zu sendenden Meldungen zu speichern, und eine logische Schaltung, fähig festzustellen, ob der Speicher leer oder nicht leer, voll oder nicht voll ist.
5. System nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass jeder Empfangsmodul einen Speicher umfasst, fähig jede der empfangenen Meldungen zu speichern, und eine logische Schaltung, fähig festzustellen, ob der Speicher voll oder nicht voll, leer oder nicht leer ist.
6. Verbindungssystem nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass er einen zentralen Kontrollmodul (MC) umfasst, der direkt mit jeder der Zellen des Netzwerks verbunden ist, um die Verwaltung der Ablaufsteuerung des Netzwerks sicherzustellen.
7. Verbindungssystem nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass es einen zentralen Kontrollmodul (MC) umfasst, der mit jeder der Zellen verbunden ist und mit dem Netzwerk durch eine zusätzliche Zelle verbunden ist, die die Initialisierung der Zugriffrechte bzw. Token am Beginn des Zyklus realisiert.
8. Verbindungssystem zur Verarbeitung von Bildern mittleren Niveaus nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass jedem Prozessor ein Grundelement des verarbeiteten Bildes zugeteilt bzw. zugeordnet wird.
DE69431781T 1993-10-04 1994-09-30 Verfahren und System von Zwischenverbindungen zur Verwaltung von Meldungen in einem Prozessorennetzwerk mit paralleler Struktur Expired - Fee Related DE69431781T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9311787A FR2710993B1 (fr) 1993-10-04 1993-10-04 Procédé et système d'interconnexion pour la gestion de messages dans un réseau de processeurs à structure parallèle.

Publications (2)

Publication Number Publication Date
DE69431781D1 DE69431781D1 (de) 2003-01-09
DE69431781T2 true DE69431781T2 (de) 2003-07-17

Family

ID=9451508

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69431781T Expired - Fee Related DE69431781T2 (de) 1993-10-04 1994-09-30 Verfahren und System von Zwischenverbindungen zur Verwaltung von Meldungen in einem Prozessorennetzwerk mit paralleler Struktur

Country Status (6)

Country Link
US (1) US5574931A (de)
EP (1) EP0646875B1 (de)
JP (1) JPH07175769A (de)
CA (1) CA2133547A1 (de)
DE (1) DE69431781T2 (de)
FR (1) FR2710993B1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2742560B1 (fr) 1995-12-19 1998-01-16 Commissariat Energie Atomique Architecture de systeme en tableau de processeurs a structures paralleles multiples
JP3136088B2 (ja) * 1996-02-22 2001-02-19 シャープ株式会社 データ処理装置及びデータ処理方法
GB2367732B (en) * 1997-05-01 2002-09-04 Hewlett Packard Co High speed interconnect bus
US5909562A (en) * 1997-05-01 1999-06-01 Hewlett-Packard Co. Backup FIFO in-line storage
US5911056A (en) * 1997-05-01 1999-06-08 Hewlett-Packard Co. High speed interconnect bus
US5907691A (en) * 1997-05-01 1999-05-25 Hewlett-Packard Co. Dual pipelined interconnect
KR100269174B1 (ko) * 1997-09-19 2000-11-01 윤종용 인다이렉트 로테이터 그래프 네트워크
CN1154060C (zh) * 2000-07-18 2004-06-16 徐肇昌 一种基于分布结构的并行模块结构及并行处理方法
AU2003228353A1 (en) 2002-03-22 2003-10-13 Michael F. Deering Scalable high performance 3d graphics
CN100382017C (zh) * 2002-07-09 2008-04-16 徐肇昌 子序网模块及其调用方法
US7093076B2 (en) * 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
JP4788308B2 (ja) * 2005-11-17 2011-10-05 セイコーエプソン株式会社 デバイスシステム
US9055078B2 (en) * 2013-01-10 2015-06-09 International Business Machines Corporation Token-based flow control of messages in a parallel computer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4816993A (en) * 1984-12-24 1989-03-28 Hitachi, Ltd. Parallel processing computer including interconnected operation units
JPH088572B2 (ja) * 1987-03-09 1996-01-29 株式会社日立製作所 通信システムにおけるノード装置
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system
FR2680026B1 (fr) * 1991-07-30 1996-12-20 Commissariat Energie Atomique Architecture de systeme en tableau de processeurs a structure parallele.

Also Published As

Publication number Publication date
FR2710993B1 (fr) 1995-11-24
EP0646875A1 (de) 1995-04-05
FR2710993A1 (fr) 1995-04-14
US5574931A (en) 1996-11-12
EP0646875B1 (de) 2002-11-27
DE69431781D1 (de) 2003-01-09
CA2133547A1 (en) 1995-04-05
JPH07175769A (ja) 1995-07-14

Similar Documents

Publication Publication Date Title
DE69431781T2 (de) Verfahren und System von Zwischenverbindungen zur Verwaltung von Meldungen in einem Prozessorennetzwerk mit paralleler Struktur
DE69619366T2 (de) Sperr- und eurekasynchronisierungsarchitektur für multiprozessoren
DE68926094T2 (de) Hochgeschwindigkeits-Verarbeitungssystem für Rechnergraphik
DE3689226T2 (de) Multiprozessorsystem mit multihierarchischen Ebenen.
DE3854935T2 (de) Verfahren und Gerät zur Simulation von begrenzten verteilten diskreten Ereignissen
DE69217663T2 (de) Vorrichtung mit paralleler prozessor matrix
DE3854568T2 (de) SIMD-Feldrechner.
DE3300261C2 (de)
DE602006000516T2 (de) Architektur eines Kommunikationsknoten in einem global asynchronen Netzwerk on-chip-System
EP0960374B1 (de) Internes bussystem für dfps, sowie bausteine mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen, zur bewältigung grosser datenmengen mit hohem vernetzungsaufwand
DE2162806C2 (de) Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle
DE4121446C2 (de) Terminal-Server-Architektur
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69128017T2 (de) Verteiltes rechnersystem
DE2809405B2 (de) Prioritätssteuerschaltung
DE2503111A1 (de) Vermittlungs-verfahren zur multiplexen uebertragung von informationen und schaltungsanordnung zur durchfuehrung dieses verfahrens
DE19607531A1 (de) Multicluster-Computersystem
DE3243830A1 (de) Multiprozessor-unterbrechungsanordnung
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE2943149C2 (de) Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren
DE112017000855T5 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
DE69121893T2 (de) Koppelelement und verfahren zu seiner steuerung
DE68917679T2 (de) Datenübertragungsnetzwerk für Multiprozessorsysteme.
EP0657048B1 (de) Intelligentes kommunikations-system
DE69511110T2 (de) Datenkonferenznetz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee