DE3645218C2 - Programme management for multi processor system - Google Patents

Programme management for multi processor system

Info

Publication number
DE3645218C2
DE3645218C2 DE3645218A DE3645218A DE3645218C2 DE 3645218 C2 DE3645218 C2 DE 3645218C2 DE 3645218 A DE3645218 A DE 3645218A DE 3645218 A DE3645218 A DE 3645218A DE 3645218 C2 DE3645218 C2 DE 3645218C2
Authority
DE
Germany
Prior art keywords
program
computer
data
message
memory
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
Application number
DE3645218A
Other languages
German (de)
Inventor
Kinji Mori
Shoji Miyamoto
Koichi Haruna
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Priority claimed from JP60126152A external-priority patent/JP2709705B2/en
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE3645218C2 publication Critical patent/DE3645218C2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Abstract

A multiple processor system consisting of processor, programmable terminals, workstations and associated peripherals are coupled over a communication bus and provide a distributed data processing capability. Each processing system consists of the processor (100) that is interfaced (101) to the bus (1) and is accessed by a terminal (11). Coupled to the processor is an input buffer (103), an output buffer (104), a programme memory (105) and a data memory (106).A contents coding table (107) and memory management table (108) are coupled to the processor. The coding provides characteristic features of an entered programme, for example, the programme length, interaction with other programmes, input and output data. A test routine is executed to determine that the programme can be handled

Description

Die Erfindung betrifft ein Steuerverfahren für ein System nach Anspruch 1.The invention relates to a control method for a system according to claim 1.

Ein Steuerverfahren für ein Mehrrechnersystem mit den im Oberbegriff des Anspruchs 1 angegebenen Merkmalen ist aus der US-Patentschrift 4,366,479 bekannt. Dort sind die an den Übertragungsweg angeschlossenen Rechner jeweils mit Arbeitsprogrammen fest ausgerüstet oder werden gezielt mit solchen geladen. Die einzelnen Rechner können über den Übertragungsweg Daten aussenden, die von einem oder mehreren der anderen Rechner je nach Bedarf aufgenommen werden.A control procedure for a multi-computer system with the The preamble of claim 1 is given from the U.S. Patent 4,366,479. There they are Computer connected to the transmission path each with work programs permanently equipped or are targeted with such loaded. The individual computers can use the transmission path Send out data from one or more of the others Computers can be included as needed.

Aus IEEE Transactions On Communications, Band COM-22, Nr. 5, Mai 1974, Seiten 637-648 ist ferner ein Steuerverfahren für die Kommunikation innerhalb eines Paketnetzwerks bekannt, wobei das Format des durch das Netzwerk gesandten Pakets sowohl Absender als auch Empfänger bezeichnet. Die Übertragung von Nachrichten erfolgt also unter Bestimmung der Zieladresse durch den sendenden Rechner. Im Gegensatz zu dem oben beschriebenen Stand der Technik können die einzelnen an den Übertragungsweg angeschlossenen Rechner nicht selbständig entscheiden, ob sie die über das Netzwerk laufende Nachricht annehmen oder nicht.From IEEE Transactions On Communications, Volume COM-22, No. 5, May 1974, pages 637-648 is also a tax procedure for the communication within a packet network is known, where the format of the packet sent through the network both Designated sender as well as recipient. The transfer of Messages are made by determining the destination address by the sending computer. In contrast to the one described above State of the art, the individual can Transmission path connected computers not independently decide whether to send the message over the network accept or not.

Bei einem üblichen Mehrrechnersystem, wie es beispielsweise in "Multiple Microprocessor Sytems: What, Why and When" Computer, IEEE Vol. 16, No. 3, März 1983, Seite 23-32 beschrieben ist, speichert jeder Rechner die auszuführenden Programme, oder ein vorbestimmter spezieller Rechner überträgt die Programme über einen bestimmten Vorgang wie beispielsweise die Ferneingabe auf einen anderen Rechner, der die Programme ausführt. Bei einem derartigen System kann eine rechtzeitige Programmeingabe dann nicht immer erzielt werden, wenn ein Rechner Programme benötigt, oder die Übertragung der Programme zwischen den Rechnern kann nicht immer in der gewünschten Weise erzielt werden. Es ist somit unmöglich, flexibel mit dem Auslastungszustand der Rechner, dem Auftreten von Fehlern, dem Zuschalten von Rechnern zum Netz und dem Abkoppeln von Rechnern vom Netz umzugehen. Der Operationsmodus, bei dem ein bestimmter Rechner alle Programme eines großen Systems steuert, ist nicht leicht zu verwirklichen.In a common multi-computer system, such as in "Multiple Microprocessor Systems: What, Why and When "Computer, IEEE Vol. 16, No. 3, March 1983, pages 23-32 is described, each computer stores the data to be executed Programs, or a predetermined special computer transmits the programs via a specific process such as remote entry to another computer running the programs executes. With such a system, timely Program input cannot always be achieved if a computer needs programs, or transferring the Programs between computers can not always be in the desired Way can be achieved. It is therefore impossible to be flexible with the workload of the computers, the occurrence of errors, the connection of computers to the network and the disconnection of To deal with computers from the network. The mode of operation in which a particular Computer all programs of a large system controls is not easy to achieve.

Der Erfindung liegt die Aufgabe zugrunde, ein Steuerverfahren für ein Mehrrechnersystem anzugeben, mit dem sich die Arbeitslast noch flexibler auf die jeweils angeschlossenen Rechner verteilen läßt.The invention has for its object a control method to specify for a multi-computer system with which the workload even more flexible to the connected ones Distributes calculator.

Die erfindungsgemäße Lösung dieser Aufgabe ist im Anspruch 1 gekennzeichnet. Danach werden nicht nur Daten, sondern auch Datenverarbeitungsprogramme über den Übertragungsweg gesendet und von anderen verfügbaren Rechnern gespeichert, wobei einer dieser Rechner ein Programm dann abarbeitet, wenn er auch die zugehörigen Daten empfangen hat. Die Verteilung einzelner Programme auf die vorhandenen Rechner ist also nicht festgelegt, sondern erfolgt durch Aussenden über den gemeinsamen Datenweg und je nach Verfügbarkeit einzelner Rechner. Dabei ist es auch möglich, bereits zugeordnete Programme auf weitere, etwa neu zugeschaltete, Rechner umzuladen und dadurch eine weitere Verteilung der Belastung zu erzielen.The solution to this problem according to the invention is in claim 1 featured. After that, not only data, but also Data processing programs sent over the transmission path and stored by other available computers, one of which this computer executes a program if it also executes the has received associated data. The distribution of individuals Programs on the existing computers is not defined, but takes place by sending out via the common data path and depending on the availability of individual computers. It is it is also possible to assign already assigned programs to other such as reloading computers and reloading one to achieve further distribution of the burden.

Im folgenden werden anhand der zugehörigen Zeichnung besonders bevorzugte Ausführungsbeispiele der Erfindung näher beschrieben. Es zeigtThe following are special with the accompanying drawing preferred embodiments of the invention described in more detail. It shows

Fig. 1 ein Programmnachrichtenformat, das bei einem Ausführungsbeispiel der Erfindung benutzt wird,1 shows a program message format used in an embodiment of the invention.

Fig. 2 in einem Blockschaltbild den Gesamtaufbau eines Mehrfachrechnersystems gemäß der Erfindung, Fig. 2 is a block diagram showing the overall structure of a multiple-computer system according to the invention,

Fig. 3 in einem Blockschaltbild einen der Rechner des Systems von Fig. 2, Fig. 3, in a block diagram of a computer of the system of FIG. 2

Fig. 4 ein Programmkettenformat,4 shows a program chain format,

Fig. 5 schematisch, wie eine Programmkette gebildet wird und Fig. 5 shows schematically how a program chain is formed and

Fig. 6 ein Datennachrichtenformat. Fig. 6 is a data message format.

Fig. 2 zeigt ein Beispiel des Gesamtaufbaus eines Mehrrechnersystems zur Verwendung bei der vorliegenden Erfindung. Rechner 10, 20 . . . n0 sind über eine Übertragungsleitung 1 miteinander verbunden, um Daten und Programme auszusenden oder zu empfangen. Jeder Rechner enthält einen Prozessor und einen Speicher zum Speichern von Daten und Programmen und ist mit Terminalgeräten 11, 21, . . . n1 verbunden. Fig. 2 shows an example of the overall structure of a multi-computer system for use in the present invention. Calculator 10, 20 . . . n0 are connected to one another via a transmission line 1 in order to transmit or receive data and programs. Each computer contains a processor and a memory for storing data and programs and is connected to terminal devices 11, 21,. . . n1 connected.

Der Aufbau jedes Rechners, beispielsweise des Rechners 10, ist in Fig. 3 dargestellt. Ein Prozessor 100 ist mit der Übertragungsleitung 1 bei der Schnittstelle 101 und mit dem Terminalgerät 11 über eine Schnittstelle 102 verbunden. Der Prozessor 100 ist gleichfalls mit einem Eingangspuffer 103, einem Ausgangspuffer 104, einem Programmspeicher 105, einem Datenspeicher 106, einer Inhaltscodetabelle 107 und einer Speicherverwaltungstabelle 108 verbunden. Die Codes sind vorher in der Inhaltscodetabelle 107 über geeignete Verfahren, beispielsweise manuell durch den Operator über das Terminalgerät 11 oder über einen Steuercomputer, eingegeben. Die Codes geben den Inhalt (d. h. den zu verarbeitenden Gegenstand, den Zweck, das Format usw. beispielsweise die Berechnung der Verzögerung in Zugfahrplänen oder die Berechnung einer speziellen Funktion) der verschiedenen Programme wieder, die durch den Rechner ausführbar sind. Die Speicherverwaltungstabelle 108 hält Informationen, die den leeren Zustand des Programmspeichers 105, dessen Inhalt durch den Prozessor 100 auf die Speicherung von Programmen im Programmspeicher 105 ansprechend fortgeschrieben wird, die Löschung von alten Programmen, Abwandlungen der Programme und ähnliches wiedergeben. The structure of each computer, for example computer 10 , is shown in FIG. 3. A processor 100 is connected to the transmission line 1 at the interface 101 and to the terminal device 11 via an interface 102 . The processor 100 is also connected to an input buffer 103 , an output buffer 104 , a program memory 105 , a data memory 106 , a content code table 107 and a memory management table 108 . The codes are previously entered in the content code table 107 using suitable methods, for example manually by the operator via the terminal device 11 or via a control computer. The codes reflect the content (ie the object to be processed, the purpose, the format, etc., for example the calculation of the delay in train timetables or the calculation of a special function) of the various programs that can be executed by the computer. The memory management table 108 holds information which represents the empty state of the program memory 105 , the content of which is updated by the processor 100 in response to the storage of programs in the program memory 105 , the deletion of old programs, modifications of the programs and the like.

Es sei angenommen, daß ein neues Programm im Programmspeicher 105 des Rechners 10 gespeichert wurde. Dieses Programm kann ein Programm, das vom Operator unter Verwendung des Terminalgerätes entwickelt wurde, ein Programm, das an einem anderen Arbeitsplatz entwickelt und in den Rechner 10 geladen wurde, oder ein Programm in Form eines eingebauten Festspeichers ROM sein. Es sei jedoch darauf hingewiesen, daß ein Programminhaltscode und ein Steuercode, die später beschrieben werden, erzeugt und dem Programm beigefügt werden müssen. Auf eine Anforderung vom Operator zu einem geeigneten Zeitpunkt, auf eine Übertragungsanforderung des Programmes von einem anderen Rechner oder auf eine Laufanforderung des Programmes überträgt der Prozessor 100 eine Kopie des Programmes zum Ausgangspuffer 104 und über die Schnittstelle 101 zu einem vorbestimmten Nachrichtenabgabezeitpunkt auf die Übertragungsleitung 1.It is assumed that a new program has been stored in the program memory 105 of the computer 10 . This program can be a program developed by the operator using the terminal device, a program developed at another work station and loaded into the computer 10 , or a program in the form of a built-in ROM. However, it should be noted that a program content code and a control code, which will be described later, must be generated and added to the program. Upon a request from the operator at a suitable point in time, a transfer request for the program from another computer or a run request for the program, the processor 100 transfers a copy of the program to the output buffer 104 and via the interface 101 to the transmission line 1 at a predetermined message delivery time.

Das abzugebende Programm wird zu einer Programmnachricht 200 mit dem in Fig. 1 dargestellten Format aufbereitet. Die Programmnachricht 200 besteht aus dem Programm 208 selbst und einem charakteristischen Code 209, der die Charakteristik wiedergibt, die zur Verwaltung des Programmes notwendig ist. Der charakteristische Code 209 besteht aus einem Programminhaltscode 201 und einem Steuercode 202. Der Programminhaltscode 201 entspricht dem Inhalt der Inhaltscodetabelle 107, die bei jedem Rechner vorgesehen ist, und gibt den Inhalt des Programmes, beispielsweise die Tatsache wieder, daß das Programm 208 dazu dient, eine Verzögerung im Fahrplan von Zügen für das Zuglaufmanagement zu berechnen. Der Steuercode 202 besteht aus einer Programmlänge 203, die die Programmlänge angibt, einem Eingangsinhaltscode 204, der den Inhalt (beispielsweise die Ankunftszeit der Züge) der Eingangsdaten wiedergibt und eine der Bedingungen zum Ablauf des Programmes bildet, einen Ausgangsinhaltscode 205, der den Inhalt (beispielsweise die Verzögerungszeit, den Zuglaufbefehl) der Daten wiedergibt, die als Folge der Ausführung des Programmes erhalten werden, einem Cooperationscode 206, der angibt, welche Art von Cooperation (beispielsweise Synchronisation in der Ausführung, Anpassung an empfangene Daten, die von verschiedenen Rechnern ausgegeben werden) mit anderen Programmen, die durch andere Rechner auszuführen sind, verwirklicht werden soll, und Simulationsdaten 207, die aus Simulationseingangsdaten und Simulationsausgangsdaten bestehen, die bei einer Simulation erhalten werden. Die Simulationsdaten 207 können als Teil des Programmes 208 enthalten sein.The program to be submitted is processed into a program message 200 with the format shown in FIG. 1. The program message 200 consists of the program 208 itself and a characteristic code 209 which reproduces the characteristic which is necessary for the administration of the program. The characteristic code 209 consists of a program content code 201 and a control code 202 . The program content code 201 corresponds to the content of the content code table 107 , which is provided on each computer, and reflects the content of the program, for example the fact that the program 208 is used to calculate a delay in the schedule of trains for train routing management. The control code 202 consists of a program length 203 which specifies the program length, an input content code 204 which reproduces the content (for example the arrival time of the trains) of the input data and forms one of the conditions for the execution of the program, an output content code 205 which specifies the content (for example represents the delay time, the train running command) of the data obtained as a result of the execution of the program, a cooperation code 206 which indicates what type of cooperation (for example synchronization in execution, adaptation to received data which are output by different computers) with other programs to be executed by other computers, and simulation data 207 , which consist of simulation input data and simulation output data, which are obtained during a simulation. The simulation data 207 can be included as part of the program 208 .

Während die Programmnachricht über die Übertragungsleitung 1 geht, nimmt jeder der restlichen Rechner diese Nachricht über die Schnittstelle 101 in den Eingangspuffer 103 auf. Jeder Prozessor 100 überprüft den Programminhaltscode 201 der empfangenen Programmnachricht durch einen Bezug auf die Inhaltscodierungstabelle und beurteilt, ob der Inhalt des Programmes verfügbar ist. Darüber hinaus vergleicht der Prozessor 100 den Programmlängencode 203 mit dem Inhalt der Speicherverwaltungstabelle 108, um zu beurteilen, ob der Programmspeicher 105 einen zum Speichern des Programmes ausreichenden Platz hat. Wenn auf der Grundlage der obigen beiden Beurteilungen entschieden wird, daß das Programm zu speichern ist, wird das Programm vom Eingangspuffer 103 auf den Programmspeicher 105 übertragen und an dem leeren Bereich dieses Speichers abgespeichert, der durch die Speicherverwaltungstabelle 108 angegeben wird, die zum gleichen Zeitpunkt fortgeschrieben wird, um einen neuen Platz des Speichers anzugeben. Wenn andererseits eine der beiden Beurteilungen negativ ist, wird der Inhalt des Eingangspuffers sofort gelöscht.While the program message is going through the transmission line 1 , each of the remaining computers receives this message via the interface 101 in the input buffer 103 . Each processor 100 checks the program content code 201 of the received program message by referring to the content encoding table and judges whether the content of the program is available. In addition, the processor 100 compares the program length code 203 with the contents of the memory management table 108 to judge whether the program memory 105 has enough space to store the program. If it is decided on the basis of the above two judgments that the program is to be stored, the program is transferred from the input buffer 103 to the program memory 105 and stored in the empty area of this memory indicated by the memory management table 108 at the same time is updated to indicate a new location of the memory. On the other hand, if one of the two judgments is negative, the content of the input buffer is cleared immediately.

Wenn das neue Programm im Programmspeicher 105 gespeichert ist, prüft der Prozessor 100 anschließend das Programm derart, daß das Programm unter Verwendung der Simulationseingangsdaten in den Simulationsdaten 207 ausgeführt wird und die erhaltenen Daten mit den Ausgangsdaten in den Simulationsdaten 207 verglichen werden. Wenn die erhaltenen Daten mit den Ausgangsdaten nicht identisch sind, wird das Programm als fehlerhaft beurteilt und vom Programmspeicher gelöscht. Eine Nachricht dazu wird an die Übertragungsleitung 1 abgegeben oder am Terminalgerät 11 angezeigt, und der vorhergehende Inhalt der Speicherverwaltungstabelle 108 wird wiederhergestellt. Wenn die Daten jedoch identisch sind, wird das Programm als fehlerfrei beurteilt, und es beginnt der folgende Programmablauf.If the new program is stored in the program memory 105 , the processor 100 then checks the program such that the program is executed using the simulation input data in the simulation data 207 and the data obtained are compared with the output data in the simulation data 207 . If the data obtained are not identical to the output data, the program is judged to be faulty and is deleted from the program memory. A message about this is sent to the transmission line 1 or displayed on the terminal device 11 , and the previous content of the memory management table 108 is restored. However, if the data is identical, the program is judged to be error-free and the following program flow begins.

Auf eine Beurteilung hin, daß das Programm fehlerfrei ist, wird eine Programmkette 300 gebildet, wie es in Fig. 4 dargestellt ist, um zu überprüfen, ob das Programm anderen, in den übrigen Rechnern gespeicherten Programmen widerspricht. Anschließend sammelt der Prozessor 100 des Rechners 10, der ein neues fehlerfreies Programm von einem anderen Rechner gespeichert hat, die Programminhaltscodes 201 und die Cooperationscodes 206 der Programme l₁ bis m₁ im Programmspeicher 105, um eine Reihe von Programmunterbereichen 305 bis 306 zu bilden, die aus einem Programminhaltscode 308 und einem Cooperationscode 309 bestehen. Eine Rechneridentifizierungsnummer 307 wird der Reihe von Programmunterbereichen angefügt, um einen Bereich 302 für den Rechner 10 zu bilden. Am oberen Ende des Bereiches 302 für den Rechner 10 wird ein Programmkettencode 301, der eine Programmkette angibt, zur Abgabe an die Übertragungsleitung 1 angefügt.Upon an assessment that the program is error-free, a program chain 300 is formed, as shown in FIG. 4, to check whether the program contradicts other programs stored in the other computers. Then the processor 100 of the computer 10 , which has stored a new error-free program from another computer, collects the program content codes 201 and the cooperation codes 206 of the programs l 1 to m 1 in the program memory 105 to form a series of program sub-areas 305 to 306 which are made up of a program content code 308 and a cooperation code 309 . A computer identification number 307 is added to the series of program sub-areas to form an area 302 for the computer 10 . At the upper end of the area 302 for the computer 10 , a program chain code 301 , which indicates a program chain, is added for delivery to the transmission line 1 .

Der Rechner 20 nimmt die Programmkette vom Rechner 10 auf und bildet einen Bereich 303 für den Rechner 20 in ähnlicher Weise, wie es oben beschrieben wurde, auf der Grundlage der Programminhaltscodes und der Cooperationscodes der Programme, die in seinem Programmspeicher 105 gespeichert sind. Der Bereich 303 des Rechners 20 wird dem Bereich für den Rechner 10 zur Abgabe an die Übertragungsleitung 1 zugefügt. Fig. 5 zeigt schematisch den oben beschriebenen Arbeitsvorgang. Die anderen Rechner führen eine ähnliche Bereichsbildung durch und fügen die Bereiche 302 bis 304 zu, um dadurch eine Programmkette 300 fertigzustellen. Der Rechner, der die Programmkette zuerst lieferte, empfängt die vollständige Programmkette 300 und vergleicht den Programminhaltscode 308 und den Cooperationscode 309 des neu gespeicherten Programmes mit denen anderer Programme, um zu prüfen, ob die zu verwendenden Cooperationsinhalte der Programme einander nicht widersprechen. Wenn sie einander widersprechen, ist die Ausführung dieses Programmes gesperrt, und wird eine entsprechende Nachricht zur Übertragungsleitung 1 oder zum Terminalgerät 11 abgegeben. Wenn sie einander nicht widersprechen, hat das Programm einen ausführbaren Status.The computer 20 picks up the program chain from the computer 10 and forms an area 303 for the computer 20 in a manner similar to that described above, based on the program content codes and the cooperation codes of the programs stored in its program memory 105 . The area 303 of the computer 20 is added to the area for the computer 10 for delivery to the transmission line 1 . Fig. 5 shows schematically the operation described above. The other computers perform a similar area formation and add the areas 302 to 304 to thereby complete a program chain 300 . The computer that supplied the program chain first receives the complete program chain 300 and compares the program content code 308 and the cooperation code 309 of the newly stored program with those of other programs in order to check whether the cooperation contents of the programs to be used do not contradict each other. If they contradict each other, the execution of this program is blocked and a corresponding message is sent to the transmission line 1 or to the terminal device 11 . If they do not contradict each other, the program has an executable status.

Das ausführbare Programm wird ausgeführt, wenn die von dem Eingangsinhaltscode 204 des Programmes angegebenen Daten vorliegen. Die Daten können vorher im Datenspeicher 106 gespeichert sein oder können später von der Übertragungsleitung 1 kommen und im Speicher 106 gespeichert werden. Die Daten werden im Format einer Datennachricht 400 übertragen, wie sie in Fig. 6 dargestellt ist. Die Datennachricht besteht aus den Daten 402 selbst und einem Dateninhaltscode 401, der den Inhalt der Daten wiedergibt. Der Dateninhaltscode wird mit dem Eingangsinhaltscode 204 des Programmes verglichen, und das Programm wird dann ausgeführt, wenn Übereinstimmung dazwischen sichergestellt ist.The executable program is executed when the data indicated by the program's input content code 204 is available. The data can be stored beforehand in the data memory 106 or can come later from the transmission line 1 and be stored in the memory 106 . The data is transmitted in the format of a data message 400 , as shown in FIG. 6. The data message consists of the data 402 itself and a data content code 401 that represents the content of the data. The data content code is compared to the input content code 204 of the program, and the program is executed when a match is found therebetween.

Das ausgeführte Programm erzeugt am Ende seines Ablaufes Ausgangsdaten sowie einen bestimmten Ausgangsinhaltscode, der die Ausgangsdaten wiedergibt. Der Ausgangsinhaltscode wird mit dem Ausgangsinhaltscode 205 des Programmes verglichen. Wenn der erzeugte Ausgangsinhaltscode in dem bestimmten Ausgangsinhaltscode 205 enthalten ist, wird beurteilt, daß das Programm fehlerfrei ausgeführt wurde, und die Ausgangsdaten werden im Datenspeicher 106 gespeichert oder gegebenenfalls über den Ausgangspuffer 104 und die Schnittstelle 101 zur Eingabe in andere Rechner abgegeben. Wenn andererseits der erzeugte Ausgangsinhaltscode in dem vorbestimmten Ausgangsinhaltscode 205 nicht enthalten ist, dann wird beurteilt, daß das Programm fehlerhaft ist, und es wird eine diesbezügliche Nachricht zum Terminalgerät 11 oder auf die Übertragungsleitung 1 abgegeben.At the end of its execution, the executed program generates output data and a specific output content code that reproduces the output data. The output content code is compared to the output content code 205 of the program. If the generated output content code is contained in the determined output content code 205 , it is judged that the program was executed without errors and the output data are stored in the data memory 106 or, if necessary, output via the output buffer 104 and the interface 101 for input into other computers. On the other hand, if the generated output content code is not included in the predetermined output content code 205 , then it is judged that the program is defective, and a related message is sent to the terminal device 11 or the transmission line 1 .

Jeder Rechner empfängt ein neues Programm, ein korrigiertes Programm, ein verbessertes Programm oder ein geändertes Programm nacheinander über die Übertragungsleitung 1 oder das Terminalgerät 11. Dazu ist ein bekanntes Programmentwicklungssystem für jeden Rechner für Austausch, Erweiterung, Umwandlung, Aufbereitung, Löschung von Programmen und ähnlichem vorgesehen. Die Speicherverwaltungstabelle 108 wird fortgeschrieben, wenn es während derartiger Arbeitsvorgänge notwendig ist. Immer wenn derartige Arbeitsvorgänge ausgeführt werden, wird das Programm weiterhin auf Fehler und auf Kompatibilität mit anderen Programmen überprüft.Each computer receives a new program, a corrected program, an improved program or a changed program one after the other via the transmission line 1 or the terminal device 11 . For this purpose, a known program development system is provided for each computer for the exchange, extension, conversion, preparation, deletion of programs and the like. The memory management table 108 is updated if it is necessary during such operations. Whenever such operations are carried out, the program continues to be checked for errors and for compatibility with other programs.

Wenn eine Nachricht, die angibt, daß das empfangene Programm fehlerhaft ist oder einen Cooperationswiderspruch ergibt, auf die Übertragungsleitung 1 abgegeben wird, analysiert der das Programm erzeugende Rechner die Nachricht, um den Programmfehler zu bestätigen. In Abhängigkeit vom Inhalt der Nachricht, beispielsweise einem Fehler, überträgt der das Programm erzeugende Rechner das Programm erneut oder zeigt die notwendige Angabe an dem Terminalgerät an, um eine Korrektur oder eine Neuentwicklung des Programms zu erzwingen.When a message indicating that the received program is defective or contradicting a cooperation is issued on the transmission line 1 , the computer producing the program analyzes the message to confirm the program error. Depending on the content of the message, for example an error, the computer generating the program retransmits the program or displays the necessary information on the terminal device in order to force a correction or a new development of the program.

Statt separat den Eingangspuffer 103 und den Ausgangspuffer 104 vorzusehen, kann auch ein einziger Puffer für die Eingabe und Ausgabe vorgesehen sein. Der Programmspeicher 105 und der Datenspeicher 106 können weiterhin verschiedene Bereiche in einem einzigen Speicher verwenden.Instead of providing the input buffer 103 and the output buffer 104 separately , a single buffer for input and output can also be provided. Program memory 105 and data memory 106 may continue to use different areas in a single memory.

Die Programme sind nicht bestimmten Rechnern fest zugeordnet, sondern werden zwischen den Rechnern erforderlichenfalls übertragen und an den Bestimmungsorten geprüft und ausgeführt. Es ist folglich nicht nur die Gesamtverarbeitungsleistung des Systems verbessert, sondern es wird auch eine leichte Transparenz zwischen den Rechnern zur Benutzung von Programmen zwischen den Rechnern erreicht. Eine verbesserte Kompatibilität und Flexibilität des Systems erlaubt weiterhin ein leichtes Zuschalten, Abschalten oder Austauschen von Rechnern, was die Fähigkeit merklich verbessert, mit anomalen Situationen des Systems fertigzuwerden. Die Programmverwaltung wird weiterhin vereinfacht, und die Produktivität ist verbessert.The programs are not specific Computers permanently assigned, but are between the computers if necessary transferred and checked and executed at the destinations. It is therefore not just the total processing power of the system improved, but it also becomes a slight transparency between the computers to use Programs between the computers reached. An improved one Compatibility and flexibility of the system still allowed an easy connection, disconnection or exchange of Computers, which noticeably improves the ability to use to deal with abnormal situations of the system. Program management will continue to be simplified, and productivity is improved.

Claims (3)

1. Steuerverfahren für ein Mehrrechnersystem, in dem mehrere Rechner (10, 20, . . . n0) über einen Übertragungsweg (1) untereinander verbunden sind und jeder Rechner einen Prozessor (100) und einen Speicher (105, 106) zur Speicherung von Programm und Daten aufweist,
wobei einer der Rechner über den Übertragungsweg (1) eine Nachricht (200) zusammen mit einem Steuercode (202) aussendet, der eine Bedingung angibt, die von einem Rechner, der die Nachricht annehmen soll, erfüllt werden muß, und
mindestens einer der übrigen Rechner anhand eines Vergleichs zwischen dem in der Nachricht enthaltenen Steuercode (202) und einem in ihm selbst vorhandenen Zustand entscheidet, ob er die Nachricht annimmt,
dadurch gekennzeichnet,
daß die Nachricht (200) ein Datenverarbeitungsprogramm (208) enthält,
daß der Steuercode (202) eine Information (203) enthält, die die zur Ausführung des übertragenen Programms erforderlichen Rechner-Resourcen angibt,
daß die Entscheidung über die Annahme der Nachricht aufgrund eines Vergleichs des Steuercodes (202) mit dem gegenwärtigen Zustand der Rechner-Resourcen erfolgt, und
daß der empfangende Rechner das Programm abarbeitet, wenn er die Daten empfangen hat.
1. Control method for a multi-computer system in which several computers ( 10, 20 ,... N0) are connected to one another via a transmission path ( 1 ) and each computer has a processor ( 100 ) and a memory ( 105, 106 ) for storing programs and has data
one of the computers via the transmission path ( 1 ) sending a message ( 200 ) together with a control code ( 202 ) which specifies a condition which must be fulfilled by a computer which is to accept the message, and
at least one of the other computers decides whether to accept the message based on a comparison between the control code ( 202 ) contained in the message and a state that is present in it,
characterized,
that the message ( 200 ) contains a data processing program ( 208 ),
that the control code ( 202 ) contains information ( 203 ) which specifies the computer resources required to execute the transmitted program,
that the decision to accept the message is based on a comparison of the control code ( 202 ) with the current state of the computer resources, and
that the receiving computer processes the program when it has received the data.
2. Steuerverfahren nach Anspruch 1, dadurch gekennzeichnet,
daß der Steuercode (202) eine die Länge des übertragenen Programms angebende Information (203) enthält, und
daß die Entscheidung über die Annahme des Programms (200) durch Vergleich dieses Codes mit einer jeweils aufgefrischten Information über den gegenwärtigen Zustand des Programmspeichers (105) erfolgt.
2. Control method according to claim 1, characterized in
that the control code ( 202 ) contains information ( 203 ) indicating the length of the program being transmitted, and
that the decision about the acceptance of the program ( 200 ) is made by comparing this code with a respectively refreshed information about the current state of the program memory ( 105 ).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß der Steuercode (202) Simulationsdaten (207) enthält, und
daß der empfangende Rechner das empfangene Programm vor der Abarbeitung aufgrund der Simulationsdaten (207) auf Fehler prüft.
3. The method according to claim 1 or 2, characterized in
that the control code ( 202 ) contains simulation data ( 207 ), and
that the receiving computer checks the received program for errors based on the simulation data ( 207 ) before execution.
DE3645218A 1985-06-12 1986-06-11 Programme management for multi processor system Expired - Lifetime DE3645218C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP60126152A JP2709705B2 (en) 1985-06-12 1985-06-12 Program management method in multi-computer system
DE19863619660 DE3619660A1 (en) 1985-06-12 1986-06-11 Program management method for multiple computer system

Publications (1)

Publication Number Publication Date
DE3645218C2 true DE3645218C2 (en) 1996-03-14

Family

ID=25844552

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3645218A Expired - Lifetime DE3645218C2 (en) 1985-06-12 1986-06-11 Programme management for multi processor system

Country Status (1)

Country Link
DE (1) DE3645218C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19806237A1 (en) * 1998-02-16 1999-08-19 Sennheiser Electronic Method and computer system for communication with at least one second computer system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4366479A (en) * 1980-02-08 1982-12-28 Hitachi, Ltd. Control information communication method and system through a common signal transmission line

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4366479A (en) * 1980-02-08 1982-12-28 Hitachi, Ltd. Control information communication method and system through a common signal transmission line
US4366479B1 (en) * 1980-02-08 1992-03-10 Hitachi Ltd

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19806237A1 (en) * 1998-02-16 1999-08-19 Sennheiser Electronic Method and computer system for communication with at least one second computer system
US6631396B2 (en) 1998-02-16 2003-10-07 Sennheiser Electronic Gmbh & Co. Kg Process and electronic data-processing system for communication with at least one other electronic data-processing system
DE19806237B4 (en) * 1998-02-16 2005-05-25 Sennheiser Electronic Gmbh & Co. Kg Transportable EDP system for communication with at least one second EDP sysytem

Similar Documents

Publication Publication Date Title
DE2527631C3 (en) Method and circuit arrangement for transmitting data messages
DE3856569T2 (en) Message transfer arrangement with common data transfer and collection devices
DE3127321C2 (en)
DE3619660C2 (en)
DE2337703C2 (en) Process for the transmission and transmission error correction of digital information consisting of data sections as well as a device for carrying out the process
DE2943149C2 (en) Ring network with several processors connected to a data ring line
DE19532422C1 (en) Local network operating according to the asynchronous transfer mode (ATM) with at least two ring systems
DE3902488A1 (en) Device for decentralised data processing, and method of loading programs for it
DE112006003745T5 (en) Remote updating system for an elevator control program
DE3201768C2 (en)
DE10392438T5 (en) Device and method for the central monitoring and control of plants
DE2523399A1 (en) DATA PROCESSING SYSTEM WITH INPUT / OUTPUT PROCESSORS
DE2751106A1 (en) AUTOMATIC MULTIPROCESSOR SWITCHING SYSTEM FOR TELEGRAPH LINES
DE3736550A1 (en) METHOD AND DEVICE FOR SIMULTANEOUS DATA TRAFFIC
DE69923938T2 (en) Network interface device
DE2027159A1 (en) Input-output arrangement for a data processing system
DE3210439A1 (en) METHOD AND CIRCUIT ARRANGEMENT FOR TRANSMITTING MESSAGE SIGNALS BETWEEN DIFFERENT TRANSMISSION PROCESSES WORKING CENTERS OF A FIRST SWITCHING NETWORK AND A SECOND SWITCHING NETWORK
DE3139960C2 (en)
DE3718472C2 (en)
DE3645218C2 (en) Programme management for multi processor system
DE2657897A1 (en) EXTERNAL DEVICE THAT CONTAINS THE URE INPUT FIXED, FOR ELECTRONIC DATA PROCESSING SYSTEMS WITH A CENTRAL MEMORY
DE4409179A1 (en) System and method for dynamic information processing
DE4103411A1 (en) Automatic programme modification in distributed data processing system - uses second processor to determine modifications to be made according to environment
DE4444688A1 (en) Process for highly reliable and consistent message transmission
DE3139959A1 (en) DATA DEVICE DIAGNOSTIC SYSTEM

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 3619660

8110 Request for examination paragraph 44
AC Divided out of

Ref country code: DE

Ref document number: 3619660

Format of ref document f/p: P

8125 Change of the main classification

Ipc: G06F 13/36

AC Divided out of

Ref country code: DE

Ref document number: 3619660

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition