Nothing Special   »   [go: up one dir, main page]

DE4238593A1 - Mehrprozessor-Computersystem - Google Patents

Mehrprozessor-Computersystem

Info

Publication number
DE4238593A1
DE4238593A1 DE4238593A DE4238593A DE4238593A1 DE 4238593 A1 DE4238593 A1 DE 4238593A1 DE 4238593 A DE4238593 A DE 4238593A DE 4238593 A DE4238593 A DE 4238593A DE 4238593 A1 DE4238593 A1 DE 4238593A1
Authority
DE
Germany
Prior art keywords
private
memory area
assigned
common
areas
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.)
Ceased
Application number
DE4238593A
Other languages
English (en)
Inventor
Eckhard Michael Ammann
Hans Helmut Diel
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to DE4238593A priority Critical patent/DE4238593A1/de
Priority to US08/256,424 priority patent/US5642495A/en
Priority to EP93924548A priority patent/EP0621967A1/de
Priority to JP6511658A priority patent/JPH07503567A/ja
Priority to PCT/EP1993/003022 priority patent/WO1994011824A1/en
Publication of DE4238593A1 publication Critical patent/DE4238593A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • 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/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung betrifft ein Computersystem mit wenigstens zwei mit Speichermitteln versehenen Prozessoren, wobei jedem der Prozessoren wenigstens ein privater Speicherbereich in den Speichermitteln zugeordnet ist. Des weiteren betrifft die Erfindung ein Verfahren zum Zuordnen eines Teils eines privaten Speicherbereichs zu einem gemeinsamen Speicherbereich bei einem derartigen Computersystem.
Mehrprozessor-Computersysteme der genannten Art sind bekannt. Ebenfalls sind verschiedene Möglichkeiten bekannt, wie die Speichermittel von Mehrprozessor-Computersystemen verwaltet werden. Die Art und Weise einer derartigen Verwaltung ist meist abhängig vom jeweiligen Anwendungsfall. Sollen die Speichermittel beispielsweise dazu verwendet werden, Nachrichten zwischen den einzelnen Prozessoren des Mehrprozessor-Computersystems zu übermitteln, so unterscheidet sich in diesem Fall die Verwaltung der Speichermittel von dem davon abweichenden Anwendungs­ fall, daß ein mehreren Prozessoren zugeordneter gemeinsamer Speicherbereich zur Erlangung von definierten Zugriffsabfolgen verriegelt und entriegelt wird. Die Verwaltung der Speichermittel von Mehrprozessor-Computersystemen ist also zweckgebunden und damit nicht flexibel.
Aufgabe der Erfindung ist es, ein Mehrprozessor-Computersystem sowie ein entsprechendes Verfahren zu schaffen, das eine Verwaltung der Speichermittel ermöglicht, die in einfacher Weise an verschiedene Zwecke und Anforderungen angepaßt werden kann.
Diese Aufgabe wird nach der Erfindung im wesentlichen dadurch gelöst, daß bei einem Computersystem der eingangs genannten Art wenigstens ein gemeinsamer Speicherbereich in den Speichermitteln vorgesehen ist, dem ein Teil von wenigstens einem der privaten Speicherbereiche zugeordnet ist. Bei einem Verfahren der eingangs genannten Art wird die Aufgabe erfindungsgemäß im wesentlichen dadurch gelöst, daß in Abhängigkeit von dem gemeinsamen Speicherbereich aus einer Tabelle der gemeinsamen Speicherbereiche ein Verweis zu einer Tabelle der zugeordneten Teile der privaten Speicherbereiche ausgelesen wird, und daß in Abhängigkeit von dem Verweis der dem gemeinsamen Speicherbereich zugeordnete Teil des privaten Speicherbereichs aus der Tabelle der zugeordneten Teile der privaten Speicherbereiche ausgelesen wird.
Der gemeinsame Speicherbereich kann in Abhängigkeit von dem jeweiligen Anwendungsfall ausgestaltet werden. Ebenfalls kann die Anzahl zugeordneter privater Speicherbereiche, wie auch die Ausgestaltung dieser privater Speicherbereiche flexibel vorgenommen werden. Die Erfindung ermöglicht somit eine flexible Verwaltung der Speichermittel eines Mehrprozessor-Computersystems.
Insbesondere wird dies mit Hilfe der Tabelle der gemeinsamen Speicherbereiche und der Tabelle der zugeordneten Teile der privaten Speicherbereiche erreicht. In der Tabelle der gemeinsamen Speicher­ bereiche ist für jeden gemeinsamen Speicherbereich ein Verweis zu der Tabelle der zugeordneten Teile der privaten Speicherbereiche enthalten. Unter diesem Verweis kann dann in der letztgenannten Tabelle derjenige Teil des privaten Speicherbereichs entnommen werden, der dem gemeinsamen Speicherbereich zugeordnet ist. Mit Hilfe der beiden Tabellen wird somit in einfacher Weise jegliche Zuordnung von privaten und gemeinsamen Speicherbereichen verwaltet.
Bei einer vorteilhaften Ausgestaltung der Erfindung ist eine prozessorabhängige Hilfstabelle und eine adressabhängige Hilfstabelle vorgesehen. Mit Hilfe dieser beiden Hilfstabellen ist es möglich, den Zugriff auf zugeordnete Teile der privaten Speicherbereiche schneller durchzuführen.
Bei einer weiteren Ausgestaltung der Erfindung sind Befehle vorgesehen, mit deren Hilfe die gemeinsamen Speicherbereiche und die Teile der privaten Speicherbereiche definiert und einander zugeordnet werden können. Des weiteren sind Befehle vorgesehen, mit deren Hilfe Informationen im weitesten Sinne zwischen den gemeinsamen und den privaten Speicherbereichen ausgetauscht werden können.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels, das in der Zeichnung dargestellt ist. Dort zeigen
Fig. 1 bis 3 mögliche Zuordnungen von gemeinsamen Speicherbereichen eines Mehrprozessor-Com­ putersystems zu Teilen von privaten Speicherbereichen einzelner Prozessoren, und
Fig. 4 eine schematische Darstellung der Tabellen zur Zuordnung der gemeinsamen Speicherbereiche und der Teile der privaten Speicherbereiche.
Ein Mehrprozessor-Computersystem weist wenigstens zwei, üblicherweise eine Mehrzahl von Prozessoren auf. Jeder Prozessor ist zumeist mit irgendwelchen Speichermedien ausgestattet, wie beispielsweise mit Halbleiterspeichern oder mit Speicherplatten. Diese Speichermedien können einerseits dem jeweiligen Prozessor zugeordnet sein, andererseits ist es jedoch auch möglich, daß sämtliche Speichermedien zusammen die Speichermittel des gesamten Mehrprozessor-Computersystem bilden.
In den Fig. 1 bis 3 sind mögliche Zuordnungen dieser Speichermittel eines Mehrprozessor-Computersystem zu den einzelnen Prozessoren dargestellt. Es wird dabei immer zwischen privaten Speicherbereichen und gemeinsamen Speicherbereichen unterschieden. Unter einem privaten Speicherbereich ist zu verstehen, daß auf diesen privaten Speicherbereich nur von einem bestimmten Prozessor zugegriffen werden kann. Dies bedeutet jedoch nicht, daß dieser private Speicher­ bereich eines Prozessors identisch ist mit den dem Prozessor zugeordneten Speichermedien; dies kann der Fall sein, muß aber nicht. Unter einem gemeinsamen Speicherbereich ist zu verstehen, daß auf diesen gemeinsamen Speicherbereich mehrere oder gar alle Prozessoren des Mehrprozessor-Computersystems eine Zugriffsberechtigung haben. Ein derartiger gemeinsamer Speicherbereich kann in den Speichermedien eines bestimmten, ausgewählten Prozessors vorhanden sein; es ist jedoch auch möglich, daß ein derartiger gemeinsamer Speicherbereich einem oder gar mehreren Prozessoren des Mehrprozessor-Computersystems zugeteilt ist.
In der Fig. 1 sind eine Mehrzahl privater Speicherbereiche 10, 11, 12 dargestellt. Des weiteren sind eine gleich große Anzahl gemeinsamer Speicherbereiche 16, 17, 18 gezeigt. Der private Speicherbereich 10 und der gemeinsame Speicherbereich 16 gehören zusammen, der private Speicherbereich 11 und der gemeinsame Speicherbereich 17, usw.
In jedem der privaten Speicherbereiche 10, 11, 12 ist ein Teil 13, 14, 15 vorhanden, der dem jeweils zugehörigen gemeinsamen Speicherbereich 16, 17, 18 zugeordnet ist. Diese Zuordnung bedeutet, daß beispielsweise der Inhalt des Teils 13 des privaten Speicherbereichs 10 mit dem Inhalt des zugehörigen gemeinsamen Speicherbereichs 16 übereinstimmt, wenn man von zeitlichen Verzögerungen beim Abspeichern absieht. Der Prozessor, der die Zugriffsberechtigung zu dem privaten Speicherbereich 10 und damit auch zu dem Teil 13 des privaten Speicherbereichs 10 hat, kann in diesem Teil 13 Daten lesen und/oder verändern. Danach ist es möglich, daß dieser Prozessor den Teil 13 in den gemeinsamen Speicherbereich 16 kopiert. Zu einem späteren Zeitpunkt kann der gemeinsame Speicherbereich 16 wieder in den Teil 13 des privaten Speicherbereichs 10 für eine weitere Bearbeitung zurückgeholt werden.
Da in der Fig. 1 jedem gemeinsamen Speicherbereich nur ein einziger Teil der privaten Speicherbereiche zugeord­ net ist, können mit Hilfe dieser gemeinsamen Speicher­ bereich- 16, 17, 18 im Fall der Fig. 1 keine Funktionen durchgeführt werden wie beispielsweise die Übertragung von Nachrichten zwischen den einzelnen Prozessoren.
Demgegenüber sind in der Fig. 2 eine Anzahl privater Speicherbereiche 20, 21, 22, 23 dargestellt, wobei jeweils ein Teil 24, 25, 26, 27 dieser privaten Speicherbereiche 20, 21, 22, 23 gesondert ausgewiesen ist. Im Unterschied zur Fig. 1 sind in der Fig. 2 mehrere gemeinsame Speicherbereiche 28, 29, 30 vorgesehen, die nicht jeweils einem einzigen privaten Speicherbereich, sondern die teilweise mehreren privaten Speicherbereichen zugeordnet sind.
So ist der gemeinsame Speicherbereich 28 dem Teil 24 des privaten Speicherbereichs 20, wie auch dem Teil 25 des privaten Speicherbereichs 21 zugeordnet. Entsprechend ist der gemeinsame Speicherbereich 29 dem Teil 26 des privaten Speicherbereichs 22 sowie weiteren Teilen von privaten Speicherbereichen zugeordnet. Nur der gemeinsame Speicherbereich 30 ist einem privaten Speicherbereich, nämlich dem Teil 27 des privaten Speicherbereichs 23 zugeordnet.
Der dem privaten Speicherbereich 20 zugehörige Prozessor kann auf den Teil 24 des privaten Speicherbereichs 20 zugreifen und diesen gegebenenfalls verändern. Danach kann der Teil 24 des privaten Speicherbereichs 20 in den gemeinsamen Speicherbereich 28 kopiert werden. Von dort ist es möglich, daß der dem privaten Speicherbereich 21 zugehörige Prozessor den gemeinsamen Speicherbereich 28 wiederum in den ihm zugeordneten Teil 25 des privaten Speicherbereichs 21 kopiert. Jetzt kann der Prozessor die Daten in dem Teil 25 des privaten Speicherbereichs 21 bearbeiten und verändern. Danach ist es wiederum möglich, daß der Teil 25 in den gemeinsamen Speicher­ bereich 28 kopiert wird, um eventuell wieder von dem Teil 24 übernommen zu werden. Insgesamt ist es auf diese Weise möglich, daß der dem privaten Speicher­ bereich 20 zugeordnete Prozessor und der dem privaten Speicherbereich 21 zugeordnete Prozessor über den gemeinsamen Speicherbereich 28 Informationen austauschen.
Bei diesen Informationen kann es sich um Nachrichten handeln, die zwischen den Prozessoren übermittelt werden sollen. Ebenfalls kann der gemeinsame Speicherbereich 28 dazu verwendet werden, die beiden genannten Prozessoren gegeneinander zu verriegeln. Auf diese Möglichkeiten wird später noch näher eingegangen werden.
Des weiteren weisen in der Fig. 2 die privaten Speicherbereiche 20, 21 noch zusätzlich die Teile 31, 32 auf, die einem weiteren gemeinsamen Speicherbereich 33 zugeordnet sind. Auch auf diese Ausführungsform wird später noch näher eingegangen werden.
In der Fig. 3 sind schließlich eine Anzahl privater Speicherbereiche 40, 41, 42 dargestellt, die jeweils einen Teil 43, 44, 45 aufweisen, denen ein einziger gemeinsamer Speicherbereich 46 zugeordnet ist. Bei dieser Ausgestaltung ist es möglich, daß der dem privaten Speicherbereich 40 zugehörige Prozessor Daten in den Teil 43 schreibt. Diese Daten werden in den gemeinsamen Speicherbereich 46 übernommen, so daß nunmehr die Daten von den den privaten Speicherbe­ reichen 41, 42 zugehörigen Prozessoren in die jewei­ ligen Teile 44, 45 dieser privaten Speicherbereiche 41, 42 eingelesen werden können. Dort können die Daten wiederum von den jeweiligen Prozessoren bearbeitet und verändert werden, um danach wieder in den gemeinsamen Speicherbereich 46 eingeschrieben zu werden.
Bei der Fig. 3 kann der gemeinsame Speicherbereich 46 dazu verwendet werden, Nachrichten zwischen den den privaten Speicherbereichen 40, 41, 42, zugehörigen Prozessoren zu übermitteln. Ebenfalls kann der gemeinsame Speicherbereich 46 wiederum zum Verriegeln verwendet werden, also zur Erlangung einer geordneten Zugriffsabfolge auf Daten.
Unabhängig davon, ob die Speichermittel des Mehrprozessor-Computersystems in Form der Darstellung der Fig. 1 oder der Fig. 2 oder der Fig. 3 aufgeteilt sind, erfolgt die Verwaltung der Speichermittel immer durch dieselben nachfolgend beschriebenen Befehle.
Ist ein gemeinsamer Speicherbereich noch nicht existent, so kann ein derartiger gemeinsamer Speicherbereich durch den Befehl "DEFINE GSB (GSBID)" neu definiert und damit eingerichtet werden. Die Buchstaben GSB zeigen dabei an, daß es sich um die Definition eines gemeinsamen Speicherbereiches handelt. Die Buchstaben GSBID stellen eine Abkürzung für den Namen des neu zu schaffenden gemeinsamen Speicherbereiches dar, also eine Identifikation des neuen gemeinsamen Speicherbereichs.
Nach diesem Befehl kann der neu errichtete gemeinsame Speicherbereich mit Hilfe des Befehls "ALLOCATE GSB (GSBID, GSBAA, PSBID, PSBAA, SBL)" näher festgelegt und insbesondere einem Teil eines privaten Speicherbereichs zugeordnet werden. Wie bereits erwähnt, ist dabei GSBID die Identifikation des gemeinsamen Speicherbereichs. GSBAA ist eine Abkürzung für die Anfangsadresse dieses gemeinsamen Speicherbereichs. Entsprechend stellt PSBID die Identifikation des zugeordneten Teils des privaten Speicherbereichs dar, während PSBAA eine Abkürzung für die Anfangsadresse dieses zugeordneten Teils des privaten Speicherbereichs ist. SBL ist schließlich eine Abkürzung für die Länge des gemeinsamen Speicherbereichs und des zugeordneten Teils des privaten Speicherbereichs.
Mit Hilfe der beiden vorstehend beschriebenen Befehle, ist es möglich, einen gemeinsamen Speicherbereich zu definieren und diesem einen bestimmten Teil eines privaten Speicherbereichs zuzuordnen. Des weiteren können mittels der beiden Befehle die Anfangsadressen und die Längen des gemeinsamen Speicherbereichs und des zugeordneten Teils des privaten Speicherbereichs festgelegt werden.
Im Hinblick beispielsweise auf Fig. 1 können also mit Hilfe der beiden beschriebenen Befehle die gemeinsamen Speicherbereiche 16, 17, 18 und die jeweils zugeordneten Teile 13, 14, 15 der privaten Speicherbereiche 10, 11, 12 definiert und näher festgelegt werden.
Durch eine entsprechende Wiederholung des Befehls "ALLOCATE . . . " ist es darüber hinaus möglich, einem einzigen gemeinsamen Speicherbereich mehrere Teile von privaten Speicherbereichen zuzuordnen. Bei den aufeinan­ derfolgenden ALLOCATE-Befehlen ändert sich jeweils nur die Identifikation PSBID für den jeweiligen Teil der entsprechenden privaten Speicherbereiche. Des weiteren ist es möglich, daß sich die Anfangsadressen PSBAA der jeweiligen Teile der privaten Speicherbereiche von­ einander unterscheiden. Die Länge SBL der Speicher­ bereiche ist jedoch für alle zugeordneten Teile gleich. Mit Hilfe einer derartigen Wiederholung des Befehls "ALLOCATE . . . " ist es also möglich, die in der Fig. 2 dargestellte Zuordnung eines gemeinsamen Speicher­ bereichs zu zwei oder mehreren Teilen von privaten Speicherbereichen oder die in Fig. 3 gezeigte Zuordnung eines gemeinsamen Speicherbereichs zu allen Teilen der privaten Speicherbereiche zu bewerkstelligen.
Das Gegenstück des Befehls "ALLOCATE . . . " ist der Befehl "DEALLOCATE GSB (GSBID, GSBAA, SBL)". Mit Hilfe dieses Befehls ist es möglich, die Zuordnung eines gemeinsamen Speicherbereichs zu Teilen von privaten Speicherbereichen aufzuheben und den gemeinsamen Speicherbereich als solchen zu löschen. Nach Ausführung der Befehls "DEALLOCATE . . . " ist also der gemeinsame Speicherbereich mit der Identifikation GSBID nicht mehr existent. Auf diesen ehemaligen gemeinsamen Speicher­ bereich kann somit nach dem Befehl "DEALLOCATE . . . " nicht mehr zugegriffen werden.
Ist nun wenigstens ein gemeinsamer Speicherbereich eingerichtet, dem wenigsten ein privater Speicherbereich zugeordnet ist, so können mit Hilfe der Befehle "COPY FROM PSB TO GSB (GSBID, PSBAA, SBL)" und "COPY FROM GSB TO PSB (GSBID, PSDAA, SBL)" Daten zwischen dem gemeinsamen Speicherbereich und dem zugeordneten Teil des privaten Speicherbereichs ausgetauscht werden. Aufgrund der Identifikation GSBID ist der gemeinsame Speicherbereich bekannt, der an dem Datenaustausch teilnehmen soll. Mit Hilfe der Anfangsadresse PSBAA des zugeordneten Teils des privaten Speicherbereichs ist bekannt, welcher Teil des privaten Speicherbereichs des weiteren an dem Datenaustausch teilhaben soll. Durch die Angabe der Länge des Speicherbereichs SBL wird die Menge der auszutauschenden Daten festgelegt. Insgesamt ist es mittels der in den Copy-Befehlen enthaltenen Angaben möglich, den Datenaustausch durchzuführen.
Im Hinblick auf die Fig. 1 bis 3 kann also mit Hilfe der Copy-Befehle beispielsweise der gemeinsame Speicherbereich 29 der Fig. 2 in den Teil 26 des gemeinsamen Speicherbereichs 22 kopiert werden oder der Teil 44 des privaten Speicherbereichs 41 der Fig. 3 in den gemeinsamen Speicherbereich 46.
In ähnlicher Weise wie die beiden beschriebenen Copy-Befehle ist es möglich, sogenannte Page-In- und Page-Out-Befehle einzuführen. Derartige Befehle können wie die Copy-Befehle Daten vom gemeinsamen Speicherbe­ reich in den zugeordneten Teil des privaten Speicherbe­ reichs und umgekehrt kopieren. Die Datenmenge kann jedoch auf einen bestimmten Wert, beispielsweise auf denjenigen Wert festgelegt werden, der auch im Rahmen der allgemeinen Speichermittel-Verwaltung beim sogenannten "Paging" verwendet wird. Dadurch kann die Angabe der Länge SBL des gemeinsamen Speicherbereichs und des zugeordneten Teils des privaten Speicherbe­ reichs in den Page-In- bzw. Page-Out-Befehlen unterbleiben.
Ist ein gemeinsamer Speicherbereich eingerichtet, und sind diesem gemeinsamen Speicherbereich wenigsten zwei Teile privater Speicherbereiche zugeordnet, so ist es möglich, mit Hilfe des gemeinsamen Speicherbereichs Nachrichten zwischen den zugehörigen Prozessoren zu übermitteln. Zu diesem Zweck sind die Befehle "SEND GSB ( . . . )" und "RECEIVE GSB ( . . . )" vorgesehen. Die zu sendenden Daten werden also mit Hilfe des SEND-Befehls aus dem zugeordneten Teil des privaten Speicherbereichs des sendenden Prozessors in den gemeinsamen Speicherbereich eingeschrieben. Danach kann der empfangende Prozessor diese Daten mit Hilfe des RECEIVE-Befehls in den ihm zugehörigen Teil seines privaten Speicherbereichs übernehmen.
Durch die Zuordnung des gemeinsamen Speicherbereichs nur zu zwei Teilen privater Speicherbereiche und damit nur zu zwei zugehörigen Prozessoren ist eindeutig festgelegt, zwischen welchen Prozessoren die Übermittlung der Daten erfolgen soll. Will beispielsweise der sendende Prozessor an einen anderen Prozessor Daten übermitteln, mit dem er bisher noch keinen gemeinsamen Speicherbereich teilt, so ist es erforderlich, daß vor dem SEND-Befehl zuerst ein gemeinsamer Speicherbereich für diese beiden Prozessoren neu definiert und festgelegt wird. Erst danach können die Daten über den neuen gemeinsamen Speicherbereich übermittelt werden.
Ebenfalls ist es möglich, daß auf diese Weise sogenannte Broadcast-Übermittlungen durchgeführt werden. Zu diesem Zweck muß ein gemeinsamer Speicherbereich eingerichtet werden, auf den alle Prozessoren Zugriff haben, wie dies beispielsweise in der Fig. 3 dargestellt ist. Will nunmehr einer der Prozessoren Daten an alle andere Prozessoren übermitteln, so schreibt er diese Daten mit Hilfe des SEND-Befehls in den gemeinsamen Speicherbereich. Von dort können dann alle anderen Prozessoren die Daten mit Hilfe des RECEIVE-Befehls abholen.
Damit bei der letztgenannten Broadcast-Übermittlung die empfangenden Prozessoren überhaupt Kenntnis davon erhalten, daß ein anderer Prozessor Daten gesendet hat, ist es erforderlich, daß alle Prozessoren immer wieder den genannten gemeinsamen Speicherbereich im Hinblick auf Datenänderungen abfragen. Diese Abfrage kann jeder Prozessor völlig unabhängig von allen anderen Prozessoren durchführen, so daß die beschriebene Broadcast-Übermittlung keine Synchronisierung aller Prozessoren erforderlich macht.
Sind zwei gemeinsame Speicherbereiche beispielsweise zwei privaten Speicherbereichen zugeordnet, wie dies in der Fig. 2 bei den beiden gemeinsamen Speicherbereichen 28, 33 und den zugeordneten Teilen 24, 25, 31, 32 der beiden privaten Speicherbereiche 20, 21 der Fall ist, so ist es möglich, mit Hilfe des einen gemeinsamen Speicherbereichs den anderen gemeinsamen Speicherbereich zu verriegeln bzw. zu entriegeln. Zu diesem Zweck sind die Befehle "LOCK GSB ( . . . )" und "UNLOCK GSB ( . . . )" vorgesehen.
Wenn beispielsweise in der Fig. 2 der zu dem privaten Speicherbereich 20 gehörige Prozessor erreichen will, daß der zu dem privaten Speicherbereich 21 gehörige Prozessor irgendwelche Daten in dem gemeinsamen Speicherbereich 28 nicht lesen darf, so setzt der zu dem privaten Speicherbereich 20 gehörige Prozessor mit Hilfe des LOCK-Befehls in dem gemeinsamen Speicherbereich 33 eine sogenannte LOCK-Variable. Der zu dem privaten Speicherbereich 21 gehörige Prozessor prüft diese LOCK-Variable in dem gemeinsamen Speicherbereich 33 und stellt dadurch fest, daß für ihn zumindest derzeit der Zugriff auf den gemeinsamen Speicherbereich 28 verriegelt ist. Nachdem der zu dem privaten Speicherbereich 20 gehörige Prozessor beispielsweise irgendwelche Daten in den Teil 24 des privaten Speicherbereichs 20 verändert und dann diesen Teil 24 in den gemeinsamen Speicherbereich 28 kopiert hat, ist es möglich, daß der zu dem privaten Speicherbereich 20 gehörige Prozessor den Zugriff des zu dem privaten Speicherbereich 21 gehörigen Prozessors auf den gemeinsamen Speicherbereich 28 wieder zulassen will. Zu diesem Zweck setzt der zu dem privaten Speicherbereich 20 gehörige Prozessor die LOCK-Variable in dem gemeinsamen Speicherbereich 33 mit Hilfe des UNLOCK-Befehls wieder zurück. Dies kann der zu dem privaten Speicherbereich 21 gehörige Prozessor durch eine entsprechende Abfrage feststellen. Da nunmehr der gemeinsame Speicherbereich 28 für den zu dem privaten Speicherbereich 21 gehörigen Prozessor nicht mehr verriegelt ist, kann dieser letztgenannte Prozessor den gemeinsamen Speicherbereich 28 in den Teil 25 seines privaten Speicherbereichs 21 kopieren und bearbeiten.
Das Setzen und Rücksetzen der LOCK-Variablen durch den LOCK- und den UNLOCK-Befehl erfolgt mit Hilfe des gemeinsamen Speicherbereichs 33 und der beiden zugeordneten Teile 31, 32 der privaten Speicherbereiche 20, 21. In einer einfachen Ausführung des LOCK- bzw. des UNLOCK-Befehls wird die LOCK-Variable zuerst in den Teil 31 von dem zu dem privaten Speicherbereich 20 gehörigen Prozessor gesetzt und danach dieser Teil 31 in den gemeinsamen Speicherbereich 33 kopiert. Entsprechend verläuft die Abfrage des gemeinsamen Speicherbereichs 33. Dazu genügt es, wenn der gemeinsame Speicherbereich 33 beispielsweise in den Teil 32 des privaten Speicherbereichs 21 kopiert wird, um danach von dem zu dem privaten Speicherbereich 21 gehörigen Prozessor abgefragt zu werden.
In den zuvor beschriebenen Befehlen ist es erforderlich, ausgehend von der Identifikation GSBID des gemeinsamen Speicherbereichs die zugeordneten Teile der privaten Speicherbereiche aufzufinden. Die zu diesem Zweck in den Befehlen enthaltenen Information, wie beispielsweise die Identifikation PSBID des Teils des privaten Speicherbereichs oder die Anfangsadresse PSBAA dieses Teils des privaten Speicherbereichs, stellen jedoch keine absoluten Adressen dar, sondern nur indirekte Hinweise auf derartige absolute Adressen. Es ist deshalb erforderlich, die in den Befehlen enthaltenen Information weiter zu verarbeiten, um daraus die absolute Anfangsadresse des zugeordneten Teils des privaten Speicherbereichs zu erhalten. Dies ist nachfolgend anhand der Fig. 4 näher erläutert.
In der Fig. 4 ist eine Tabelle 50 dargestellt, in der die gemeinsamen Speicherbereiche abgespeichert sind. Des weiteren ist eine Tabelle 60 gezeigt, in der die zugeordneten Teile der privaten Speicherbereiche abgespeichert sind. Schließlich sind in der Fig. 4 noch eine prozessorabhängige Hilfstabelle 70 sowie eine adressabhängige Hilfstabelle 80 dargestellt.
In der Tabelle 50 der gemeinsamen Speicherbereiche ist für jeden gemeinsamen Speicherbereich ein Verweis 51 zur Tabelle 60 der zugeordneten Teile der privaten Speicherbereiche, ein Verweis 52 zur prozessorabhängigen Hilfstabelle 70 und ein Verweis 53 zur adressabhängigen Hilfstabelle 80 enthalten. Die einzelnen gemeinsamen Speicherbereiche sind in der Tabelle 50 in der Reihen­ folge ihrer Identifikationen GSBID abgespeichert. Dies ist in der Fig. 4 mit einem Pfeil 54 gekennzeichnet, wobei die Reihenfolge der Identifikationen GSBID der gemeinsamen Speicherbereiche mit dem Buchstaben i zum Ausdruck gebracht ist.
Ist beispielsweise der dritte gemeinsame Speicherbe­ reich betroffen, ist also i = 3, so zeigt der in der Tabelle 50 enthaltene Verweis 51 für diesen dritten gemeinsamen Speicherbereich auf ein Datenfeld 61 in der Tabelle 60 der zugeordneten Teile der privaten Speicher­ bereiche. Dies ist in der Fig. 4 durch einen Pfeil 55 dargestellt. In dem Datenfeld 61 sind jedoch nicht alle Informationen zu den dem dritten gemeinsamen Speicher­ bereich zugeordneten Teilen der privaten Speicherbe­ reiche enthalten. Statt dessen sind nur beispielsweise diejenigen Informationen in dem Speicherfeld 61 ent­ halten, die zu einem ersten zugeordneten Teil eines privaten Speicherbereichs gehören. Die zu einem zweiten und zu einem dritten zugeordneten Teil eines privaten Speicherbereichs gehörenden Informationen sind in Datenfeldern 62, 63 abgespeichert. Diese Datenfelder 62, 63 können dadurch erreicht werden, daß beispielsweise in dem Datenfeld 61 ein Verweis auf das Datenfeld 62, in dem Datenfeld 62 ein Verweis auf das Datenfeld 63, usw. enthalten ist. Zum Auffinden eines bestimmten zugeordneten Teils eines privaten Speicherbereichs muß also unter Umständen eine Schlange 64, 65 von mehreren Datenfeldern durchlaufen werden.
Damit auf einen bestimmten Teil eines privaten Speicherbereichs schneller zugegriffen werden kann, damit also der Durchlauf durch die genannte Schlange 64, 65 von Datenfeldern vermieden wird, sind die prozessorabhängigen und adreßabhängigen Hilfstabellen 70, 80 vorgesehen. Dabei ist für jeden gemeinsamen Speicherbereich jeweils eine prozessorabhängige und eine adressabhängige Hilfstabelle vorhanden. Die Anzahl der prozeßabhängigen Hilfstabellen 70 und der adressabhängigen Hilfstabellen 80 entspricht also der Anzahl der in der Tabelle 50 abgespeicherten gemeinsamen Speicherbereiche.
In der Fig. 4 sind die prozessorabhängige Hilfstabelle 70 und die adressabhängige Hilfstabelle 80 für den dritten gemeinsamen Speicherbereich gezeigt, also für i = 3. Diese speziellen Hilfstabellen 70, 80 können über die Verweise 52, 53 in der Tabelle 50 der gemeinsamen Speicherbereiche erreicht werden. Dies ist in der Fig. 4 durch Pfeile 56, 57 dargestellt.
In der prozessorabhängigen Hilfstabelle 70 sind Verweise 71 enthalten zur Tabelle 60 der zugeordneten Teile der privaten Speicherbereiche. Diese Verweise sind entsprechend der Reihenfolge der Prozessoren in der Tabelle 70 abgespeichert. Die Reihenfolge der Prozessoren ist dabei gleichbedeutend mit der Reihenfolge der Identifikationen PSBID der zugeordneten Teile der privaten Speicherbereiche. Dies ist in der Fig. 4 durch einen Pfeil 72 und den Buchstaben j gekennzeichnet.
Sind einem gemeinsamen Speicherbereich beispielsweise eine Mehrzahl von Teilen privater Speicherbereiche zugeordnet, und ist für den relevanten Befehl bei­ spielsweise der vierte Teil eines privaten Speicherbe­ reichs von Bedeutung, so zeigt der Verweis 71 in der prozessorabhängigen Tabelle 70 direkt auf das Datenfeld 62, in dem die Informationen für den vierten zugeord­ neten Teil eines privaten Speicherbereichs enthalten sind. Es ist somit nicht mehr erforderlich, zuerst zu dem Datenfeld 61 zu gehen, um dann in der Schlange 64 schrittweise zu dem Datenfeld 62 zu gelangen, sondern über den Verweis 71 ist ein direkter Zugriff auf das Datenfeld 62 möglich. Dieser direkte Zugriff ist in der Fig. 4 mit einem Pfeil 73 gekennzeichnet.
Selbst wenn nun zum Auffinden eines bestimmten Teils eines privaten Speicherbereichs mit Hilfe der prozessorabhängigen Hilfstabelle 70 direkt, also ohne den Durchlauf durch die Schlange 64, auf das Datenfeld 62 zugegriffen werden kann, so ist es möglich, daß immer noch nicht der richtige Teil des privaten Speicherbereichs aufgefunden worden ist. Wie erläutert wurde, ist dies möglich, wenn einem gemeinsamen Speicherbereich mehrere private Speicherbereiche zugeordnet sind. In diesem Fall ist es dann an sich erforderlich, daß, wie bereits erläutert worden ist, von dem Datenfeld 62 über die Schlange 65 das gesuchte Datenfeld 63 ermittelt werden muß.
Damit dieses Durchlaufen der Schlange 65 nicht erforderlich ist, ist die adressabhängige Hilfstabelle 80 vorgesehen.
Die Hilfstabelle 80 enthält Verweise 81, durch die auf bestimmte Datenfelder in der Tabelle 60 der zugeordneten Teile der privaten Speicherbereiche verwiesen wird. Diese Verweise 81 sind in der adressabhängigen Hilfstabelle 80 in der Reihenfolge der Anfangsadressen GSBAA der gemeinsamen Speicherbereiche abgespeichert. Dies ist in der Fig. 4 mit Hilfe eines Pfeils 82 und des Buchstabens k gekennzeichnet.
Mit Hilfe des Verweises 81 ist es also möglich, wie dies in der Fig. 4 auch mit einem Pfeil 83 dargestellt ist, direkt auf das gesuchte Datenfeld 63 zuzugreifen. Ein Durchlauf durch die Schlangen 64, 65 ist somit nicht erforderlich.
Es hängt nun von den einzelnen Befehlen ab, inwieweit die prozessorabhängige Hilfstabelle 70 und die prozessorabhängige Hilfstabelle 80 verwendet werden können. Beispielsweise enthalten die erläuterten Copy-Befehle keine Informationen hinsichtlich der Identifikation PSBID der zugeordneten Teile der privaten Speicherbereiche. Aus diesem Grund kann insoweit auch kein Eintrag in der prozessorabhängigen Hilfstabelle 70 vorhanden sein. Auch in der Tabelle 50 der gemeinsamen Speicherbereiche ist dann kein Eintrag für den Verweis 52 vorhanden. Im Unterschied dazu sind in dem beschriebenen ALLOCATE-Befehl sämtliche Informa­ tionen enthalten, um entsprechende Einträge in den beiden Hilfstabellen vornehmen zu können. In diesem Fall können also die beiden Hilfstabellen 70, 80 direkt zum Auffinden des zugeordneten Teils des privaten Speicherbereichs verwendet werden. Bei allen Befehlen ist jedoch die Identifikation GSBID des gemeinsamen Speicherbereichs als Information vorhanden. Somit ist es bei allen Befehlen möglich über die Schlangen 64, 65 das relevante Datenfeld in der Tabelle 60 der zugeord­ neten Teile der privaten Speicherbereiche aufzufinden.
Die Tabelle 50 der gemeinsamen Speicherbereiche, die Tabelle 60 der zugeordneten Teile der privaten Speicher­ bereiche sowie sämtliche prozessorabhängigen Hilfs­ tabellen 70 und sämtliche adressabhängigen Hilfstabellen 80 sind in jedem der privaten Speicherbereiche der Prozessoren des Mehrprozessor-Computersystems abge­ speichert. Liegt nun einer der beschriebenen Befehle einem dieser Prozessoren zur Verarbeitung vor, so sucht der Prozessor aus den genannten Tabellen und Hilfs­ tabellen die notwendigen Informationen, die für die Verarbeitung des Befehls erforderlich sind. Insbesondere entnimmt der Prozessor aus der Tabelle 60 der zugeord­ neten Teile der privaten Speicherbereiche die absoluten Adressen dieser gemeinsamen Speicherbereiche und der zugeordneten Teile der privaten Speicherbereiche. Danach führt der Prozessor den Befehl aus, kopiert also beispielsweise einen bestimmten Teil eines privaten Speicherbereichs in einen bestimmten gemeinsamen Speicherbereich.
Hat ein Befehl zur Folge, daß in den genannten Tabellen und Hilfstabellen Daten verändert werden, wie dies beispielsweise bei dem ALLOCATE-Befehl der Fall ist, so führt der Prozessor diese Datenänderungen nicht nur in seinem eigenen privaten Speicherbereich durch, sondern auch in allen anderen Tabellen und Hilfstabellen der übrigen privaten Speicherbereiche. Diese Änderungen der Tabellen und Hilfstabellen müssen dabei in der Form von sogenannten Transaktionen erfolgen, damit in jedem Zeitpunkt sämtliche Tabellen und Hilfstabellen in allen privaten Speicherbereichen übereinstimmen.
Die gesamte bisherige Beschreibung betrifft ein Mehrprozessor-Computersystem. Darüberhinaus ist es jedoch auch möglich, daß die beschriebene Erfindung in einem Ein-Prozessor-Computersystem angewendet wird. In diesem Fall können die dem einen Prozessor zugehörigen Speichermittel so aufgeteilt sein, wie dies in einer der Fig. 1 bis 3 dargestellt ist. Letztendlich stellen in diesem Fall die unterschiedlichen privaten Speicherbereiche "mehrere Prozessoren" dar, wobei diese "mehreren Prozessoren", identisch sind.

Claims (11)

1. Computersystem
mit wenigstens zwei mit Speichermitteln versehenen Prozessoren,
wobei jedem der Prozessoren wenigstens ein privater Speicherbereich (10) in den Speichermitteln zugeordnet ist, dadurch gekennzeichnet, daß wenigstens ein gemeinsamer Speicherbereich (16) in den Speichermitteln vorgesehen ist, dem ein Teil (13) von wenigstens einem der privaten Speicherbereiche (10) zugeordnet ist.
2. Computersystem nach Anspruch 1, dadurch gekennzeichnet, daß mehrere gemeinsame Speicherbereiche vorgesehen sind, von denen jeder mehreren Teilen privater Speicherbereiche zugeordnet ist.
3. Computersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Tabelle (50) der gemeinsamen Speicherbereiche und eine Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche in den Speichermitteln abgespeichert sind.
4. Computersystem nach Anspruch 3, dadurch gekennzeichnet, daß in der Tabelle (50) der gemeinsamen Speicherbereiche für jeden der gemeinsamen Speicherbereiche ein Verweis (51) zur Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche abgespeichert ist.
5. Computersystem nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß für jeden der gemeinsamen Speicherbereiche eine prozessorabhängige Hilfstabelle (70) und eine adressabhängige Hilfstabelle (80) in den Speichermitteln abgespeichert ist.
6. Computersystem nach Anspruch 5, dadurch gekennzeichnet, daß eine Tabelle (50) der gemeinsamen Speicherbereiche für jeden der gemeinsamen Speicherbereiche ein Verweis (52) zu der zugehörigen prozessorabhängigen Hilfstabelle (70) und ein Verweis (53) zu der zugehörigen adressabhängigen Hilfstabelle (80) abgespeichert ist.
7. Computersystem nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß in der prozessorabhängigen Hilfstabelle (70) für jeden der Prozessoren ein Verweis (71) zur Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche abgespeichert ist.
8. Computersystem nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß in der adressabhängigen Hilfstabelle (80) für jede der Anfangsadressen der zugeordneten Teile der privaten Speicherbereiche ein Verweis (81) zur Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche abgespeichert ist.
9. Verfahren zum Zuordnen eines Teils (13) eines privaten Speicherbereichs (10) zu einem gemeinsamen Speicherbereich (16) bei einem aus wenigstens zwei mit Speichermitteln versehenen Prozessoren bestehenden Computersystems mit den folgenden Schritten:
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus einer Tabelle (50) der gemeinsamen Speicherbereiche ein Verweis (51) zu einer Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (51) wird der dem gemeinsamen Speicherbereich (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
10. Verfahren nach Anspruch 9, mit den folgenden Schritten:
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus der Tabelle (50) der gemeinsamen Speicher­ bereiche ein Verweis (52) zu einer prozessorab­ hängigen Hilfstabelle (70) ausgelesen,
in Abhängigkeit von dem betroffenen Prozessor wird aus der prozessorabhängigen Hilfstabelle (70) ein Verweis (71) zu der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (71) wird der dem gemeinsamen Speicherbereich (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
11. Verfahren nach Anspruch 9 oder 10, mit den folgenden Schritten:
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus der Tabelle (50) der gemeinsamen Speicher­ bereiche ein Verweis (53) zu einer adreßabhängigen Hilfstabelle (80) ausgelesen,
in Abhängigkeit von der betroffenen Anfangsadresse wird aus der adreßabhängigen Hilfstabelle (80) ein Verweis (81) zu der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (81) wird der dem gemeinsamen Speicherbereichs (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
DE4238593A 1992-11-16 1992-11-16 Mehrprozessor-Computersystem Ceased DE4238593A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE4238593A DE4238593A1 (de) 1992-11-16 1992-11-16 Mehrprozessor-Computersystem
US08/256,424 US5642495A (en) 1992-11-16 1993-10-29 Multi-processor computer system having assignment table processor-dependent help table and address-dependent help table for efficiently managing private and common storage areas
EP93924548A EP0621967A1 (de) 1992-11-16 1993-10-29 Mehrfachrechner - computersystem.
JP6511658A JPH07503567A (ja) 1992-11-16 1993-10-29 マルチプロセッサ・コンピュータ・システム
PCT/EP1993/003022 WO1994011824A1 (en) 1992-11-16 1993-10-29 Multi-processor computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4238593A DE4238593A1 (de) 1992-11-16 1992-11-16 Mehrprozessor-Computersystem

Publications (1)

Publication Number Publication Date
DE4238593A1 true DE4238593A1 (de) 1994-05-19

Family

ID=6472965

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4238593A Ceased DE4238593A1 (de) 1992-11-16 1992-11-16 Mehrprozessor-Computersystem

Country Status (5)

Country Link
US (1) US5642495A (de)
EP (1) EP0621967A1 (de)
JP (1) JPH07503567A (de)
DE (1) DE4238593A1 (de)
WO (1) WO1994011824A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016760A1 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. Switchable shared-memory cluster

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903913A (en) * 1996-12-20 1999-05-11 Emc Corporation Method and apparatus for storage system management in a multi-host environment
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US5946711A (en) * 1997-05-30 1999-08-31 Oracle Corporation System for locking data in a shared cache
US6324623B1 (en) 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6078994A (en) * 1997-05-30 2000-06-20 Oracle Corporation System for maintaining a shared cache in a multi-threaded computer environment
US6418505B1 (en) 1998-12-17 2002-07-09 Ncr Corporation Accessing beyond memory address range of commodity operating system using enhanced operating system adjunct processor interfaced to appear as RAM disk
US6658525B1 (en) 2000-09-28 2003-12-02 International Business Machines Corporation Concurrent access of an unsegmented buffer by writers and readers of the buffer
US7383412B1 (en) * 2005-02-28 2008-06-03 Nvidia Corporation On-demand memory synchronization for peripheral systems with multiple parallel processors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55103664A (en) * 1979-02-02 1980-08-08 Nec Corp Multiprocessor system
JPS57153359A (en) * 1981-03-18 1982-09-21 Ibm Data processing system with common memory
US4591977A (en) * 1983-03-23 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Plurality of processors where access to the common memory requires only a single clock interval
US5220669A (en) * 1988-02-10 1993-06-15 International Business Machines Corporation Linkage mechanism for program isolation
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
JP2825906B2 (ja) * 1990-02-01 1998-11-18 株式会社日立製作所 計算機システム
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BREITENBACH, R.C. und REED, G.: Processor-to- processor communications, In: IBM Technical Disclosure Bulletin, Vol. 22, No. 1, Juni 1979, S. 40,41 *
EICHELE, Hermann: Multiprozessor-Systeme, Teubner-Verlag, Stuttgart, 1990, S. 97-99 *
FABER, Barbara: Neue Wege gehen - Vereinigung der Vorteile verschiedener Multiprozessor-Architek- turen. In: DESIGN & ELEKTRONIK, 1990, Ausgabe 21, S. 82, 89, 90, 92, 94 *
LIPOVSKI, G. Jack: Parallel Computing. John Wiley & Sons, Inc., 1987, S. 270 bis 279 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016760A1 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. Switchable shared-memory cluster

Also Published As

Publication number Publication date
US5642495A (en) 1997-06-24
EP0621967A1 (de) 1994-11-02
WO1994011824A1 (en) 1994-05-26
JPH07503567A (ja) 1995-04-13

Similar Documents

Publication Publication Date Title
EP0115609B1 (de) Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE3805107C2 (de)
DE3854909T2 (de) Cacheverwaltungsverfahren und System in einem anteilig genutzten Dateisystem
DE69822541T2 (de) Verfahren zum Verwalten eines geteilten Speichers
DE69033540T2 (de) Verfahren zur Verwaltung von in Familien aufgeteilten mehrfachen virtuellen Speichern und entsprechende Struktur
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
EP0703534B1 (de) Speicherverwaltungssystem eines Rechnersystems
DE2455803C2 (de) Mehrprozessor-Datenverarbeitungsanlage
DE69025232T2 (de) Verfahren zur Aufrechterhaltung der Cache-Speicherkohärenz in einem Mehrrechnersystem
DE69526751T2 (de) Multiprozessorsystem zur lokalen Verwaltung von Adressenübersetzungstabellen
DE2227882A1 (de) Virtuelle Speicheranordnung
DE69131840T2 (de) Verfahren zur Vervielfältigung eines geteilten Speichers
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE69225671T2 (de) Semaphormechanismus für Datenverarbeitungssystem
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
CH620306A5 (de)
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE4238593A1 (de) Mehrprozessor-Computersystem
DE2710477A1 (de) Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie
DE69808628T2 (de) Mikroprozessorcachespeicherübereinstimmung
DE19538448B4 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE2311503A1 (de) Datenverarbeitungsanlage mit mehreren zentraleinheiten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection