DE69712998T2 - Auftragsverteilung in einem Mehrfachknoten-Rechnersystem - Google Patents
Auftragsverteilung in einem Mehrfachknoten-RechnersystemInfo
- Publication number
- DE69712998T2 DE69712998T2 DE69712998T DE69712998T DE69712998T2 DE 69712998 T2 DE69712998 T2 DE 69712998T2 DE 69712998 T DE69712998 T DE 69712998T DE 69712998 T DE69712998 T DE 69712998T DE 69712998 T2 DE69712998 T2 DE 69712998T2
- Authority
- DE
- Germany
- Prior art keywords
- ticket
- node
- nodes
- register
- tick
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 78
- 230000007246 mechanism Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 13
- 238000010200 validation analysis Methods 0.000 claims description 5
- 208000025118 deafness-infertility syndrome Diseases 0.000 description 19
- 230000005012 migration Effects 0.000 description 16
- 238000013508 migration Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 14
- 241000238876 Acari Species 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- ACWBQPMHZXGDFX-QFIPXVFZSA-N valsartan Chemical compound C1=CC(CN(C(=O)CCCC)[C@@H](C(C)C)C(O)=O)=CC=C1C1=CC=CC=C1C1=NN=NN1 ACWBQPMHZXGDFX-QFIPXVFZSA-N 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
- Die Erfindung hat ein Verfahren zum Verteilen von Tickets in einem Datenverarbeitungssystem mit mehreren Knoten zum Gegenstand. Ein Datenverarbeitungssystem mit mehreren Knoten ist aus entfernten Datenverarbeitungssystemen gebildet, die als Knoten bezeichnet werden und über elektrische oder optische Übertragungsverbindungen miteinander verbunden sind.
- Die Erfindung ist insbesondere für Datenverarbeitungssysteme mit mehreren Knoten geeignet, deren Knoten jeweils ihr eigenes Betriebssystem ausführen und/oder jeweils mehrere Prozessoren als Bestandteile der Mehrknoten-Mehrprozessor-Systeme besitzen und/oder deren Verbindungen auf die Kommunikation zwischen diesen Knoten zugeschnitten ist. Die Verbindungen können die Nachrichten entweder in Form von seriellen Bitfolgen (seriellen Verbindungen) oder in Form von parallel angeordneten, aufeinanderfolgenden Bitgruppen (parallelen Verbindungen) übermitteln.
- Sie hat außerdem ein Mehrknoten-Datenverarbeitungssystem, das das Verfahren ausführt, sowie einen Datenverarbeitungsknoten und eine integrierte Schaltung zum Ausführung bzw. Betreiben des Verfahrens oder des Datenverarbeitungssystems zum weiteren Gegenstand.
- Für die Belange der Programmierung von Multitasking-Anwendungen kann es erforderlich sein, einer Task einen Bezeichner oder einem Ereignis ein Zeitetikett dynamisch zuzuweisen.
- Selbstverständlich muß der Bezeichner der Task in dem System einzigartig sein, um eine Task von den anderen unterscheiden zu können. Ebenso müssen die Etiketten geordnet sein, um den Ort eines Ereignissen in der Zeitfolge der Ereignisse feststellen zu können.
- Die Bezeichner und die Etiketten können von einem Mechanismus erhalten werden, der durch das System geliefert wird. Dieser Mechanismus hat die Funktion, in Antwort auf eine Anforderung nach einem Bezeichner oder einem Etikett eine im Speicherraum eindeutige Zahl für ein Zeitintervall, das ausreicht, um jeglichen Fehler zu vermeiden, zu liefern. Diese Zahl entspricht einer Nummer und wird Ticket genannt, wobei der Mechanismus einen Ticketverteilungsdienst anbietet. Ein Ticket wird üblicherweise in einer bestimmten, gemäß der zeitlichen Folge der Ticketanforderungen aufsteigenden oder absteigenden Ordnung verteilt. Die Verteilung der Tickets erfolgt gewöhnlich durch eine Softwarekomponente.
- Diese Softwarekomponente steuert die Verteilung der Tickets zentral. Die Zentralisierung erfordert eine Kommunikation zwischen der Betriebssoftware, die ein Ticket anfordert, und der Ticketverteilung-Softwarekomponente. Dies setzt folglich Software- und Hardwaremechanismen für die Kommunikation zwischen den Knoten voraus, die die Ausführung von Protokollen und die physische Übertragung von Daten beinhalten. In der Praxis belastet der Weg über eine Software zur Steuerung der Kommunikation zwischen den Knoten die Betriebssoftware des Systems und verlangsamt die Verteilung der Tickets.
- Zudem besteht gegenwärtig ein steigender Bedarf nach einem hochverfügbaren Mehrknoten-Datenverarbeitungssystem. Diese Qualität bedeutet, daß das System seine Funktionalitäten auch dann bewahren muß, wenn ein Hardware- oder Softwarefehler auftritt oder gar ein Teil des Systems wie beispielsweise ein Knoten ausfällt. In diesem Fall muß folglich auch die Verteilung der Tickets ihre Funktionalität bewahren. Die Softwarelösung besteht darin, den Verteilungsdienst auf die Knoten zu verteilen oder den Dienst zu verdoppeln. Beide Lösungen erfordern eine zusätzliche Kommunikation zwischen den Knoten, um die Kohärenz der Verteilung der Tickets in dem gesamten System sicherzustellen. Dies belastet die Betriebssoftware des Systems noch mehr. Wenn die Anzahl der Kommunikationen zwischen den Knoten erhöht wird, verlangsamt die Software überdies die Verteilung der Tickets stark.
- Die Erfindung hat eine Ticketverteilung zum Ziel, die die Betriebssoftware eines Mehrknoten-Datenverarbeitungssystem entlastet.
- Ein weiteres Ziel ist das Verbessern der Leistungen der Verteilung der Tickets, indem die Anzahl und/oder die Kommunikationszeiten zwischen den Knoten stark verringert wird. Die Verteilung kann dann mit einer geringen Latenzzeit und einem großen Durchsatz erfolgen.
- Ein weiteres Ziel ist das Bewahren des obigen Vorteils in einem hochverfügbaren Mehrknotensystem.
- Ein nochmals weiteres Ziel ist das Vereinfachen des Ticketverteilungsverfahrens und dessen Ausführung.
- Die Erfindung hat ein Verfahren zum Verteilen eines Tickets zum Gegenstand, das eine Task oder ein Ereignis in einem Datenverarbeitungssystem mit mehreren Knoten identifiziert, das dadurch gekennzeichnet ist, daß es darin besteht, unter den Knoten des Systems einen Master-Knoten für die Verteilung des Tickets zu bestimmen, in diesem ein Ticketgenerator-Hardwaremittel vorzusehen, die Adresse des Ticketgenerators in den Knoten zu speichern und dann, wenn einer der Knoten ein Ticket anfordert, die Adresse in dem anfordernden Knoten zu lesen und auf den Ticketgenerator zuzugreifen.
- Daraus ergibt sich ein Datenverarbeitungssystem mit mehreren Knoten, das einen Mechanismus für die Ticketverteilung umfaßt, wobei ein Ticket eine Task oder Ereignis in dem System identifiziert, wobei der Mechanismus dadurch gekennzeichnet ist, daß er in den Knoten des Systems auf jeweilige Ticketverteilungszellen verteilt ist und in einem Master-Knoten ein Ticketgenerator-Hardwaremittel und in jedem der Knoten ein Speichermittel für die Adresse des Ticketgenerators sowie ein Steuermittel für den Zugriff auf das Speichermittel des entsprechenden Knotens und auf den Ticketgenerator des Master-Knotens umfaßt.
- Die Erfindung hat als Gegenstände einen Datenverarbeitungsknoten und eine eine Zelle für die Ticketverteilung enthaltende integrierte Schaltung zum Ausführen bzw. Betreiben des oben definierten Verfahrens oder Systems.
- Die Merkmale und Vorteile der Erfindung gehen aus der folgenden beispielhaft gegebenen und mit Bezug auf die beigefügte Zeichnung erstellten Beschreibung hervor.
- In der Zeichnung sind:
- - Fig. 1 ein Blockschaltbild, das die Struktur eines erfindungsgemäßen Datenverarbeitungssystems zeigt;
- - Fig. 2 eine schematische Darstellung einer Struktur des Adreßraums des in Fig. 1 gezeigten Systems;
- - Fig. 3 eine schematische Darstellung der Struktur einer programmierten Ein-/Ausgabe-Adresse eines in dem in Fig. 1 gezeigten System eingesetzten Registers;
- - Fig. 4 eine schematische Darstellung eines Beispiels für die Struktur einer Zelle des in dem in Fig. 1 gezeigten System umgesetzten erfindungsgemäßen Mechanismus für die Ticketverteilung, wobei die gezeigte Zelle in dem lokalen Modul für die Ausführung der programmierten Eingaben eines in jedem Knoten des Systems enthaltenen Moduls für die Kommunikation zwischen den Knoten enthalten ist;
- - Fig. 5 eine schematische Darstellung der Struktur eines Bezugsregisters der in Fig. 4 gezeigten Vorrichtung für die Ticketverteilung;
- - Fig. 6 eine schematische Darstellung der Struktur eines Ticketregisters der in Fig. 4 gezeigten Vorrichtung für die Ticketverteilung;
- - Fig. 7 ein Ablaufplan, der die Schritte eines Beispiels der Ticketerlangungsprozedur bei der Ausführung des Ticketverteilungsverfahrens in dem in Fig. 1 gezeigten System zeigt;
- - Fig. 8 ein Ablaufplan, der die Schritte eines Beispiels der in Fig. 7 angegebenen Fehlerbehandlung bei der Ausführung des Ticketverteilungsverfahrens in dem in Fig. 1 gezeigten System zeigt;
- - Fig. 9 ein Ablaufplan, der die Schritte eines Beispiels der Initialisierungsprozedur bei der Ausführung des Ticketverteilungsverfahrens in dem in Fig. 1 gezeigten System zeigt; und
- - Fig. 10 eine Darstellung der Zustände der zwei Register, die in den Zellen wie etwa der in Fig. 4 gezeigten Zelle der vier Knoten, die in dem in Fig. 1 gezeigten System an den mit Bezug auf die in den Fig. 7 und 8 gezeigten Algorithmen beschriebenen Prozeduren beteiligt sind, enthalten sind.
- Das in Fig. 1 gezeigte Datenverarbeitungssystem SYS enthält mehrere Verarbeitungsknoten N (Nx, Ny, ...), die jeweils ihr eigenes Betriebssystem besitzen und folglich unabhängig voneinander arbeiten. Die Knoten N sind über Übertragungsverbindungen L miteinander verbunden. In dem gezeigten Beispiel sind die Verbindungen L bidirektionale serielle Datenübertragungsverbindungen und tragen in ihren Verweisen Nummern der zwei Knoten, die die jeweiligen Verbindungen verbinden, derart, daß beispielsweise Lxy die Verbindung bezeichnet, die die Knoten Nx und Ny verbindet. Die Verwendung serieller Datenübertragungsverbindungen zwischen den Knoten ist hinsichtlich der Anschlüsse weniger umfangreich als die herkömmlichen parallelen Datenübertragungsverbindungen. Sie ermöglicht folglich die Verwendung einer größeren Anzahl von Punkt-zu-Punkt- Verbindungen mit anderen Knoten und die Übertragung einer größeren Anzahl simultaner Kommunikationen.
- Jeder Knoten enthält mehrere Prozessoren P, deren Verweise die Nummer des Knotens und eventuelle die Rangnummer des Prozessors in dem Knoten angeben. So bezeichnet Pxm den Prozessor des Knotens Nx mit dem Rang m. Das verwirklichte und als Beispiel dienende System SYS enthält acht Knoten mit jeweils sechs Prozessoren. In dem gezeigten Beispiel wurde angenommen, daß jeder Prozessor mit einem Cache-Speicher cm verbunden ist, der in derselben integrierten Schaltung wie der Prozessor integriert sein kann. Jeder Knoten enthält außerdem einen mit den Cache-Speichern verbundenen Systembus SB, einen Speicher M, ein Ein-/Ausgabe-Untersystem IOS und ein Modul für die Kommunikation zwischen den Knoten ISL (Inter System Link). Jeder dieser Komponenten in den gezeigten Knoten Nx und Ny ist ein Index x oder y des betreffenden Knotens zugeteilt. Das Modul ISLx weist wie alle anderen Module des Systems eine interne Schnittstelle mit dem Systembus SBx des Knotens Nx sowie eine externe Schnittstelle mit den Verbindungen L auf, die den Knoten mit den sieben anderen Knoten des Systems verbinden und die Verbindung Lxy umfassen. Jedes gezeigte Modul ISL ist vorzugsweise in einer integrierten Schaltung IC aufgenommen.
- Fig. 2 zeigt ein nicht notwendiges, jedoch vorteilhaftes Merkmal des als Beispiel gegebenen Systems SYS. Gemäß diesem Merkmal kommen in dem System SYS zwei Arten von Adreßräumen vor, nämlich ein Speicherraum MS und ein Ein-/Ausgabe-Raum ISLIO. Ein Speicherraum ist der normalerweise von den Speichern gebildete Raum, während der Ein-/Ausgabe-Raum ISLIO der Adreßraum ist, der für die Register, die die Gesamtheit von Modulen ISL enthalten, verfügbar ist. Diesen zwei Räumen entsprechen zwei Zugriffsarten, die durch die zwei Zustände eines Anforderungsbits T auf dem Systembus SB wiedergeben werden. Es sei angenommen, daß das Anforderungsbit T = 0 dem Zugriff auf den Speicherraum MS entspricht, während T = 1 einem Zugriff auf den Raum ISLIO entspricht. Zum anderen tragen die von den Systembussen übertragenen und auf die zwei betreffenden Räume bezogenen Anforderungen, ausschließlich zur Erleichterung des Verständnisses der Beschreibung, hier verschiedene Namen: die Read/Write-Anforderungen für den Speicherraum und die programmierten Ein- /Ausgabe-Anforderungen PIO Load und PIO Store für den Raum ISLIO.
- Es war zu sehen, daß der Adreßraum ISLIO in einem Modul ISL einem Adreßraum entspricht, auf den der Zugriff über einen Verweis mit einem Anforderungsbit T = 1 erfolgt. Die Adressierungskapazität dieses Raums beträgt beispielsweise 4 Gigabyte. Der Raum ISLIO ist physisch auf alle Knoten verteilt. Fig. 2 zeigt auch diese Verteilung auf die in Fig. 1 angegebenen Knoten Nx und Ny. Jeder Knoten ist durch seinen Systembus SBx bzw. SBy, durch seinen Speicherraum MSx, MSy und durch seinen in den Modulen ISLx bzw. ISLy physisch vorhandenen Raumabschnitt ISLIO schematisch dargestellt. Der in Fig. 2 schematisch und teilweise gezeigte Raum ISLIO bezieht sich auf Adreßräume in den Modulen ISL und unterteilt sich in einen lokalen Raum LSP und in einen globalen Raum GSP. Der lokale Raum LSP, der in Fig. 2 schraffiert ist, enthält Register, die nur über denjenigen Knoten zugänglich sind, zu dem das Modul ISL gehört. Auf dasselbe Register eines Moduls ISL wird unabhängig vom Knoten von den Prozessoren P des Knotens, zu dem das Register gehört, über dieselbe Adresse zugegriffen. Eine Anforderung an eine Adresse des lokalen Raums LSP wird folglich niemals über die Verbindungen L übertragen. Kurz, der Raum LSP ist für den Knoten ein privater Raum. Dies ist in Fig. 2 dadurch angedeutet, daß die durch gestrichelte Linien dargestellten Überträge der lokalen Räume LSPx und LSPy in den Raum ISLIO in denselben lokalen Raum LSP des Raums ISLIO erfolgen. Der globale Raum GSP, der in Fig. 2 gesprenkelt ist, enthält Register, die von allen Knoten des Systems SYS adressierbar sind. Der globale Raum GSP ist in eine Anzahl von Abschnitten unterteilt, die in die Module ISL der jeweiligen Knoten eingepflanzt werden können. Wie in Fig. 2 durch gestrichelte Linien angegeben ist, sind beispielsweise die globalen Räume GSPx und GSPy des Raums ISLIO physisch in die Module ISLx bzw. ISLy eingepflanzt. Der globale Raum GSP ist folglich ein gemeinsamer und physisch verteilter Adreßraum. Beispielsweise kann ein Feld von Bits der Adresse eine Identifikation des Knotens, zu dem das auf diese Adresse bezogene Register gehört, liefern.
- In dem gezeigten Beispiel enthalten die Module ISL Hardware-Betriebsmittel, beispielsweise Register, deren Adressen zum Raum ISLIO gehören. Im Rahmen des betrachteten Beispiels führt ein anfordernder Prozessor eine Gruppe von Befehlen aus, unter denen LOAD einen Lesebefehl bezeichnet, der einer Eingabe in den den Befehl ausführenden Prozessor entspricht, während STORE einen Schreibbefehl bezeichnet, der einer Ausgabe vom Prozessor entspricht. Wenn die Befehle LOAD und STORE ein Register eines Moduls ISL anvisieren, werden Anforderungen PIO Load oder PIO Store, die die Adresse des betreffenden Registers enthalten, auf den dem sendenden Prozessor entsprechenden Systembus gesendet. Das Modul ISL, das dieses Register enthält, empfängt die Anforderungen PIO Load und PIO Store und interpretiert sie. Eine Anforderung PIO Load ist eine Anforderung zum Lesen des Inhalts eines Registers des Moduls ISL, um diesen zum anfordernden Prozessor zu übertragen. Eine Anforderung PIO Store ist eine Anforderung zum Schreiben der genau in dem anfordernden Prozessor vorhandenen und über den Systembus SB verkehrenden Daten in ein Register des Moduls ISL.
- Die Ausführung der Befehle LOAD und STORE durch einen Prozessor ist beendet, wenn der Prozessor eine Antwort auf die Anforderung PIO Load oder PIO Store, die er gesendet hatte, vom Systembus empfängt. Die Antwort auf eine Anforderung PIO Load besteht aus Daten, während die Antwort auf eine Anforderung PIO Store aus einer Quittung besteht. Zum anderen kann jedem Modul ISL befohlen werden, den Zustand einer internen Komponente des Moduls zu verändern oder spezifische Aktionen auszulösen. In diesem Fall besitzen die Befehle die Form von Operationen PIO Load oder PIO Store mit spezifischen Adressen. So spezifiziert die Adresse beispielsweise bei einer Operation PIO Store die zu unternehmende Aktion, während die Daten den Befehl parametrieren können.
- Fig. 3 zeigt ein Beispiel für eine mit PIO Add notierte Adresse. Die gezeigte Adresse PIO Add enthält 32 Bits und umfaßt zwei wesentliche Teile: ein Raumidentifikationsfeld SPACE_ID und ein Betriebsmittelidentifikationsfeld RES_ID. Das Feld SPACE_ID besteht aus höherwertigen Bits, hier den Bits 4 : 11, und repräsentiert eine im Raum ISLIO codierte Identifikation, wobei der Wert 0 beispielsweise den lokalen Raum LSP des Raums ISLIO bezeichnet und die Werte 1-8 die auf die jeweiligen Knoten N1-N8 bezogenen globalen Räume GSP identifizieren. Das Betriebsmittelidentifikationsfeld RES_ID besteht aus niedrigerwertigen Bits 20 : 31 und liefert eine codierte Identifikation der von der Operation anvisierten Betriebsmittel wie beispielsweise eines Registers.
- Das Prinzip der Decodierung einer PIO-Adresse ist folgendes. Wenn das Raumidentifikationsfeld SPACE_ID den Wert 0 besitzt, befindet sich das Register in dem lokalen Raum LSP des Raums ISLIO, wobei die Anforderung an einen lokalen Block LEXx für die Ausführung der programmierten Eingaben, der ein in dem Modul ISLx des betreffenden Knoten Nx befindliches Hardwareelement ist und in Fig. 1 angegeben ist, übertragen wird. Wenn die Raumidentifikation SPACE_ID einem mit NODE_ID notierten Bezeichner des Knotens Nx entspricht, wird die Anforderung ebenfalls zum lokalen Ausführungsblock LEXx übertragen. Andernfalls ist die Anforderung auf einem entfernten Knoten Ny durch den Block LEXy jenes Knotens auszuführen. Sie wird folglich über die Verbindung Lxy übertragen, wobei die Antwort über die Verbindung Lxy zum Knoten Nx zurückkehrt, um auf dem Systembus SBx bis zum anfordernden Prozessor übertragen zu werden.
- Fig. 1 zeigt außerdem ein Beispiel der internen Struktur eines Moduls ISL des Systems SYS in Form eines Blockschaltbilds. Das Modul ISLx beispielsweise ist in einer integrierten Schaltung IC enthalten und umfaßt einen mit dem Systembus SBx verbundenen Decodierer DECx, einen mit den Verbindungen L und dem Decodierer DECx verbundenen Controller CTRx für die Verbindung zwischen den Knoten und den mit dem Decodierer DECx verbundenen lokalen Ausführungsblock LEXx. Der Decodierer DECx empfängt Signale vom Systembus SBx und vom Controller CTRx und decodiert sie, um vor allem die Knoten zu erfahren, für die sie bestimmt sind und sie an ihr Ziel zu leiten. Eine vom Prozessor Pxm stammende und vom Systembus SBx durch den Decodierer DECx empfangene Anforderung wird beispielsweise an den Block LEXx geleitet, wenn die Adresse einen entfernten Knoten Ny bezeichnet. Umgekehrt wird eine über die Verbindung Lxy übertragene und durch den Controller CTRx empfangene Antwort durch den Decodierer DECx an den Systembus SBx oder an den Block LEXx geleitet, um dort verarbeitet zu werden.
- Fig. 1 zeigt außerdem schematisch und teilweise ein Beispiel des in dem System SYS umgesetzten erfindungsgemäßen Mechanismus für die Ticketverteilung MEC. Der Mechanismus MEC ist in den Knoten des Systems auf jeweilige Zellen für die Ticketverteilung DIS verteilt. Um die folgende Darlegung zu vereinfachen, wird angenommen, daß jeder Knoten des Systems eine Zelle DIS enthält. Folglich ist der gezeigte Mechanismus MEC aus acht Zellen DIS (DISx, DISy, ...) gebildet, die in den jeweiligen acht Knoten N des Systems SYS enthalten sind.
- Fig. 4 zeigt schematisch ein Beispiel der bevorzugten Struktur einer erfindungsgemäßen Zelle für die Ticketverteilung DIS. In diesem Beispiel ist die Zelle DIS in jedem Knoten N von gleicher Art und in dem lokalen Ausführungsblock LEX des Kommunikationsmoduls ISL des betreffenden Knotens enthalten. Sie enthält eine Bezugsregister REF, einen Ticketgenerator TICK, einen Zähler COMP und eine Steuereinrichtung CTL. Die Steuereinrichtung CTL ist mit dem Zähler COMP, dem Register REF und dem Ticketgenerator TICK verbunden. Der Ticketgenerator TICK ist ebenfalls mit dem Zähler COMP verbunden und in dem gezeigten Beispiel aus einem als Ticketregister bezeichneten Register gebildet. Die Steuereinrichtung CTL ist außerdem außerhalb des Blocks LEX mit dem Decodierer DEC des Knotens verbunden. Über die Steuereinrichtung CTL kann somit zum Lesen und zum Schreiben auf die Register REF und TICK zugegriffen werden. In einem bestimmten Knoten (beispielsweise Nx) bezieht die Bezeichnung der Zelle und ihrer Elemente die Nummer dieses Knoten mit ein (DISx, CTLx, ...).
- Fig. 5 zeigt ein Beispiel des Formats des Bezugsregisters. Dies ist ein Register mit vier Bytes, das ein Ticketadreßfeld TICK_ID enthält Das Feld TICK_ID repräsentiert die globale physische Adresse des Ticketregisters TICK und liefert den Zugriffspfad auf dieses Register. Das Bezugsregister wird über zwei Adressen des Raums ISLIO gesteuert, die mit REF-LOCAL-ADD und REF-GOBAL-ADD bezeichnet sind. Die lokale Adresse REF-LOCAL-ADD des lokalen Raums LSP wird in einer Leseoperation PIO Load verwendet, um den Zugriff auf ein Ticketregister TICK zu erlangen. Die globale Adresse REF-GOBAL-ADD des globalen Raums GSP wird in einer Operation PIO Load verwendet, um eine Prozedur zur Migration der Ticketverteilung anzufordern, und in einer Operation PIO Store verwendet, um den Zugriffspfad auf ein Ticketregister TICK zu modifizieren, wie weiter unten beschrieben wird.
- Fig. 6 zeigt ein Beispiel des Formats des Ticketregisters TICK. Dies ist eine Registerbank mit acht Bytes, die drei Felder enthält: ein aus einem Bit (Bit mit Rang 0) gebildetes und die Gültigkeit des Tickets repräsentierendes Validierungsfeld VAL, ein aus den verbleibenden Bits der zwei ersten Bytes (Bits 1 : 15) gebildetes und die Sitzungsnummer repräsentierendes Sitzungsfeld SESS und ein aus den sechs folgenden Bytes (Bits 16-63) gebildetes und den Wert des Zählers COMP repräsentierendes Zählfeld COUNT. Das Ticketregister ist im globalen Raum zugänglich. Im Betrieb liefert eine an die durch das Feld TICK_ID des Bezugsregisters REF repräsentierte Adresse gerichtete Leseoperation PIO Load den Inhalt des Ticketregisters TICK und inkrementiert den Zähler COMP sowie das dem Ticketregister TICK zugeordnete Feld COUNT. Eine Schreiboperation an dieselbe Adresse legt die Daten in den Feldern SESS und VAL ab und setzt den Zähler COMP auf null zurück. Das Sitzungsfeld SESS und das Zählfeld COUNT bilden die Nummer des Tickets. Das Zählfeld COUNT bezieht sich auf die in dem Feld SESS angegebene Sitzung. Das Sitzungsfeld SESS identifiziert jedes Zeitintervall in der Reihenfolge des Zugriffs auf das einzige gültige Ticketregister in dem System SYS. Das Feld SESS repräsentiert folglich eine ununterbrochene Zeitperiode der Ticketverteilung durch den Ticketgenerator in dem Master-Knoten. Wenn der Master-Knoten ein vorgegebener Knoten ist, verändert sich das Feld SESS nach und nach infolge aufeinanderfolgender Ausfälle und Initialisierungen des Knotens oder des Mechanismus für die Ticketverteilung. Wenn der Master-Knoten wechseln kann, verändert sich das Feld SESS nach und nach mit jedem Wechsel des Master-Knotens und/oder mit jeder Initialisierung des Master- Knotens. Das Zählfeld COUNT des Registers TICK, das ein gültiges Ticket liefert, identifiziert den laufenden Zugriff in dem durch das Feld SESS identifizierten Zeitintervall. Es repräsentiert folglich im Verlauf eines durch das Feld SESS identifizierten Sitzung die Anzahl der Zugriffe auf den Ticketgenerator des Master-Knotens zum Zeitpunkt des Zugriffs auf diesen Generator zur Erlangung eines Tickets. Es war zu sehen, daß es bei einer an die durch das Feld TICK_ID angegebene Adresse gerichteten Operation PIO Store auf null zurückgesetzt wird. Es wird angenommen, daß die Reihenfolge des Zugriffs durch Inkrementieren der Felder SESS und COUNT aufsteigend verfolgt wird und daß die Validierung durch das Bit VAL = 1 repräsentiert ist. Es könnte selbstverständlich auch absteigend vorgegangen werden.
- Die Steuereinrichtung CTL führt den Lese- oder Schreibzugriff auf die Register einer Zelle DIS, zu der sie gehört, oder auf die Register der Zellen DIS der anderen Knoten aus. Durch einen Lesezugriff erhält die Steuereinrichtung CTL den Inhalt der Register der Zelle DIS, während ein Schreibzugriff dort Daten ablegt. Die Steuereinrichtung CTL kennt die Nummer des Knotens, zu dem sie gehört, und die Adressen der Register REF und TICK. Ein Lesezugriff auf das Register REF an der Adresse REF-LOCAL-ADD durch den oder die Prozessoren des Knotens ist eine Ticketanforderung und löst eine Aktion des Steuereinrichtung CTL aus. Diese Aktion besteht in der Erlangung des Tickets, um dieses als Antwort auf den Lesezugriff zu geben. Die Einzigartigkeit des Tickets beruht darauf, daß es stets nur ein einziges Register TICK für ein gültiges Ticket gibt. Der Knoten, der das einzige Register für ein gültiges Ticket enthält, wird als Master-Knoten bezeichnet, während die Verteilerzelle DIS eines gültigen Tickets als Ticketverteiler bezeichnet wird. Folglich besitzt lediglich das Master-Register TICK ein Feld VAL = 1.
- Das erfindungsgemäße Ticketverteilungsverfahren umfaßt gemäß dem betrachteten Beispiel eine Ticketerlangungsprozedur TICK-GET, eine Fehlerbehandlungsprozedur TICK-MISS und eine Initialisierungsprozedur INIT, die durch die Ablaufpläne der Fig. 7, 8 bzw. 9 veranschaulicht werden.
- Fig. 10 ist eine schematische und teilweise Darstellung des Mechanismus für die Ticketverteilung MEC, der auf die vier Knoten des Systems SYS, die an dem mit Bezug auf die Fig. 7 und 8 beschriebenen Verfahren beteiligt sind, verteilt ist. Fig. 10 zeigt die Register REF und TICK der entsprechenden Zellen und die Zustände, die diese Register bei der Ticketerlangungsprozedur TICK-GET und der Fehlerbehandlungsprozedur TICK-MISS annehmen. Der linke Teil bezieht sich auf die Prozedur TICK-GET, wobei angenommen wird, daß der Knoten Ny der Master-Knoten ist und daß der eine Ticket anfordernde Knoten der Knoten Nx ist. Der rechte Teil bezieht sich auf die Prozedur TICK-MISS.
- Fig. 7 zeigt Schritte der Ticketerlangungsprozedur TICK-GET, wobei die Zustände der Register REF und TICK während dieser Prozedur im linken Teil der in Fig. 10 gezeigten Knoten angegeben sind.
- Im Schritt 1 wird angenommen, daß die in dem System SYS im Knoten Nx ablaufende Software eine Ticket erlangen will. Ein Prozessor Pxm des Knotens Nx, der diese Software ausführt, verarbeitet dann einen Befehl zum Lesen des Registers REFx an der Adresse REF-LOCAL-ADD des lokalen Raums LSP des Raums ISLIO. Dies führt zu einer Anforderung REQx (Anforderung PIO Load) zum Lesen des Registers REFx der Zelle DISx des Knotens Nx. Der Decodierer DECx empfängt die Anforderung REQx, decodiert sie und überträgt sie zur Steuereinrichtung CTLx.
- Im Schritt 2 liest die Steuereinrichtung CTLx das Register REFx und analysiert das Feld TICK_ID des Registers REFx, das die Adresse des Ticketregisters TICK des Ticketverteilers DIS in dem System SYS liefert. Dieses Register wird als Master-Ticketregister bezeichnet.
- Im Schritt 3 prüft die Steuereinrichtung CTLx, ob das Master-Ticketregister das Register TICKx des Knotens Nx ist.
- Der Schritt 4 findet statt, wenn der Knoten Nx der Master-Knoten ist. In diesem Fall entspricht der Inhalt TICK_ID des Registers REFx der Adresse des Registers TICKx (TICK_ID = TICKx_ADD). Dieser Schritt ist in Fig. 10 nicht gezeigt. Die Steuereinrichtung CTLx liest das Ticketregister TICKx und überträgt seinen Inhalt an den Prozessor Pxm. Unter der Annahme, daß die aktuelle Sitzung der Zugriffe auf das gültige Ticketregister TICKx den Wert B besitzt und daß die Anzahl der Zugriffe auf dieses Register in dieser Sitzung p ist, empfängt der Prozessor Pxm folglich den folgenden Inhalt des Registers TICKx, das den Inhalt des empfangenen Tickets repräsentiert:
- TICKx: VALx = 1, SESSx = B, COUNTx = p.
- Danach inkrementiert die Steuereinrichtung CTLx den Zähler COMPx im selben Schritt um eine Einheit. Das neue Zählfeld COUNTx des Registers TICKx wird folglich ebenfalls um eine Einheit inkrementiert (COUNTx = p + 1). Die Nummer des nächsten Tickets ist somit B, p + 1.
- Der Schritt S findet statt, wenn die von dem Bezugsregister REFx gegebene Adresse TICK_ID angibt, daß sich das Master-Ticketregister in einem entfernten Knoten, beispielsweise dem Knoten Ny, befindet, der somit der Master-Knoten ist (TICK_ID = TICKy_ADD). Die Steuereinrichtung CTLx sendet einen Befehl zum Lesen des Ticketregisters TICKy des Knotens Ny. Dieser Befehl läuft über einen Zugriffspfad, der den Decodierer DECx, den Controller CTRx, die Verbindung Lxy, der Controller CTRy, den Decodierer DECy und die Steuereinrichtung CTLy des Ticketverteilers DISy umfaßt.
- Es ist dann wichtig, zu erfahren, ob das Master-Register TICKy über CTLx zugänglich ist oder nicht. Das Register TICKy kann im Fall eines Fehlers des Knotens Ny oder auf dem Zugriffspfad zum Master-Register TICKy, beispielsweise infolge eines Ausfalls der Verbindung Lxy, nicht zugänglich sein.
- Der Schritt 6 erfolgt, wenn das Master-Register TICKy zugänglich ist. Dann liest die Steuereinrichtung CTLy den Inhalt dieses Registers und sendet ihn an den anfordernden Knoten als Antwort auf seine Anforderung. Die in dem Register TICKy gelesene und an den Knoten Nx gesendete Nummer des Tickets ist folglich SESSy = B und COUNTy = q. Der Controller CTRx des Moduls ISLx des Knotens Nx empfängt die Antwort und sendet sie an die Steuereinrichtung CTLx.
- Im Anschluß an das Lesen des Registers TICKy inkrementiert die Steuereinrichtung CTLy den Zähler COMPy und folglich das Zählfeld COUNTy des Registers TICKy (COUNTy = COUNTy + 1).
- Im Schritt 7 prüft die Steuereinrichtung CTLx, ob der Inhalt des Registers TICKy gültig ist. Die Gültigkeit wird durch den Wert des Feldes VAL angegeben (VAL = 1) und bedeutet, daß das Register TICKy das Master-Ticketregister in dem System SYS ist. Wenn der Inhalt des Registers TICKy gültig ist, bildet er das angeforderte Ticket.
- Der Schritt 8 erfolgt, wenn der Inhalt des Master-Registers TICKy gültig ist. Die Steuereinrichtung CTLx überträgt folglich das Ticket an den anfordernden Prozessor Pxm als Antwort auf die Anforderung REQx zum Lesen des Bezugsregisters REFx.
- Der Schritt 9 findet statt, wenn das Ticketregister TICKy zugänglich ist, jedoch sein Inhalt nicht gültig ist. Dies bedeutet, daß der Knoten zum Zeitpunkt des Lesens des Registers TICKy nicht mehr der Master-Knoten ist und daß zwischen dem Zeitpunkt des Lesens des Bezugsregisters REFy im Schritt 2 und dem Zeitpunkt des Lesens des durch das Register REFx bezeichneten Master-Registers TICKy der Mechanismus ein anderes Master-Register bezeichnet und wirksam gemacht hat und das Master-Register TICKy ungültig gemacht hat. Die dem Wechsel des Master-Registers entsprechende Operation wird als Migration des Master-Ticketregisters oder als Migration des Ticketverteilers bezeichnet und weiter unten beschrieben. Der Schritt 9 besteht in der Rückkehr zum Schritt 2. Wenn die Migration abgeschlossen ist, empfängt der Knoten Nx das Ticket von dem neuen Master-Knoten. Andernfalls ermöglicht die Wiederholung dieses Zyklus ein Empfangen des angeforderten Tickets.
- Der Schritt 10 findet statt, wenn das Master-Register TICKy nicht zugänglich ist. Die Steuereinrichtung CTLx des anfordernden Knotens Nx empfängt eine negative Antwort auf ihre Anforderung. Dieser Schritt repräsentiert folglich einen Mißerfolg der von dem Prozessor Pxm gestellten Anforderung infolge eines Ausfalls. Diese Antwort löst die Fehlerbehandlungsprozedur TICK-MISS des Ticketverteilungsverfahrens aus.
- Der Schritt 11 setzt voraus, daß die in Fig. 8 gezeigte Fehlerbehandlungsprozedur TICK-MISS die Prozedur P2 für die Migration des Master-Registers enthält. Der Schritt 11 der Prozedur TICK-GET besteht also ähnlich wie der Schritt 9 im Wiederholen der Ticketanforderung durch Rückkehr zum Schritt 2.
- Fig. 8 zeigt ein Beispiel der Fehlerbehandlungsprozedur TICK-MISS. Diese Prozedur wird im Schritt 10 der Ticketerlangungsprozedur TICK-GET ausgelöst.
- Die Prozedur TICK_MISS ist durch die Beschaffenheit des Systems SYS bedingt. Die Fehlerbehandlung ist je nachdem, ob das System von einer durch die Hardware verstärkten hohen Verfügbarkeit ist oder nicht ist, verschieden.
- Die Fehlerbehandlungsprozedur P1 findet statt, wenn das System nicht hochverfügbar ist. Die Steuereinrichtung CTLx des anfordernden Knotens Nx kann beispielsweise als Antwort auf die Anforderung REQx des Prozessors Pxm den ungültigen Inhalt des Ticketregisters TICKy (VAL = 0) zurücksenden. Die laufende Task des Prozessors Pxm kann nicht fortgeführt werden. Sie endet oder bricht vorzeitig ab, wobei eine Nachricht angibt, daß infolge eines Fehlers des Knotens Ny oder auf dem Pfad zwischen der Steuereinrichtung CTLx und dem Ticketregister TICKy ein Fehlschlagen erfolgte. Der Prozessor Pxm könnte die Task nur erneut ausführen, wenn der Master-Knoten Ny wieder aktiv ist oder wenn das Register TICKy wieder zugänglich geworden ist oder auch wenn ein anderes Master-Register aktiviert worden ist und der Mechanismus für die Ticketverteilung neu initialisiert worden ist.
- Die Prozedur P2 findet statt, wenn das System von einer durch die Hardware verstärkten hohen Verfügbarkeit ist. Die Prozedur P2 wird als Prozedur für die automatische Migration TICK-MIG des unzugänglichen Master-Ticketregisters TICKy an einen Stellvertreterknoten Ns bezeichnet. Die Beschreibung der Prozedur P2 erfordert zuvor die Präsentation der Initialisierungsprozedur INIT.
- Damit die Ticketerlangungsprozedur TICK-GET normal abläuft, müssen sämtliche Register REF und TICK des auf alle Knoten des Systems SYS verteilten Mechanismus für die Ticketverteilung MEC beim Starten des Mechanismus MEC korrekt initialisiert worden sein. Dazu läuft in dem gewählten Knoten eine Initialisierungssoftwareroutine ab, damit dieser, im vorliegenden Fall Ny, der erste Master-Knoten ist.
- Fig. 9 zeigt ein Beispiel des Algorithmus, der die Initialisierungsprozedur INIIT repräsentiert. Sie beinhaltet die folgenden Schritte, die sämtlich Schreiboperationen entsprechen.
- Im Schritt 1 wird der Master-Knoten Ny bezeichnet und werden seine Register REFy und TICKy initialisiert. In dem Register TICKy wird das Feld VAL validiert (VALy = 1), nimmt das Sitzungsfeld SESSy einen vorgegebenen Anfangswert A an, der zu Beginn beispielsweise 1 sein kann, und wird der Zähler COMP auf null zurückgesetzt, woraus COUNTy = 0 folgt. In dem Register REFy wird in das Feld TICK_ID die Adresse des Register TICKy eingetragen (TICK_ID = TICKy_ADD).
- Es sei angemerkt, daß dann, wenn die obenbeschriebene Prozedur TICK-GET unmittelbar nach der Initialisierung stattgefunden hat, das Ticket die Nummer von TICKy bei der Initialisierung hätte. Jedoch nimmt die beschriebene und in Fig. 10 abgegebene Nummer eine andere Sitzung B und eine andere Zählung COUNT mit dem Wert q an.
- Im Schritt 2 der Initialisierungsprozedur wird ein Stellvertreterknoten bezeichnet. Er kann nach einer einfachen Regel, die bei der Konzeption des Systems gewählt wird, bestimmt werden. In dem gezeigten Beispiel bezeichnet das System SYS als Stellvertreterknoten Ns den Knoten mit der Nummer nächsthöherer Ordnung (Ns = Ny + 1). Die Register des Stellvertreterknotens werden dann initialisiert. In dem Stellvertreter-Ticketregister TICKS wird das Feld VAL unwirksam gemacht (VALs = 0), wobei das Feld SESSs den um eine Einheit inkrementierten Anfangswert A des Master-Registers annimmt (SESSs = A + 1) und der Zähler COMP auf null gesetzt wird (COUNTs = 0). In dem Stellvertreter-Bezugsregister REFs wird in das Feld TICK_ID die Adresse des Registers TICKy eingetragen.
- Es sei insbesondere angemerkt, daß das Stellvertreter-Ticketregister TICKs im gezeigten Beispiel bezeichnet wird, indem in sein Sitzungsfeld die Nummer der nachfolgenden Sitzung, bei der es das Master-Register ist, eingetragen wird und indem sein Feld COUNT auf null gesetzt wird. In dem mit Bezug auf die Fig. 7 und 10 beschriebenen Zustand der Prozedur TICK-GET, der nach der Initialisierung folgt, wird angenommen, daß die Sitzung die Nummer B hat. Das Stellvertreterregister TICKS hat somit den folgenden Inhalt, wenn das Master-Register Ny gültig ist:
- TICKs: VALs = 0, SESSs = B + 1 und COUNTs = 0.
- Dieser Inhalt erscheint folglich in Fig. 10.
- Im Schritt 3 der Initialisierungsprozedur werden die Register aller anderem Knoten aktualisiert, wobei der Knoten Nx als Beispiel gewählt worden ist. In dem Register TICKs wird das Feld VAL unwirksam gemacht (VALx = 0), nimmt das Feld SESS den Wert null an (SESSx = 0) und wird der Zähler COMP auf null zurückgesetzt (daher COUNTx = 0). In dem Register REFx nimmt das Feld TICK_ID die Adresse des Registers TICKy an. In diesem Schritt werden alle Komponenten des Ticketverteilungsdienstes initialisiert, so daß die Ticketeriangungsprozedur TICK-GET beginnen und wiederholt ausgeführt werden kann.
- Fig. 8 zeigt die Schritte eines Beispiels für die Migrationsprozedur P2 TICK-MIG. Fig. 10 gibt die durch die Migration des Master-Ticketregisters bedingte Veränderung der Zustände der Register REF und TICK an.
- Die Prozedur TICK-MIG besteht im Aktivieren des Stellvertreterknotens Ns und im Deaktivieren des Master-Knotens Ny. In dem gezeigten Beispiel führt der Stellvertreterknoten Ns die Migration des Ticketverteilers aus. Die Prozedur TICK-MIG kann im Stellvertreterknoten entweder durch seine Steuereinrichtung CTLs oder durch eine Softwareroutine, die von einer von dieser Steuereinrichtung stammenden Unterbrechung ausgelöst wird, ausgeführt werden. Wenn die Migration beendet ist, wird der Stellvertreterknoten Ns zum neuen Master-Knoten, wobei ein neuer Stellvertreterknoten Nt zur Gewährleistung der Kontinuität der Ticketverteilung im Fall eines fehlschlagenden Zugriffs auf das neue Master- Register TICKs bereitsteht.
- Der Schritt 1 der Prozedur TICK-MIG besteht im Aktivieren des Steilvertreterknotens Ns. Er findet unmittelbar statt, wenn der Knoten, in dem ein Fehler aufgetreten ist, der Stellvertreterknoten ist. Im vorliegenden Fall: Ns = Nx. Der Knoten Nx weiß, daß er der Stellvertreterknoten ist, weil entweder das Feld TICK_ID seines Bezugsregisters REFx angibt, daß der Master-Knoten Ny den Wert Nx - 1 hat, oder weil das Sitzungsfeld SESSx von null verschieden ist. Dieser Fall ist in Fig. 10 nicht gezeigt.
- Der Schritt 2 findet statt, wenn der Stellvertreterknoten Ns nicht der anfordernde Knoten Nx ist. Die Steuereinrichtung CTLx der Zelle DISx fordert die Migration des Ticketverteilers an den Stellvertreterknoten Ns an, indem sie einen Lesezugriff auf die Adresse REF-GLOBAL-ADD des Registers REFs des Stellvertreterknotens ausführt. Dieser Schritt führt zum Schritt 1 des Aktivierens des Ticketverteilers DISs.
- Der Schritt 3 besteht im Anfordern der Verriegelung des Master-Knotens Ny, damit er kein gültiges Ticket mehr verteilen kann. Diese Operation ist ohne Wirkung, wenn der Knoten Ny wirklich fehlerhaft ist. Umgekehrt ist das Master- Ticketregister TICKy dann, wenn der Fehler beispielsweise durch einen Ausfall der Verbindung Lxy bedingt ist, für den anfordernden Knoten unzugänglich, während er an die anderen Knoten des Systems weiterhin gültige Tickets liefern kann. Der Schritt 4 stellt folglich eine Sicherheit für die Gewährleistung der Einzigartigkeit der gelieferten Tickets dar. Der neue Inhalt des Registers TICKy ist folglich:
- TICKy: VALy = 0, SESSy = 0 und COUNTy = 0.
- Der Schritt 4 besteht im Lesen eines neuen Stellvertreters Nt. In das Feld SESSt des Registers TICKt wird folglich die Nummer der nachfolgenden Sitzung eingetragen: SESSt = SESSs + 1 = B + 2.
- Im Schritt S wird der Stellvertreterknoten Ns zum neuen Master, weshalb das Feld VALs seines Registers TICKs validiert wird (VALs = 1).
- Im Schritt 6 empfangen alle Knoten des Systems SYS den Zugriffspfad auf den neuen Generator TICKS für ein gültiges Ticket. Dies erfolgt durch Eintragen der Adresse des neuen Master-Ticketregisters TICKs (TICK_ID = TICKs_ADD) in das Feld TICK_ID der Register REF aller Knoten. Dieser Schritt beendet die Migrationsprozedur TICK-MIG. Das Wiederholen der Anforderung eines Tickets durch die Steuereinrichtung CTLx gemäß dem Schritt 11 der in Fig. 7 gezeigten Prozedur TICK-GET führt zum Lesen der neuen Adresse TICKS_ADD des Master-Ticketregisters TICKS und zur Erlangung daraus eines gültigen Tickets.
- Aus dieser Beschreibung geht hervor, daß das bevorzugte Beispiel des erfindungsgemäßen Verfahrens von den Steuereinrichtungen CTL in den Ticketverteilungszellen eine relativ komplexe Arbeitsweise verlangt. Allgemein sind mehrere Lösungen zur Entlastung des Betriebs der Zellen DIS möglich. Jedoch äußert sich eine stärkere Vereinfachung der Ausführung des Verfahrens der Erfindung in einer proportionalen Verringerung der Leistungen des erfindungsgemäßen Ticketverteilungsverfahrens.
- Gemäß einem ersten Beispiel wird die Migrationsprozedur TICK-MIG, wie gezeigt ist, nicht von der Steuereinrichtung CTL, sondern vollständig von einer Softwareroutine ausgeführt. In diesem Fall kann die Funktion der Steuereinrichtung CTL durch einen Prozessor P des Knotens oder durch einen Mikroprozessor, der in dem Modul, das auf die Register REF und TICK zugreift, wie etwa das Modul ISL in dem gezeigten Beispiel enthalten ist, erfüllt werden. Je nach gewählter Aufteilung zwischen dem, was in Form von Hardware durch die Steuereinrichtung CTL ausgeführt wird, und dem, was in Form von Software ausgeführt wird, können mehrere Varianten vorkommen.
- Gemäß einem zweiten Beispiel kann eine stärkere Vereinfachung erzielt werden, indem die gesamte Prozedur TICK-GET oder ein Teil von dieser durch einen Prozessor eines jeden beteiligten Knotens oder durch einen Mikroprozessor oder einen Mikrocontroller, der in dem Modul enthalten ist, das auf die Register REF und TICK zugreift, wie etwa das Modul ISL im gezeigten Beispiel verarbeitet wird.
- Weitere Varianten, die dem Fachmann anhand des gezeigten Beispiels offenbar werden, können eingebracht werden. Beispielsweise wurde zur Vereinfachung der vorliegenden Darlegung angenommen, daß der Mechanismus für die Ticketverteilung MEC auf alle Knoten des Systems SYS verteilt ist. Jedoch können nicht alle Knoten eines Systems Tickets benötigen, weshalb der Mechanismus für die Ticketverteilung nur einen Teil der Knoten, wenigstens zwei, beteiligt. Zum anderen kann jeder Knoten eine beliebige Anzahl von Prozessoren enthalten, wobei die Verbindungen L zwischen den Knoten serielle oder parallele Verbindungen sein können. Ferner kann ein Modul ISL für die Verbindungen zwischen den Knoten als ein Element des Ein-/Ausgabe-Untersystems IOS des Knotens betrachtet werden und dort enthalten sein.
- Aus der vorliegende Beschreibung des Mechanismus für die Ticketverteilung MEC geht auch hervor, daß jeder beteiligte Knoten die Adresse TICK_ID des Master-Ticketregisters enthalten muß. Jedoch könnte diese Adresse in einem anderen Mittel als dem gezeigten Bezugsregister REF gespeichert werden. Dieses Mittel kann beispielsweise der Speicher M des Knotens sein, wobei die Adresse TICK_ID an einer Stelle in diesem Speicher gespeichert würde. In diesem Fall könnte der Zugriff auf diese Stelle von jedem Prozessor P des Knotens schnell ausgeführt werden. Die Verwendung des Registers REF ist vorzuziehen, wenn es mit einer gezeigten Steuereinrichtung CTL oder, wie ebenfalls zu sehen war, mit einem Mikroprozessor oder einem Mikrocontroller, die dem Prozessor das Ausführen der gesamten Prozedur TICK-GET und/oder der Prozedur TICK-MIG abnehmen, in Beziehung stehen kann.
- Zum anderen ist es nicht erforderlich, daß jeder Knoten ein Ticketregister TICK enthält. Es kann lediglich der Master-Knoten in dem System einen Ticketgenerator TICK enthalten. Es kann außerdem, wie dies in der gezeigten Fehlerbehandlungsprozedur TICK-MIG der Fall ist, wenigstens ein Knoten mit einem Ticketregister TICK vorgesehen werden, der die Rolle des Stellvertreters spielt. In einem System mit einer kleinen Anzahl von Knoten ist vorzuziehen, daß jeder Knoten ein Ticketregister TICK enthält. Jedoch könnten in einem System mit einer großen Anzahl von beteiligten Knoten lediglich die allgemein operativen Knoten ein Ticketregister TICK besitzen. Zum anderen gibt die vorangegangene Beschreibung eines Ticketregisters TICK als Ticketgenerator-Hardwaremittel lediglich ein Beispiel von vielen. In einer vereinfachten Form könnte der Ticketgenerator TICK lediglich ein Zähler wie etwa der Zähler COMP sein. Der Vorteil des Registers TICK liegt darin, daß neben dem Feld COUNT weitere Felder enthalten sein können. Das Validierungsfeld VAL ist nicht erforderlich, wenn lediglich ein Knoten einen Ticketgenerator enthält. Das gleiche gilt für das Sitzungsfeld SESS in dem Fall, in dem beispielsweise lediglich ein Knoten einen Ticketgenerator enthält und die Anzahl der Zugriffe auf dieses Register unabhängig von Fehlern des Knotens stets verbucht wird, so daß die Einzigartigkeit der Tickets über einen langen Zeitraum bewahrt wird und dadurch sichergestellt wird, daß Konflikte zwischen Tickets völlig ausgeschlossen sind.
- Allgemein hat die Erfindung ein Verfahren zum Verteilen eines Tickets zum Gegenstand, das eine Task oder ein Ereignis in einem Datenverarbeitungssystem SYS mit mehreren Knoten identifiziert, wobei das Verfahren darin besteht, unter den Knoten des Systems einen Master-Knoten Ny für die Verteilung des Tickets zu bestimmen, in diesem ein Ticketgenerator-Hardwaremittel TICK vorzusehen, die Adresse TICK_ID des Ticketgenerators in den Knoten zu speichern und dann, wenn einer der Knoten ein Ticket anfordert, die Adresse in dem anfordernden Knoten zu lesen und auf den Ticketgenerator zuzugreifen.
- Gemäß einer ersten gezeigten Weiterentwicklung wird jedes Ticket über ein erstes Feld SESS, das eine ununterbrochene Zeitperiode der Verteilung des Tickets durch den Ticketgenerator im Master-Knoten repräsentiert, und ein zweites Feld COUNT, das während dieser Periode die Anzahl der zum Zeitpunkt des dieser Ticketanforderung entsprechenden Zugriffs bereits ausgeführten Zugriffe auf den Ticketgenerator repräsentiert, identifiziert. Es war zu sehen, daß der Übergang von einer Sitzung zur anderen einem Ortswechsel des Ticketgenerators oder einem Ausfall des Master-Knotens entsprechen kann. Sie ermöglicht außerdem unter Bewahrung der Einzigartigkeit des Tickets das Neuinitialisieren des Zählfeldes COUNT.
- Obwohl ein einziger Knoten ein Ticketgenerator-Hardwaremittel besitzen könnte, besteht eine zweite gezeigte Weiterentwicklung darin, ein Ticketgenerator-Hardwaremittel in wenigstens zwei Knoten des Systems aufzunehmen und nur den Ticketgenerator des Master-Knotens zu validieren. Dies bietet den Vorteil, den Master-Knoten ersetzen zu können. Einer der möglichen Gründe für ein Ersetzen ist ein Fehler des Master-Knotens oder auf dem Zugriffspfad zum Master- Ticketregister. Im gezeigten Beispiel bestimmt der Mechanismus für die Ticketverteilung einen Stellvertreterknoten Ns als Ersatz für den Master-Knoten. Das Bezeichnen des Stellvertreterknotens kann auf andere Weise als der gezeigten erfolgen. Das Ersetzen kann außerdem, insbesondere in Abhängigkeit davon, ob das System von durch die Hardware verstärkter hoher Verfügbarkeit ist oder nicht ist, auf unterschiedliche Weise erfolgen. Mit anderen Worten kann ein System in verschiedenem Maße fehlertolerant sein. Wenn dies der Fall ist, bewirkt die beispielhaft beschriebene Option eine wesentliche Verbesserung der Leistungen, indem sie eine automatische Ersetzungsprozedur, die als Migration TICK-MIG bezeichnet wird, ausführt.
- Die Migrationsprozedur aktualisiert in kohärenter Weise die Ticketgeneratoren TICK und die Bezugsregister REF in allen beteiligten Knoten, um die Einzigartigkeit des Tickets und Kontinuität der Verteilung sicherzustellen. Dieses Aktualisieren erfolgt vorzugsweise, wie gezeigt ist, durch aufeinanderfolgende Schreibvorgänge, derart, daß jeglicher Konflikt in dem Mechanismus MEC, der seiner Kohärenz abträglich sein könnte, vermieden wird. Durch diese Prozedur wird der Stellvertreterknoten zum neuen Host-Knoten des Generators für ein gültiges Ticket. Dann wird als Folge die Adresse TICK_ID des Ticketgenerators in allen Bezugsregister REF modifiziert. Ferner wird der Ticketgenerator des vorhergehenden Master-Knotens unwirksam gemacht. Das gezeigte Beispiel weist weitere wahlfreie, jedoch vorteilhafte Merkmale auf. Erstens wird der Stellvertreterknoten mit dem Ersetzen, d. h. hier mit dem Ausführen der Migrationsprozedur beauftragt. Ferner führt der ein Ticket anfordernde Knoten, wenn er auf den Ticketgenerator des Master-Knotens nicht zugreifen kann und wenn er der Stellvertreterknoten ist, die Migration aus. Wenn der ein Ticket anfordernde Knoten nicht der Stellvertreterknoten ist, fordert er den Stellvertreterknoten auf, den Master-Knoten zu ersetzen. Diese Anforderung erfolgt mittels eines spezifischen Zugriffs auf ein Register der Zelle DIS des Stellvertreterknotens, wobei der Zugriff im vorliegenden Fall in einem Fernlesen des Registers REF des Stellvertreterknotens besteht. In beiden Fällen reicht es aus, wenn der ein Ticket anfordernde Knoten die Ticketanforderung wiederholt, um auf den neuen Master-Generator zuzugreifen. Die Ticketanforderung wird auch wiederholt, wenn die vorangegangene Anforderung während der Periode des Ersetzens des Master-Knotens erfolgte, um dann auf den neuen Master-Generator zuzugreifen. Selbstverständlich bieten sich weitere Möglichkeiten an.
- Daraus ergibt sich ein Datenverarbeitungssystem SYS mit mehreren Knoten, das einen Mechanismus MEC für die Ticketverteilung in Knoten des Systems umfaßt, wobei ein Ticket eine Task oder ein Ereignis in dem System identifiziert und wobei der Mechanismus in einem Master-Knoten ein Ticketgenerator-Hardwaremittel TICK und in jedem der Knoten ein Speichermittel REF für die Adresse TICK_ID des Ticketgenerators sowie ein Steuermittel (P, CTL) für den Zugriff auf das Speichermittel des entsprechenden Knotens und auf den Ticketgenerator des Master-Knotens umfaßt.
- Diese Definition ist auf jene des Verfahrens zugeschnitten und schließt den Begriff "Ticketverteilungszelle DIS" des gezeigten Mechanismus nicht mit ein. Die Definition einer solchen Zelle kann jedoch erweitert werden. Es wurde gesagt, daß das Speichermittel ein Speicher oder eine Speicherstelle sein kann. Ebenso kann das Steuermittel für den Zugriff auf das Speichermittel REF und auf den Ticketgenerator TICK statt einer Einrichtung CTL ein Prozessor des Knotens sein. Die aus der Erfindung folgende Definition versteht unter dem Begriff "Zelle" auch einen Prozessor.
- Ein erfindungsgemäßes Datenverarbeitungssystem SYS mit mehreren Knoten umfaßt einen Mechanismus MEC für die Ticketverteilung, wobei ein Ticket eine Task oder ein Ereignis in dem System identifiziert und der Mechanismus, der in den Knoten des Systems auf jeweilige Ticketverteilungszellen DIS verteilt ist, in einem Master-Knoten ein Ticketgenerator-Hardwaremittel und in jedem der Knoten ein Speichermittel (REF) für die Adresse (TICK_ID) des Ticketgenerators sowie ein Steuermittel (P, CTL) für den Zugriff auf das Speichermittel des entsprechenden Knotens und auf den Ticketgenerator des Master-Knotens umfaßt.
- Gemäß einer Variante des gezeigten Beispiels enthalten die Zellen wenigstens zweier Knoten jeweils ein Ticketgenerator-Hardwaremittel und umfaßt der Mechanismus Validierungsmittel (CTL, VAL) für den Ticketgenerator des Master- Knotens.
- Das Steuermittel für den Zugriff kann für die zwei Zugriffe dasselbe sein oder je nachdem, ob der Zugriff auf das Speichermittel REF oder auf den Ticketgenerator erfolgt, verschieden sein. Beispielsweise kann der Zugriff auf das Speichermittel durch einen Prozessor P und der Zugriff auf den Ticketgenerator durch ein anderes Mittel wie etwa einen Mikroprozessor gesteuert werden. Gemäß der gewählten vorteilhaften Option ist das Steuermittel beiden Zugriffen gemeinsam und kein Prozessor. Dies ist ein zwischen den Prozessor und das Register REF und optional das Register TICK des Knotens geschaltetes Mittel wie etwa die gezeigte Steuereinrichtung CTL. Es war zu sehen, daß diese auf eine Ticketanforderung durch einen Prozessor des Knoten so reagiert, daß sie in dem Speichermittel dieses Knotens die Adresse TICK_ID des Ticketgenerators liest, auf diesen Generator zugreift, um das Ticket zu erhalten, und das Ticket an den anfordernden Prozessor als Antwort auf seine Anforderung sendet. Jedoch war zu sehen, daß diesem ein Teil dieser Tasks übertragen werden kann. Mit anderen Worten und im allgemeinen ist das Steuermittel, wenn es sich von dem Prozessor unterscheidet, im Knoten mit wenigstens einem Prozessor dieses Knotens verbunden.
- Gemäß einer anderen vorteilhaften Option umfaßt der Mechanismus zur Ticketverteilung MEC Mittel zum Schreiben in das Speichenmittel REF und/oder in den Ticketgenerator einer Zelle DIS. Die gezeigten Mittel sind in der in der Zelle aufgenommenen Steuereinrichtung CTL enthalten. Das Schreiben in das Register REF setzt voraus, daß sich die in diesem Register enthaltene Adresse, insbesondere im Fall eines Ausfalls des Master-Knotens, ändern kann. Somit kann die neue Adresse TICK_ID des Master-Ticketregisters TICK in alle Register REF des Systems geschrieben werden. Zum anderen erfolgt das Schreiben in den Ticketgenerator in dem gezeigten System, um die Ticketnummer in den Feldern SESS und COUNT zu ändern oder die Sitzungsnummer in dem Master-Knoten und dem Stellvertreterknoten zu aktualisieren oder um das Ticket in dem Feld VAL zu validieren.
- In dem gezeigten System SYS ist jede Ticketverteilungszelle DIS eines Knotens in einem Modul ISL für die Kommunikation zwischen den Knoten enthalten, das vorzugsweise in einer integrierten Schaltung IC aufgenommen ist. Die Zelle weist so den Vorteil auf, in dem Modul ISL von der Verbindung zum Bus SB und von einem Controller CTR für die Verbindung zwischen den Knoten zu profitieren. Jedoch könnte das Modul ISL statt direkt mit dem Systembus SB, an einen anderen Bus wie etwa einen Ein-/Ausgabe-Bus, beispielsweise einen PCI-Bus (PCI = Peripheral Component Interconnect), angeschlossen sein. Zum anderen könnte die Zelle in einer anderen, von dem Modul ISL getrennten und mit einem Bus des Knotens verbundenen integrierten Schaltung enthalten sein. In diesem Fall müßte sie mit einem Systembus, dem gezeigten Systembus SB oder einem anderen, verbunden sein, wobei der Austausch mit dem Prozessor und dem Moduls ISL über diesen Bus laufen müßte. Jedoch könnte der Zugriffspfad auf das Speichermittel des Knotens und auf den Ticketgenerator des Master-Knotens im allgemeinen auch keinen Bus umfassen. Es war außerdem zu sehen, daß die Funktionen der Steuereinrichtung CTL durch eigens dazu vorgesehene Logikschaltungen ausgeführt werden können oder in einem Mikroprozessor oder einem Mikrocontroller, der beispielsweise in der das Modul ISL aufnehmenden integrierten Schaltung eingebaut sein kann, programmiert werden können oder auch von einem Prozessor des Knotens ausgeführt werden können.
- Die Erfindung hat folglich einen Datenverarbeitungsknoten, beispielsweise Nx, mit wenigstens einem Prozessor Pxm, einem Speicher Mx, einem Bus SBx und einer Ticketverteilungszelle DIS zum Ausführen bzw. Betreiben des Verfahrens oder des Systems, wie es oben definiert wurde, zum weiteren Gegenstand.
- Die Erfindung hat außerdem eine integrierte Schaltung IC, die eine Ticketverteilungszelle DIS zum Ausführen bzw. Betreiben des Verfahrens oder des Systems, das soeben dargelegt wurde, zum weiteren Gegenstand.
Claims (15)
1. Verfahren zum Verteilen eines Tickets, das eine Task oder ein Ereignis in
einem Datenverarbeitungssystem (SYS) mit mehreren Knoten identifiziert,
dadurch gekennzeichnet, daß es darin besteht, unter den Knoten des Systems
einen Master-Knoten (Ny) für die Verteilung des Tickets zu bestimmen, in diesem
ein Ticketgenerator-Hardwaremittel (TICK) vorzusehen, die Adresse (TICK_ID)
des Ticketgenerators in den Knoten zu speichern und dann, wenn einer der
Knoten ein Ticket anfordert, die Adresse in dem anfordernden Knoten zu lesen
und auf den Ticketgenerator zuzugreifen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß es darin besteht,
jedes Ticket durch ein erstes Feld (SESS), das eine ununterbrochene Zeitperiode
der Verteilung des Tickets durch den Ticketgenerator im Master-Knoten
repräsentiert, und ein zweites Feld (COUNT), das während dieser Periode die
Anzahl der Zugriffe auf den Ticketgenerator zum Zeitpunkt des dieser
Ticketanforderung entsprechenden Zugriffs repräsentiert, zu identifizieren.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß es darin
besteht, den Ticketgenerator in wenigstens zwei Knoten des Systems vorzusehen
und nur den Ticketgenerator des Master-Knotens zu validieren (VALy = 1).
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß es darin besteht,
einen Stellvertreterknoten (ns) für die Ersetzung des Master-Knotens zu
bestimmen.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß es darin besteht,
in allen Knoten die Adresse (TICK_ID) des Ticketgenerators zu modifizieren,
wenn der Master-Generator durch den Stellvertreterknoten ersetzt wird.
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß der ein
Ticket anfordernde Knoten dann, wenn er nicht auf den Ticketgenerator des
Master-Knotens zugreifen kann, die Ersetzung des Master-Knotens fordert oder,
wenn er der Stellvertreterknoten ist, diese Ersetzung vornimmt und das Ticket
erneut anfordert, um erneut auf den Master-Generator zuzugreifen.
7. Datenverarbeitungssystem (SYS) mit mehreren Knoten, das einen
Mechanismus (MEC) für die Ticketverteilung umfaßt, wobei ein Ticket eine Task
oder ein Ereignis in dem System identifiziert, dadurch gekennzeichnet, daß der
Mechanismus in den Knoten des Systems auf jeweilige Ticketverteilungszellen
(DIS) verteilt ist und in einem Master-Knoten ein Ticketgenerator-Hardwaremittel
und in jedem der Knoten ein Speichermittel (REF) für die Adresse (TICK_ID) des
Ticketgenerators sowie ein Steuermittel (P, CTL) für den Zugriff auf das
Speichermittel des entsprechenden Knotens und auf den Ticketgenerator des
Master-Knotens umfaßt.
8. System nach Anspruch 7, dadurch gekennzeichnet, daß die Zellen
wenigstens zweier Knoten jeweils ein Ticketgenerator-Hardwaremittel enthalten
und der Mechanismus Validierungsmittel (CTL, VAL) für den Ticketgenerator
des Master-Knotens umfaßt.
9. System nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß das
Steuermittel (CTL) mit wenigstens einem Prozessor (P) verbunden ist.
10. System nach Anspruch 7, 8 oder 9, dadurch gekennzeichnet, daß das
Steuermittel außerdem ein Mittel zum Schreiben in das Speichermittel (REF)
und/oder in den Ticketgenerator (TICK) umfaßt.
11. System nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, daß
der Ticketgenerator (TICK) einen Zähler (COMP) und optional ein mit dem
Zähler verbundenes Register enthält.
12. System nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, daß
das Speichermittel ein Register (REF) ist.
13. System nach einem der Ansprüche 7 bis 12, dadurch gekennzeichnet, daß
in einem Knoten, der ein Modul (ISL) für die Kommunikation zwischen den
Knoten enthält, die Zelle (DIS) in diesem Modul enthalten ist.
14. Datenverarbeitungsknoten (Nx), der wenigstens einen Prozessor (Pxm),
einen Speicher (Mx) und einen Bus (SBx) umfaßt, dadurch gekennzeichnet, daß
er eine Ticketverteilungszelle (DISx) umfaßt, uni das durch einen der Ansprüche
1 bis 6 definierte Verfahren auszuführen oder das durch einen der Ansprüche 7 bis
13 definierte System (SYS) zu betreiben.
15. Integrierte Schaltung (IC), dadurch gekennzeichnet, daß sie eine
Ticketverteilungsschaltung (DIS) enthält, um das durch einen der Ansprüche 1 bis
6 definierte Verfahren auszuführen oder das durch einen der Ansprüche 7 bis 13
definierte System (SYS) zu betreiben.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9609750A FR2752125B1 (fr) | 1996-08-01 | 1996-08-01 | Distribution de tickets dans un systeme informatique multinodal |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69712998D1 DE69712998D1 (de) | 2002-07-11 |
DE69712998T2 true DE69712998T2 (de) | 2003-01-02 |
Family
ID=9494748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69712998T Expired - Lifetime DE69712998T2 (de) | 1996-08-01 | 1997-07-10 | Auftragsverteilung in einem Mehrfachknoten-Rechnersystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US6018795A (de) |
EP (1) | EP0822495B1 (de) |
JP (1) | JP3108042B2 (de) |
DE (1) | DE69712998T2 (de) |
FR (1) | FR2752125B1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374285B1 (en) * | 1998-05-15 | 2002-04-16 | Compaq Computer Corporation | Method for mutual exclusion of locks in a remote-write globally ordered network of processors |
US6493777B1 (en) * | 1999-09-15 | 2002-12-10 | Lucent Technologies Inc. | Method for dynamically reconfiguring data bus control |
JP4355124B2 (ja) | 2002-01-31 | 2009-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出場管理システム、入出場管理方法、入出場管理を実行するためのプログラムおよび、該プログラムを記録した記録媒体 |
KR101557269B1 (ko) | 2007-04-19 | 2015-10-06 | 쿠리타 고교 가부시키가이샤 | 아니온 교환 수지의 제조 방법, 아니온 교환 수지, 카티온 교환 수지의 제조 방법, 카티온 교환 수지, 혼상 수지 및 전자 부품·재료 세정용 초순수의 제조 방법 |
CN111091429B (zh) * | 2019-03-06 | 2024-03-22 | 深圳市智税链科技有限公司 | 电子票据标识分配方法及装置、电子票据生成系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU556499B2 (en) * | 1981-05-22 | 1986-11-06 | Data General Corporation | Data processing system |
US4608631A (en) * | 1982-09-03 | 1986-08-26 | Sequoia Systems, Inc. | Modular computer system |
US4658351A (en) * | 1984-10-09 | 1987-04-14 | Wang Laboratories, Inc. | Task control means for a multi-tasking data processing system |
US5005122A (en) * | 1987-09-08 | 1991-04-02 | Digital Equipment Corporation | Arrangement with cooperating management server node and network service node |
CA1322422C (en) * | 1988-07-18 | 1993-09-21 | James P. Emmond | Single-keyed indexed file for tp queue repository |
JPH0769842B2 (ja) * | 1989-02-13 | 1995-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 資源の相互排他制御方法及びシステム |
EP0394172A3 (de) * | 1989-04-21 | 1992-11-19 | International Business Machines Corporation | Verfahren zur Ausführung von Dateiverarbeitung mit partiellen Dateinamen |
US5027297A (en) * | 1989-09-29 | 1991-06-25 | Abb Power T & D Company Inc. | System for time stamping events using a remote master clock |
JP3169597B2 (ja) * | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | マルチタスク実行時間アカウント方法とその機構 |
US5418937A (en) * | 1990-11-30 | 1995-05-23 | Kabushiki Kaisha Toshiba | Master-slave type multi-processing system with multicast and fault detection operations having improved reliability |
US5745693A (en) * | 1992-07-01 | 1998-04-28 | Mci Corporation | System for gathering and reporting real time data from an IDNX communications network |
US5684993A (en) * | 1993-01-04 | 1997-11-04 | Microsoft Corporation | Segregation of thread-specific information from shared task information |
JP2539184B2 (ja) * | 1993-12-28 | 1996-10-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | タグ・サ―バ・システム及び方法 |
US5717869A (en) * | 1995-11-03 | 1998-02-10 | Xerox Corporation | Computer controlled display system using a timeline to control playback of temporal data representing collaborative activities |
-
1996
- 1996-08-01 FR FR9609750A patent/FR2752125B1/fr not_active Expired - Fee Related
-
1997
- 1997-07-10 EP EP97401654A patent/EP0822495B1/de not_active Expired - Lifetime
- 1997-07-10 DE DE69712998T patent/DE69712998T2/de not_active Expired - Lifetime
- 1997-07-30 US US08/903,351 patent/US6018795A/en not_active Expired - Lifetime
- 1997-08-01 JP JP09207663A patent/JP3108042B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FR2752125B1 (fr) | 1998-09-11 |
US6018795A (en) | 2000-01-25 |
EP0822495A1 (de) | 1998-02-04 |
EP0822495B1 (de) | 2002-06-05 |
JPH1078940A (ja) | 1998-03-24 |
JP3108042B2 (ja) | 2000-11-13 |
FR2752125A1 (fr) | 1998-02-06 |
DE69712998D1 (de) | 2002-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3751399T2 (de) | Parallelrechner mit verteilten, gemeinsam genutzten Speichern und verteilten, aufgabenaktivierenden Schaltungen. | |
DE69905287T2 (de) | Unterbrechungsarchitektur für ein rechnersystem mit nichtuniformem speicherzugriff | |
DE3781873T2 (de) | Rekonfigurierbare rechenanordnung. | |
DE69128107T2 (de) | Busanordnung für Speicherzugriff | |
DE69232881T2 (de) | Verbesserter Digitalprozessor mit verteiltem Speichersystem | |
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
DE3127349C2 (de) | ||
DE69129534T2 (de) | Betriebsmittelverwaltung in einem mehrbetriebsmittelsystem | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69715203T2 (de) | Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff | |
DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
DE69133257T2 (de) | Vorrichtung und verfahren zur schnellen paketvermittlung | |
DE3856451T2 (de) | Multiprozessor-Digitaldatenverarbeitungssystem | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
DE4104781C2 (de) | Speicherzugriffssteuerung | |
DE68924313T2 (de) | Mehrprozessoranordnungen mit kreuzweise abgefragten Schreib-in-Cachespeichern. | |
DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
DE69022709T2 (de) | Synchronisationsbefehl für Mehrprozessornetz. | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE4208924A1 (de) | Verfahren zur kommunikation zwischen prozessoren und parallelverarbeitungscomputer hierfuer | |
DE3851554T2 (de) | Steuerungsanordnung für gemeinschaftlichen Speicher. | |
DE3606211A1 (de) | Multiprozessor-computersystem | |
CH619309A5 (de) | ||
DE2750721A1 (de) | Ein/ausgabe-system | |
DE68922545T2 (de) | Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: BULL S.A., LES CLAYES SOUS BOIS, FR |