DE69327270T2 - Job-Ausführungsmethode in einem Multiprozessor-System - Google Patents

Job-Ausführungsmethode in einem Multiprozessor-System

Info

Publication number
DE69327270T2
DE69327270T2 DE69327270T DE69327270T DE69327270T2 DE 69327270 T2 DE69327270 T2 DE 69327270T2 DE 69327270 T DE69327270 T DE 69327270T DE 69327270 T DE69327270 T DE 69327270T DE 69327270 T2 DE69327270 T2 DE 69327270T2
Authority
DE
Germany
Prior art keywords
processor
queue
processing step
cpu
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69327270T
Other languages
English (en)
Other versions
DE69327270D1 (de
Inventor
Satoshi Asada
Tsuneaki Kadosawa
Eiji Koga
Takashi Nakamura
Hitoshi Watanabe
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of DE69327270D1 publication Critical patent/DE69327270D1/de
Application granted granted Critical
Publication of DE69327270T2 publication Critical patent/DE69327270T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

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)
  • Computer And Data Communications (AREA)

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Job- Ausführungsverfahren, bei dem ein Prozessor (CPU) einen anderen Prozessor (CPU) zur Ausführung eines Jobs in einem Multiprozessor-System veranlasst.
  • Relevanter Stand der Technik
  • Wenn bei einem herkömmlichen System dieser Art der erste Prozessor bzw. die erste Zentraleinheit (CPU) den zweiten Prozessor bzw. die zweite Zentraleinheit (CPU) zur Ausführung eines auch als Job bezeichneten Verarbeitungsschrittes veranlasst, wandelt der erste Prozessor einen auszuführenden Job in ein Programm in Übereinstimmung mit einem vorbestimmten Format um und überträgt das Programm zu dem zweiten Prozessor. Der zweite Prozessor, der dieses Programm empfangen hat, dekodiert und führt den übertragenen Job in Übereinstimmung mit einem vorbestimmten Format aus. Das Ausführungsergebnis wird bei Bedarf in eine Form in Übereinstimmung mit einem vorbestimmten Format gebracht. Das Ergebnis wird zu dem ersten Prozessor als Jobübertragungsquelle zurückgesendet. Das heißt, bei diesem herkömmlichen Verfahren muss der Job auf der Übertragungsseite in ein Übertragungsformat verarbeitet bzw. gebracht werden. Auf der Empfangsseite müssen die im Übertragungsformat empfangenen Informationen dekodiert werden. Wenn der erste Prozessor den zweiten Prozessor zur Ausführung des Jobs veranlasst, muss außerdem eine erforderliche Übertragungsanweisung in dem Programm enthalten sein. Ein derartiges System ist in der WO-A-92/01990 beschrieben.
  • Da ein Programmierer eine erforderliche Kommunikationsanweisung in das Programm schreiben muss, wird die Belastung für den Programmierer unerwünscht erhöht.
  • Die vorliegende Erfindung beseitigt das Erfordernis einer komplizierten Kommunikationsanweisung zwischen Prozessoren in einem durch einen Programmierer ausgebildeten Programm in einem System, in dem ein Prozessor einen anderen Prozessor zur Ausführung des Jobs veranlassen kann.
  • Die vorliegende Erfindung betrifft auch eine Verringerung der Programmgröße jedes Prozessors in einem System, in dem ein Prozessor einen anderen Prozessor zur Ausführung des Jobs veranlassen kann.
  • Ein Ausführungsbeispiel der Erfindung verringert die Programmgröße jedes Prozessors und erhöht die Programmausführungsgeschwindigkeit in einem System, in dem ein Prozessor einen anderen Prozessor zur Ausführung des Jobs veranlassen kann.
  • Gemäß einer Ausgestaltung umfasst die Erfindung ein Verarbeitungsverfahren in einem Multiprozessorsystem nach Patentanspruch 1.
  • Gemäß einer zweiten Ausgestaltung der Erfindung ist ein Multiprozessorsystem nach Patentanspruch 8 vorgesehen.
  • Weitere Merkmale und Vorteile der Erfindung werden aus der Beschreibung eines bevorzugten Ausführungsbeispiels der Erfindung ersichtlich.
  • Dabei wird auf die beiliegende Zeichnung Bezug genommen, die einen Teil der Beschreibung bildet und ein Beispiel der Erfindung darstellt.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Fig. 1 zeigt eine Darstellung zur Beschreibung einer Kommunikationsverarbeitung zwischen Prozessoren gemäß einem Ausführungsbeispiel.
  • Fig. 2 zeigt ein Blockschaltbild der Anordnung eines Multiprozessor-Systems.
  • Fig. 3 zeigt ein Blockschaltbild des Aufbaus jedes Prozessors.
  • Fig. 4 zeigt eine Darstellung von Zuständen von Knoten- und entfernten Warteschlangen.
  • Fig. 5 zeigt ein Ablaufdiagramm einer Verarbeitung, wenn ein Prozessor einen anderen Prozessor zur Ausführung eines Jobs veranlasst.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Fig. 1 zeigt eine Darstellung zur Beschreibung einer Kommunikationsverarbeitung zwischen Prozessoren gemäß einem Ausführungsbeispiel der Erfindung.
  • Gemäß Fig. 1 stellt eine CPU A 11 ein Ein-Prozessorsystem dar. Bei diesem Ausführungsbeispiel dient die CPU A 11 als Jobübertragungsquellen-CPU zur Übertragung eines Jobs zu einer anderen CPU bzw. einem anderen Prozessor. Eine CPU B 16 stellt ein Ein-Prozessorsystem dar und dient als CPU bzw. Prozessor zur Ausführung eines von der CPU A 11 übertragenen entfernten Knotens und zum Zurücksenden des Ausführungsergeb nisses zu der CPU A 11. Ein Job 12 wird in der CPU A 11 eingestellt und ist durch die CPU B 16 auszuführen. Ein Job 13 stellt einen von der CPU B 16 zurückgesendeten Job dar und wird durch die CPU A 11 ausgeführt. Entfernte Knotendaten 14 werden von der CPU A 11 zu der CPU B 16 zurückgesendet. "Entfernte Knotendaten" sollen Befehle für einen Schritt oder eine Gruppe von Schritten wie nachstehend beschrieben abdecken. Entfernte Knotendaten 15 werden von der CPU B 16 zu der CPU A 11 zurückgesendet. Ein entfernter Knoten 17 wird von der CPU A 11 zur Ausführung durch die CPU B 16 übertragen. Ein Job 18 stellt ein durch die Ausführung des entfernten Knotens 17 in der CPU B 16 erhaltenes Ergebnis dar und ist zu der CPU A 11 zu übertragen.
  • Wenn bei dem Informationsverarbeitungsgerät mit dem vorstehend beschriebenen Aufbau die CPU A 11 einen Schritt erfasst, der durch die CPU B16 auszuführen ist, während sie einen in einer normalen Knotenwarteschlange registrierten Schritt ausführt, erzeugt eine entfernte Knotenübertragungseinheit (die durch die Funktionen der CPU A 11 gebildet wird) entfernte Knotendaten 14, die durch die CPU B 16 auszuführen sind, und überträgt die erzeugten entfernten Knotendaten 14 zu der bestimmten CPU B 16. Auf den Empfang des übertragenen entfernten Knotens 14 hin hält die CPU B 16 den empfangenen entfernten Knoten in einer entfernten Knotenwarteschlange. Während der sequentiellen Ausführung von in der normalen Knotenwarteschlange registrierten Schritten wird der in der entfernten Knotenwarteschlange gehaltene Schritt ausgeführt. Eine entfernte Knotenantworteinheit sendet ein Ausführungsergebnis 18 als entfernte Knotendaten 15 zu der CPU A 11 als Übertragungsquelle zurück.
  • Fig. 2 zeigt ein Blockschaltbild zur Beschreibung des Aufbaus eines Prozessorsystems, bei dem Ein-Prozessorsysteme wie in Fig. 1 gezeigt vernetzt sind.
  • Gemäß Fig. 2 verbindet ein Netzwerk 21 eine Vielzahl von Prozessoren bzw. CPUs. Eine CPU C 22 stellt ein Ein- Prozessorsystem dar und ist zur Kommunikation mit der CPU A 11 und der CPU B 16 als weitere Ein-Prozessorsysteme über das Netzwerk 21 verbunden.
  • Fig. 3 zeigt ein Blockschaltbild zur Beschreibung des Aufbaus eines in Fig. 2 gezeigten Ein-Prozessorsystems.
  • Gemäß Fig. 3 speichert ein Register bzw. ein Speicher 32 vorübergehend Daten oder ein Berechnungsergebnis. Ein Speicher 33 speichert ein Programm oder Daten. Programme enthalten ein Benutzerprogramm und ein Überwachungsprogramm. Programme wie eine Verarbeitungssequenz (Fig. 5), die in dem Speicher gespeichert sind, werden über einen Bus 31 zu einem Befehlsdekodierer 34 gesendet und in dem Befehlsdekodierer 34 dekodiert. Das Dekodierergebnis wird zu einer Befehlsausführungseinheit 35 gesendet und von dieser ausführt.
  • Fig. 4 zeigt eine Darstellung von Zuständen normaler und entfernter Knotenwarteschlangen in der in Fig. 1 gezeigten CPU B 16.
  • Wie es in Fig. 4 gezeigt ist, führt die CPU B 16 aufeinanderfolgend Schritte (Knoten) entsprechend der in einer normalen Knotenwarteschlange 41 gespeicherten Schrittnummer aus. Wird ein entfernter Knoten von einer anderen CPU gesendet, wird dieser entfernte Knoten in einem entfernten Knotenregistrier- bzw. Speicherbereich (nicht gezeigt) gespeichert, und die entsprechende Schrittnummer wird in einer entfernten Knotenwarteschlange 42 registriert. Ist eine Schrittnummer in der entfernten Knotenwarteschlange 42 registriert, führt die CPU B 16 den entfernten Knoten vor den in der normalen Knotenwarteschlange 41 gespeicherten Knoten bevorzugt aus. Auf diese Weise umfasst jedes Ein-Prozessorsystem die entfernte Knoten warteschlange 42 zur Speicherung der Schrittnummer eines von einem anderen Ein-Prozessorsystem gesendeten Schritts. Ist ein Schritt (entfernter Knoten) in der entfernten Knotenwarteschlange 42 vorhanden, wird die Schrittnummer des entfernten Knotens ausgelesen, und der ausgelesene Schritt von einem anderen Ein-Prozessorsystem wird in der gleichen Verarbeitungssequenz wie die Schritte im eigenen Programm ausgeführt.
  • Fig. 5 zeigt ein Ablaufdiagramm der Verarbeitungssequenz eines entfernten Knotens in dem erfindungsgemäßen Multiprozessorsystem. Gemäß Fig. 5 werden die Schritte S1, S2, S7 und S8 durch die CPU A 11 und die Schritte S3 bis S6 durch die CPU B 16 ausgeführt.
  • Wie es in Fig. 1 gezeigt ist, erfasst die CPU A 11 in Schritt S1 während der Ausführung eines normalen Knotens den Job 12 "a = B : b" (eine Variable b der CPU B 16 wird in eine Variable a eingesetzt) und erkennt, dass ein entfernter Knoten zu der CPU B 16 zu übertragen ist, um den Inhalt der Variablen b in der CPU B 16 zu erfahren. In Schritt S2 überträgt die CPU A 11 den entfernten Knoten 14 "A : a = b" (die Variable b wird in die Variable a der CPU A 11 eingesetzt) zu der CPU B 16.
  • Andererseits speichert die CPU B 16 in Schritt S3 den entfernten Knoten 14 als den entfernten Knoten 17 in einem Knotenregistrierbereich (nicht gezeigt) und speichert die diesem Knoten entsprechende Schrittnummer in der entfernten Knotenwarteschlange 42. Wenn die CPU B 16 erkennt, dass die Schrittnummer in der entfernten Knotenwarteschlange 42 gespeichert ist, führt die CPU B 16 in Schritt S4 einen Knoten (d. h. den entfernten Knoten 17), der der in der entfernten Knotenwarteschlange 42 gespeicherten Schrittnummer entspricht, bevorzugt vor dem normalen Knoten aus, der der in der normalen Knotenwarteschlange 41 gespeicherten Schrittnummer entspricht. Da in diesem Fall b = 3 ist, erhält die CPU B 16 den Job 18 "A : a = 3" (3 wird in die Variable a der CPU A 11 eingesetzt). In Schritt S5 erkennt die CPU B 16 entsprechend dem Inhalt des Jobs 18, dass ein entfernter Knoten zu der CPU A 11 zu senden ist. In Schritt S6 überträgt die CPU B 16 den entfernten Knoten 15 "a = 3" (Einsetzen von 3 in die Variable a) zu der CPU A 11.
  • In Schritt S7 speichert die CPU A 11 den entfernten Knoten 15 als den entfernten Knoten 13 in einem Knotenregistrierbereich (nicht gezeigt) und speichert eine diesem Knoten entsprechende Schrittnummer in der entfernten Knotenwarteschlange 42. Wenn die CPU A 11 erkennt, dass die Schrittnummer in der entfernten Knotenwarteschlange 42 gespeichert ist, führt die CPU A 11 in Schritt S8 einen Knoten (d. h. den entfernten Knoten 13), der der in der entfernten Knotenwarteschlange 42 gespeicherten Schrittnummer entspricht, bevorzugter aus als den normalen Knoten aus, der der in der normalen Knotenwarteschlange 41 registrierten Schrittnummer entspricht. Infolgedessen wird der Wert "3" als Wert der Variablen der CPU B 16 in die Variable a eingesetzt. Der Job 12 der CPU A 11 "a = B: b" (Einsetzen der Variablen b der CPU B 16 in die Variable a) ist abgeschlossen.
  • Bei dem vorstehend beschriebenen Ausführungsbeispiel wird eine Vielzahl von Schrittnummern von als nächstes auszuführenden Schritten in der Form von Warteschlangen gespeichert. In diesem Fall werden mit einer Vielzahl von Verarbeitungsvorgängen assoziierte Schrittnummern in einer einzelnen Warteschlange in einer CPU gespeichert, und die den Schrittnummern entsprechenden Schritte werden in der registrierten Reihenfolge ausgeführt, wodurch eine pseudoparallele Verarbeitung realisiert wird. Ist allerdings ein Verarbeitungsvorgang in einer CPU durchzuführen, muss lediglich die nächste Schrittnummer gespeichert werden.
  • Gemäß dem vorstehend beschriebenen Ausführungsbeispiel wird bei der Speicherung eines entfernten Knotens dieser bevorzug ter als ein normaler Knoten ausgeführt. Die Erfindung ist allerdings nicht darauf beschränkt. Beispielsweise kann ein normaler Knoten bevorzugter als ein entfernter Knoten ausgeführt werden, oder die Prioritätsordnung der Knoten kann vorbestimmt sein und die Ausführung kann entsprechend dieser Prioritätsordnung durchgeführt werden.
  • Bei dem vorstehend beschriebenen Ausführungsbeispiel wird ein entfernter Knoten als Schritt ausgeführt, da ein Schritt die kleinste Verarbeitungseinheit in einem Programm darstellt. Allerdings kann in einem Programm mit einer hierarchischen Struktur, bei der eine Gruppe von Schritten ein Unterprogramm bildet, und eine Gruppe von Unterprogrammen ein Programm bildet, ein entfernter Knoten für jedes Unterprogramm oder Programm ausgeführt werden.
  • Bei dem vorstehend beschriebenen Ausführungsbeispiel ist der Name des anderen Prozessorsystems, zu dem eine gegebene Variable gehört, der gegebenen Variablen zugeordnet, wie es durch den Job 12, den entfernten Knoten 17 und den Job 18 gezeigt ist. Allerdings ist diese Zuordnung für die Erfindung nicht wesentlich. Es kann vorab eine Tabelle bereitgestellt werden, die die Übereinstimmung zwischen Variablennamen und Prozessornamen, zu denen die Variablen gehören, darstellt, wobei ein Überwachungsprogramm zur Ausführung und Verwaltung eines Programms automatisch bestimmt, ob eine in Frage kommende Variable eine Variable einer anderen CPU ist. Auf diese Weise kann ein Programmformat erreicht werden, bei dem ein Programmierer nicht auf das Vorhandensein einer anderen CPU aufmerksam sein muss.

Claims (14)

1. Verfahren zur Ausführung eines Verarbeitungsschritts in einem Multiprozessorsystem mit einem ersten Prozessor (11) und zumindest einem zweiten Prozessor (16), der mit dem ersten Prozessor verbunden ist, gekennzeichnet durch die Schritte
Veranlassen des ersten Prozessors zur Erfassung eines ersten Verarbeitungsschritts (12), der eine dem zweiten Prozessor gehörende Variable enthält, während der Ausführung eines Prozesses,
Veranlassen des ersten Prozessors zur Übertragung eines zweiten Verarbeitungsschritts (14, 17) zu dem zweiten Prozessor, wobei der zweite Prozessor zum Einsetzen eines Werts für die Variable in dem ersten Verarbeitungsschritt aufgefordert wird, und der zweite Verarbeitungsschritt durch den zweiten Prozessor direkt ausführbar ist (S2),
Veranlassen des zweiten Prozessors zur Speicherung des von dem ersten Prozessor empfangenen zweiten Verarbeitungsschritts in einer ersten Warteschlange (42) (S3) und
Veranlassen des zweiten Prozessors zur Ausführung des in der Warteschlange gespeicherten zweiten Verarbeitungsschritts (S4).
2. Verfahren nach Anspruch 1, mit dem Schritt Veranlassen des zweiten Prozessors zur Rückgabe des Ergebnisses des zweiten Verarbeitungsschritts zu dem ersten Prozessor.
3. Verfahren nach Anspruch 2, wobei der zweite Prozessor eine Vielzahl empfangener Verarbeitungsschritte in der Warteschlange speichert und die Vielzahl der Verarbeitungsschritte in der Empfangsreihenfolge ausführt.
4. Verfahren nach Anspruch 3, mit den weiteren Schritten Veranlassen des zweiten Prozessors zur Speicherung einer Vielzahl von einem anderen sich in Ausführung befindenden Programm entsprechenden Verarbeitungsschritten in einer zweiten Warteschlange, die sich von der die Vielzahl empfangener Verarbeitungsschritte speichernden ersten Warteschlange unterscheidet, und
Veranlassen des zweiten Prozessors zur Ausführung der Vielzahl der in der zweiten Warteschlange gespeicherten Verarbeitungsschritte in der Speicherreihenfolge.
5. Verfahren nach Anspruch 4, wobei die in der ersten Warteschlange gespeicherten Verarbeitungsschritte vorzugsweise ausgeführt werden, wenn sowohl die erste Warteschlange als auch die zweite Warteschlange Verarbeitungsschritte gespeichert haben.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der erste Prozessor bestimmt, ob eine Variable in einem Verarbeitungsschritt den Namen des zweiten Prozessors angehängt hat, um den ersten Verarbeitungsschritt zu erfassen, der die Variable enthält, die zu dem zweiten Prozessor gehört.
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei der ersten Prozessor eine Tabelle aufweist, die die Entsprechung zwischen Variablen und den Prozessoren darstellt, zu denen die Variablen gehören, und wobei der erste Prozessor auf die Tabelle zur Erfassung einer Variablen Bezug nimmt, die dem zweiten Prozessor gehört.
8. Multiprozessorsystem mit einem ersten Prozessor (11) und zumindest einem zweiten Prozessor (16), der mit dem ersten Prozessor verbunden ist, dadurch gekennzeichnet, daß
der erste Prozessor zur Erfassung eines ersten Verarbeitungsschritts (12), der eine Variable enthält, die zu dem zweiten Prozessor gehört, während der Ausführung eines Prozesses und zur Übertragung eines zweiten Verarbeitungsschritts (14, 17) zu dem zweiten Prozessor angepaßt ist, um den zweiten Prozessor zum Einsetzen eines Werts für die Variable in dem ersten Verarbeitungsschritt aufzufordern, wobei der zweite Verarbeitungsschritt durch den zweiten Prozessor direkt ausführbar ist,
und der zweite Prozessor zur Speicherung des von dem ersten Prozessor empfangenen zweiten Verarbeitungsschritts in einer Warteschlange (42) und zur Ausführung des in der Warteschlange gespeicherten zweiten Verarbeitungsschritts angepaßt ist.
9. System nach Anspruch 8, wobei der zweite Prozessor zur Rückgabe des Ergebnisses des zweiten Verarbeitungsschritts zu dem ersten Prozessor angepaßt ist.
10. System nach Anspruch 8 oder 9, wobei der zweite Prozessor zur Speicherung einer Vielzahl empfangener Verarbeitungsschritte in der Warteschlange und zur Ausführung der Vielzahl der Verarbeitungsschritte in der Empfangsreihenfolge angepaßt ist.
11. System nach einem der Ansprüche 8 bis 10, wobei der zweite Prozessor zur Speicherung einer Vielzahl von einem anderen sich in Ausführung befindenden Programm entsprechenden Verarbeitungsschritten in einer sich von der gespeicherten ersten Warteschlange unterscheidenden zweiten Warteschlange angepaßt ist, und
der zweite Prozessor zur Ausführung der Vielzahl der in der zweiten Warteschlange gespeicherten Verarbeitungsschritte in der Speicherreihenfolge angepaßt ist.
12. System nach Anspruch 11, wobei der zweite Prozessor vorzugsweise die in der ersten Warteschlange gespeicherten Verarbeitungsschritte ausführt, wenn sowohl die erste Warteschlange als auch die zweite Warteschlange Verarbeitungsschritte gespeichert haben.
13. System nach einem der Ansprüche 8 bis 12, wobei der erste Prozessor zur Bestimmung angepaßt ist, ob eine Variable in einem Verarbeitungsschritt den Namen des zweiten Prozessors angehängt hat, um den ersten Verarbeitungsschritt zu erfassen, der die Variable enthält, die zu dem zweiten Prozessor gehört.
14. System nach einem der Ansprüche 8 bis 13, wobei der erste Prozessor eine Tabelle aufweist, die die Entsprechung zwischen Variablen und dem Prozessor darstellt, zu dem die Variablen gehören, und wobei der erste Prozessor auf die Tabelle zur Erfassung einer Variablen Bezug nimmt, die zu dem zweiten Prozessor gehört.
DE69327270T 1992-07-10 1993-07-08 Job-Ausführungsmethode in einem Multiprozessor-System Expired - Fee Related DE69327270T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4206181A JPH0628322A (ja) 1992-07-10 1992-07-10 情報処理装置

Publications (2)

Publication Number Publication Date
DE69327270D1 DE69327270D1 (de) 2000-01-20
DE69327270T2 true DE69327270T2 (de) 2000-05-31

Family

ID=16519161

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69327270T Expired - Fee Related DE69327270T2 (de) 1992-07-10 1993-07-08 Job-Ausführungsmethode in einem Multiprozessor-System

Country Status (4)

Country Link
US (1) US5918011A (de)
EP (1) EP0578496B1 (de)
JP (1) JPH0628322A (de)
DE (1) DE69327270T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609246B1 (en) * 1999-12-07 2003-08-19 Bull Hn Information Systems Inc. Integrated development environment for high speed transaction processing WWW applications on heterogeneous computer systems
US7028313B2 (en) * 2001-03-28 2006-04-11 International Business Machines Corporation Method for transmitting function parameters to a remote node for execution of the function thereon
US6986147B2 (en) * 2001-03-28 2006-01-10 International Business Machines Corporation Method for transparent, location-independent, remote procedure calls in a heterogeneous network environment
FR2829330B1 (fr) * 2001-08-31 2003-11-28 Canon Kk Procede de demande de reception du resultat d'execution d'une fonction a distance a une date predeterminee
RU2400863C2 (ru) 2006-11-29 2010-09-27 Кэнон Кабусики Кайся Устройство формирования изображений, устройство связи и картридж
JP5473643B2 (ja) * 2010-02-04 2014-04-16 キヤノン株式会社 電源装置及びそれを使用する画像形成装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US4149244A (en) * 1976-06-07 1979-04-10 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
IT1082756B (it) * 1977-03-31 1985-05-21 Cselt Centro Studi Lab Telecom Dispositivo di elaborazione della segnalazione telefonica
US4413318A (en) * 1980-11-20 1983-11-01 International Business Machines Corporation Use of nodes to uniquely identify processes
JPS59167738A (ja) * 1983-03-11 1984-09-21 Brother Ind Ltd スペル照合装置
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
US4589068A (en) * 1983-10-03 1986-05-13 Digital Equipment Corporation Segmented debugger
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
JPS6280755A (ja) * 1985-10-04 1987-04-14 Minolta Camera Co Ltd デ−タ伝送制御方式
DE3751108T2 (de) * 1986-11-12 1995-10-26 Nippon Electric Co Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden.
JPH0738183B2 (ja) * 1987-01-29 1995-04-26 日本電気株式会社 中央処理装置間通信処理方式
US5168560A (en) * 1987-05-29 1992-12-01 Amdahl Corporation Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line
US5163122A (en) * 1987-12-09 1992-11-10 Fuji Photo Film Co., Ltd. Image processing system
US5167023A (en) * 1988-02-01 1992-11-24 International Business Machines Translating a dynamic transfer control instruction address in a simulated CPU processor
US5167035A (en) * 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
US5179699A (en) * 1989-01-13 1993-01-12 International Business Machines Corporation Partitioning of sorted lists for multiprocessors sort and merge
US5191652A (en) * 1989-11-10 1993-03-02 International Business Machines Corporation Method and apparatus for exploiting communications bandwidth as for providing shared memory
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
EP0444376B1 (de) * 1990-02-27 1996-11-06 International Business Machines Corporation Nachrichtenführungseinrichtung durch mehrere Rechner, die mittels eines geteilten intelligenten Speichers gekoppelt sind
JPH0619759B2 (ja) * 1990-05-21 1994-03-16 富士ゼロックス株式会社 マルチプロセッサシステムにおける相互通信方法
WO1992001990A1 (en) * 1990-07-20 1992-02-06 Temple University - Of The Commonwealth System Of Higher Education System for high-level virtual computer with heterogeneous operating systems
US5257375A (en) * 1991-08-23 1993-10-26 International Business Machines Corp. Method and apparatus for dispatching tasks requiring short-duration processor affinity
US5517654A (en) * 1992-05-26 1996-05-14 Fmc Corp. System for parallel implementation of combinatorial optimization in a multiprocessor network for generating search graphs for solving enumerative problems
US5428803A (en) * 1992-07-10 1995-06-27 Cray Research, Inc. Method and apparatus for a unified parallel processing architecture

Also Published As

Publication number Publication date
EP0578496A3 (de) 1994-02-16
JPH0628322A (ja) 1994-02-04
US5918011A (en) 1999-06-29
EP0578496A2 (de) 1994-01-12
DE69327270D1 (de) 2000-01-20
EP0578496B1 (de) 1999-12-15

Similar Documents

Publication Publication Date Title
DE2839726C2 (de) Multiprozessoranlage mit verteilter Steuerarchitektur
DE3689394T2 (de) Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor.
DE69332059T2 (de) Datenübertragung zwischen Prozessoren in Mehrprozessorsystemen
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE69227664T2 (de) Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor
DE3685863T2 (de) Rechnersystem zur steuerung virtueller maschinen.
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE2714805C2 (de)
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE69519816T2 (de) Anordnung mit Duplikat des Cache-Etikettenspeichers
DE19855806A1 (de) Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen
DE69130757T2 (de) Ausführungsvorrichtung für bedingte Verzweigungsbefehle
DE3116100A1 (de) Sprungabschaetz-zentraleinheit
DE68924992T2 (de) Symmetrische Steuerungsanordnung für Multiverarbeitung.
DE3735828C2 (de) Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE3432524A1 (de) Mehrfach genutzter datenschreiberregler und verfahren
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE69034246T2 (de) Gerät zur Verarbeitung von Grafikdaten
DE69327270T2 (de) Job-Ausführungsmethode in einem Multiprozessor-System
DE4223454A1 (de) Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung
DE3750311T2 (de) Gerät und Verfahren zur Übertragung zwischen Prozessoren.
DE3850906T2 (de) Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem.
DE60217729T2 (de) Verfahren zum erkennen eines elektronischen geräts in einem mehrfachsteuersystem

Legal Events

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