DE4422637A1 - Rechnersystem und Verfahren zum Problemlösen - Google Patents

Rechnersystem und Verfahren zum Problemlösen

Info

Publication number
DE4422637A1
DE4422637A1 DE4422637A DE4422637A DE4422637A1 DE 4422637 A1 DE4422637 A1 DE 4422637A1 DE 4422637 A DE4422637 A DE 4422637A DE 4422637 A DE4422637 A DE 4422637A DE 4422637 A1 DE4422637 A1 DE 4422637A1
Authority
DE
Germany
Prior art keywords
competing
task
procedures
search
block
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.)
Withdrawn
Application number
DE4422637A
Other languages
English (en)
Inventor
Stephen Victor Chenoweth
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.)
NCR International Inc
Original Assignee
AT&T Global Information Solutions Co
AT&T Global Information Solutions International 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 AT&T Global Information Solutions Co, AT&T Global Information Solutions International Inc filed Critical AT&T Global Information Solutions Co
Publication of DE4422637A1 publication Critical patent/DE4422637A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions

Landscapes

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

Description

Die vorliegende Erfindung betrifft einen Parallelverarbeitungsrechner und ein Verfahren zum Problemlösen unter Verwendung solcher Rechner.
Parallelverarbeitung bietet einen schnellen Weg geschäftliche und wissenschaftliche Probleme zu lösen. Parallelverarbeitungsrechner können Rechner mit mehreren Zentraleinheiten (CPUs) sowie Rechner mit einer einzigen CPU und mindestens einem Koprozessor umfassen.
Die Anwendung der Parallelverarbeitung ermöglicht die Verteilung der Rechnerbelastung auf mehrere Verarbeitungselemente und zugehörige Betriebsmittel, um das gewünschte Ergebnis schneller als in Einzel- Verarbeitungseinrichtungen zu erzeugen. Die übliche Art die Rechnerbelastung zu verteilen ist es, in jedem Prozessor des Rechners den gleichen Algorithmus oder kooperierende Teile eines Algorithmus auf unterschiedliche Datenelemente anzuwenden. Jedes Betriebsmittel kann einen Teilsatz eines längeren Algorithmus durchführen.
Bei rechenintensiven Tasks (Aufgaben), beispielsweise einer Suche, um Daten ausfindig zu machen, oder einer Suche, um einen Lösungsweg für ein komplexes Problem zu erzeugen, liegt der größte Unwirtschaftlichkeitsfaktor in der Auswahl des Suchalgorithmus. (Der Algorithmus ist der Plan oder die Methodik, die verwendet wird, um die Suche durchzuführen). Sogar bei einer Parallelverarbeitung können abhängig von der Auswahl des Algorithmus große Unterschiede bei der Zeit entstehen, die zum Abschließen einer Suche erforderlich ist. Große Unterschiede bei der Zeitdauer können aus feinen Unterschieden bei der Problembeschreibung oder bei den Daten entstehen, die gesucht werden, so daß die Auswahl eines optimalen Algorithmus vor oder sogar während des Ablaufens der Suche schwierig oder unmöglich sein kann.
Der Erfindung liegt die Aufgabe zugrunde, ein Parallelverarbeitungs-Rechnersystem und ein Verfahren zum Problemlösen zu schaffen, die eine verbesserte Wirtschaftlichkeit vorsehen und die deshalb eine Verringerung der Zeit ermöglichen, die zum Lösen eines spezifischen Problems erforderlich ist.
Die vorliegende Aufgabe wird im Hinblick auf das Verfahren gemäß der Merkmale des Patentanspruchs 1 und im Hinblick auf das Parallelverarbeitungs-Rechnersystem gemäß der Merkmale des Patentanspruchs 8 gelöst.
Vorteilhafte Ausgestaltungen sind Gegenstand von Unteransprüchen.
Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird ein Parallelsuchverfahren vorgesehen. Das Parallelsuchverfahren verwendet unterschiedliche und konkurrierende Suchabläufe, um eine Gruppe von Daten zu suchen. Ein Suchproblem wird durch eine Datenverwaltungsanwendung formuliert. Die konkurrierenden Suchabläufe werden aus der Formulierung des Suchproblems und zuvor vorhandenen Regeln erzeugt. Die konkurrierenden Abläufe werden ausgeführt. Zusätzlich kann die Ausführung der konkurrierenden Suchabläufe überwacht werden, um Informationen über die Wirksamkeit der konkurrierenden Abläufe zu erhalten, und die konkurrierenden Abläufe können aufgrund der Informationen geändert werden. Bei solchen Suchfällen, bei denen eine Zeitbeschränkung notwendig ist, wird zu Beginn der Ausführung ein Zeitgeber gestartet und die erste Lösung innerhalb der Zeitdauer oder die beste Lösung unter vorbestimmten Kriterien wird zur Datenverwaltungsanwendung zurückgegeben.
Bei der vorliegenden Erfindung wird die Parallelverarbeitung unter Verwendung paralleler Betriebsmittel, beispielsweise Rechnerprozessoren durchgeführt, um alternative Algorithmen auszuführen oder um Variationen zu einem gegebenen Algorithmus auszuführen, wobei die Suchaufgabe an jedem Betriebsmittel dupliziert wird. Bei einer Suche in einer Datenbasis würde das erfindungsgemäße Verfahren zum Beispiel unterschiedliche Suchpläne erzeugen und diese Pläne gleichzeitig ausführen. Bei einer Suche mit künstlicher Intelligenz läßt das erfindungsgemäße Verfahren die gleiche Suche unter Verwendung unterschiedlicher Algorithmen oder unter Verwendung unterschiedlicher heuristischer Wichtung mit den gleichen Algorithmen ablaufen.
Das erfindungsgemäße Verfahren unterscheidet sich von bestehenden Parallelverarbeitungsverfahren, da unterschiedliche Aufgaben durch Segmente der verfügbaren Rechnerbetriebsmittel durchgeführt werden, anstelle daß jedes Betriebsmittel einen Untersatz eines größeren Algorithmus ausführt. Die einzige gemeinsame Verarbeitung für die kombinierte Aufgabe ist es, die konkurrierenden Suchvorgänge einzuleiten, Zwischen- und Endergebnisse aufzuzeichnen oder zu vergleichen, während sie zurückgegeben werden, falls erforderlich irgendwelche Betriebsmittel umzuleiten und die Aktivität an allen verbleibenden Betriebsmitteln zu beenden, falls eine befriedigende Lösung zurückgegeben wurde oder falls eine Zeitbegrenzung erreicht wurde.
Die vorliegende Erfindung unterscheidet sich auch von den bestehenden Verfahren, da die letztgenannten typischerweise einen erhöhten Informationsaustausch unter den Betriebsmitteln erfordern. Falls ein einzelner Suchalgorithmus verwendet wird und lediglich die Daten unterteilt werden, machen zunehmend feinere Unterteilungen gewöhnlich zunehmend häufigere Informationsaustausche notwendig. Deshalb sind die bestehenden Verfahren beispielsweise in dem Umfang begrenzt, in dem sie einen praktischen Nutzen der Rechner mit sich bringen können, für die die Kommunikationshäufigkeit zwischen den Rechnern ein Engpaß darstellen könnte.
Ein Hauptvorteil der offenbarten Idee ist die verringerte Kommunikationshäufigkeit, die unter den Rechnersystem- Betriebsmitteln erforderlich ist. Falls, wie bei früheren Anwendungen von Parallelverarbeitungsrechnern, jedes Betriebsmittel kooperiert, um ein größeres Problem zu lösen, kann eine häufigere Kommunikation erforderlich sein, um sicherzustellen, daß alle Betriebsmittel Fortschritte auf ein gemeinsames Ziel hin machen. Bei der offenbarten Erfindung arbeiten die Betriebsmittel mit konkurrierenden Methoden, um das Problem zu lösen, und können deshalb völlig unabhängig betrieben werden.
Ein Ausführungsbeispiel der Erfindung wird nachstehend anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Parallelverarbeitungs- Rechnersystems,
Fig. 2 ein Blockdiagramm des Arbitrationselements der Fig. 1,
Fig. 3 ein Blockdiagramm des Taskinitiators der Fig. 2,
Fig. 4 ein Blockdiagramm des Taskterminators der Fig. 2,
Fig. 5 ein Blockdiagramm der Regelaktualisiereinrichtung der Fig. 2,
Fig. 6 ein Flußdiagramm, das den Betrieb des Rechnersystems darstellt,
Fig. 7 ein Flußdiagramm, das den Betrieb des Taskinitiators des Rechnersystems darstellt,
Fig. 8A-C Flußdiagramme, die den Betrieb des Taskterminators des Rechnersystems darstellen und
Fig. 9 ein Flußdiagramm des Betriebs der Regelaktualisiereinrichtung des Rechnersystems.
In Fig. 1 schließt ein Parallelverarbeitungssystem 10 ein Anwendungselement 12, ein Vorrangsschaltungs- bzw. Arbitrationselement 14, ein erstes Problemelement 16 und ein zweites Problemelement 18 ein.
Das Anwendungselement 12 führt Problemanweisungen aus, die durch einen Benutzer eingegeben werden. Das Anwendungselement 12 kann ein Personalcomputer (PC) oder ein anderer Arbeitsplatzrechner oder ein großer Server sein. Das Anwendungselement 12 umfaßt eine Anwendungselement-CPU 20, einen Anwendungsspeicher 22, eine Anwendungseingabeeinrichtung 24 und eine Anwendungsanzeige 26. Die Anwendungseingabeeinrichtung 24 kann eine Tastatureingabeeinrichtung aufweisen.
Das Arbitrationselement 14 steuert den Betrieb des ersten und des zweiten Problemelements 16 bzw. 18 entsprechend Anweisungen vom Anwendungselement 12. Das Arbitrationselement 14 umfaßt eine Arbitrationselement-CPU 28, einen Arbitrationsspeicher 30 und Arbitrations-E/A (Eingabe/Ausgabe)-Einrichtungen 32. Das Arbitrationselement 14 kann ein vorhandener Arbeitsplatzrechner mit höherer Leistung oder ein Knoten in einer großen Parallelverarbeitungsmaschine sein.
Das erste und das zweite Problemelement 16 bzw. 18 lösen Probleme und geben ihre Lösungen über das Arbitrationselement 14 zum Anwendungselement 12 zurück. Das erste Problemelement 16 umfaßt eine erste Problem-CPU 44, einen ersten Problemspeicher 46 und eine erste Problem-E/A- Einrichtung 48. Das zweite Problemelement 18 umfaßt eine zweite Problem-CPU 50, einen zweiten Problemspeicher 54 und eine zweite Problem-E/A-Einrichtung 52. Das erste und das zweite Problemelement 16 bzw. 18 können Arbeitsplatzrechner mit hoher Leistung, Datenbasisserver oder separate Knoten in einer großen Parallelverarbeitungsmaschine sein.
Das erste und das zweite Problemelement 16 bzw. 18 enthalten ausreichend CPU-, Speicher- und E/A- Einrichtungskapazität, um anstehende Probleme lösen zu können, wobei sie die ihnen gegebenen algorithmischen Variationen unabhängig verwenden. Zum Beispiel könnte eine Datenbasis dupliziert werden, so daß eine Kopie sowohl am ersten als auch am zweiten Problemelement 16 bzw. 18 vorliegt, und jedes Problemelement könnte so seine eigene Kopie der Datenbasis-Software haben.
Nimmt man nun auf Fig. 2 bezug, so umfaßt die Arbitrations- CPU 28 ferner einen Taskinitiator 34, einen Taskterminator 36, einen Zeitgeber 38 und eine Regelaktualisiereinrichtung 40. Vorzugsweise sind diese Komponenten als Software implementiert, können aber auch als Hardware implementiert sein. Der Taskinitiator 34 beginnt mit der Problemverarbeitung an dem ersten und dem zweiten Problemelement 16 bzw. 18 und verwendet Regeln, um die Zuweisung algorithmischer Veränderungen bzw. Variationen zum ersten und zweiten Problemelement 16 bzw. 18 zu bestimmen.
Der Taskterminator 36 nimmt Problemlösungsmeldungen vom ersten und vom zweiten Problemelement 16 bzw. 18 an und wählt die bevorzugte Antwort aus, um diese zum Anwendungselement 12 zurückzugeben.
Nachdem ein vorbestimmtes Zeitinterval durchlaufen ist, meldet der Zeitgeber 38 dem Taskterminator 36, daß keine Antwort oder keine weitere Antwort vom ersten und vom zweiten Problemelement 16 bzw. 18 empfangen wurde.
Die Regelaktualisiereinrichtung 40 setzt Regeln in gemeinsam verwaltete Speicher 41 (z. B. Arbeitsspeicher und einzelne Speicherelemente), die außerhalb der Arbitrations- CPU 28 dargestellt sind. Die gemeinsam verwalteten Speicher 41 umfassen den Arbitrationsspeicher 30 und die Arbitrations-E/A-Einrichtungen 32.
Wie aus Fig. 3 ersichtlich, umfaßt der Taskinitiator 34 eine Eingabebearbeitungstask 60, eine Statusberichttask 62, eine Problemanalysetask 64, eine Algorithmuszuweisungstask 66 und eine Profilerzeugungstask 68. Die Eingabebearbeitungstask 60 nimmt Verarbeitungsaufforderungen vom Anwendungselement 12 an, prüft und organisiert diese. Die Eingabebearbeitungstask 60 leitet diese Aufforderungen auch zu deren nächsten Bestimmungsort innerhalb des Taskinitiators 34, und zwar entweder zur Problemanalysetask 64 oder zur Statusberichttask 62.
Die Statusberichttask 62 berichtet dem Anwendungselement 12 den Status von anstehenden Problemausführungstasks. Sie berichtet jegliche erfaßte interne Fehler beim Bearbeiten dieser Aufgabe bzw. Task und zeigt Statistiken an, die diese Bearbeitung kennzeichnen.
Die Problemanalysetask 64 entscheidet, wie ein Problem vom Anwendungselement zu behandeln ist. Sie kann problemspezifische Regeln anwenden, um ein Problem zu analysieren.
Die Algorithmuszuweisungstask 66 sendet die unterschiedlichen algorithmischen Variationen, die durch die Problemanalysetask 64 ausgewählt wurden, zu dem ersten und dem zweiten Problemelement 16 bzw. 18.
Die Profilerstellungstask 68 erstellt eine abstrakte Version eines gegebenen Problems einschließlich Abschluß- bzw. Endbedingungen und sendet sie zum Taskterminator 36.
Wie aus Fig. 4 ersichtlich, umfaßt der Taskterminator 36 eine Eingabebearbeitungstask 70, eine Statusberichttask 72, eine Fertigstellungs-Entscheidungstask 74, eine Antwortkompiliertask 76 und eine Profilfertigstellungstask 78. Die Eingabebearbeitungstask 70 nimmt Verarbeitungs- Fertigstellungsnachrichten sowohl von den Problemelementen 16 und 18 als auch Zeitintervallablauf-Nachrichten vom Zeitgeber 38 an und überprüft und organisiert diese. Die Eingabebearbeitungstask 70 nimmt auch Nachrichten, beispielsweise Problemprofile vom Taskinitiator 34 an.
Die Statusberichttask 72 des Taskterminators 36 meldet dem Anwendungselement 12 den Fertigstellungsstatus laufender Problemverarbeitungstasks, jegliche erfaßte interne Fehler und damit verbundene Statistiken.
Die Fertigstellungs-Entscheidungstask 74 verwendet entweder Regeln von gemeinsam verwalteten Speichern 41 oder vom Anwendungselement 12 gesendete Informationen, um zu bestimmen, wann eine gegebene Problemtask abgeschlossen werden soll.
Die Antwortkompiliertask 76 macht dem Anwendungselement 12 von der Taskfertigstellung und dem Ergebnis dieser Fertigstellung Meldung.
Die Profilfertigstellungstask 78 aktualisiert die Statistiken oder die beschreibenden Daten über die fertiggestellte Task und leitet diese Informationen und das Problemprofil zur Regelaktualisiereinrichtung 40 weiter.
Wie aus Fig. 5 ersichtlich, weist die Regelaktualisiereinrichtung 40 eine Eingabebearbeitungstask 80, eine Statusberichttask 82 und eine Regelverwaltungstask 84 auf. Die Eingabebearbeitungstask 80 verarbeitet Nachrichten bzw. Meldungen vom Anwendungselement 12 und vom Taskterminator 36, wobei sie diese Nachrichten zur Regelverwaltungstask 84 und zur Statusberichttask 82 verteilt.
Die Statusberichttask 82 meldet dem Anwendungselement 12 den Status und wechselt gemäß Regeln, die in den gemeinsam verwalteten Speichern 41 gespeichert sind, zum Anwendungselement 12.
Die Regelverwaltungstask 84 führt eine manuelle Verwaltung durch, wobei vom Anwendungselement 12 gesendete Regeln sortiert werden. Die Regelverwaltungstask 84 ändert auch jene Regeln über eine automatische Verwaltung, wobei die Regeln aufgrund von Taskergebnissen sortiert werden, die mit Problemprofilen vom Taskterminator 36 gesendet wurden.
Anhand der Fig. 6 wird nun der Betrieb des Rechnersystems 10 entsprechend dem erfindungsgemäßen Verfahren in Einzelheiten erläutert, wobei der Ablauf bei "START" 90 begonnen wird. Bei einem Block 92 erzeugt das Anwendungselement 12 eine Problemanweisung und sendet diese zum Arbitrationselement 14. Diese Problemanweisung könnte eine Datenbasisabfrage oder eine heuristische Suche sein.
In einem einfachen Fall könnte ein Benutzer ein Problem oder eine Abfrage auf der Tastatur einer Kundenmaschine eingeben. In einem komplizierteren Fall kann die Benutzereingabe unter Verwendung von Hart- und Software im Anwendungselement 12 vorverarbeitet werden. Ein Beispiel einer solchen Vorverarbeitung wäre die Umwandlung einer Benutzerabfrage in eine Standard-Datenbasisterminologie.
Der Ausdruck "Suche" hat so, wie er in dieser Beschreibung verwendet wird, eine allgemeine Bedeutung, die sowohl allgemeine Begriffe wie "nach etwas sehen" als auch feldspezifische Definitionen einschließt. Der Ausdruck kann am ehesten dem Ausdruck "konstruktives Suchen" ähneln, wie er bei künstlicher Intelligenz verwendet wird. Eine konstruktive Suche ist ein "allgemeingültiger Problemlöse- Mechanismus, bei dem die Abfolge von Aktionen, die für Lösungen erforderlich sind, nicht im vorhinein bekannt ist, sondern durch eine systematische, empirische Untersuchung von Alternativen" bestimmt werden muß. Alles, was zum Formulieren eines Suchproblems erforderlich ist, ist ein Satz von Zuständen des Problems, eine Gruppe von Operatoren, die den Zustand verändern können, ein anfänglicher Zustand und eine Beschreibung des Zielzustands. Die Task besteht dann darin, eine Abfolge von Operatoren aufzufinden, die den anfänglichen Zustand in einen Zielzustand überführen.
Ein wichtiger, oft vorliegender Unterschied zwischen einer Suche mittels künstlicher Intelligenz und einer Suche, die in anderen Bereichen der Rechner- bzw. Computerwissenschaft durchgeführt wird, betrifft die ausdrückliche vorherige Existenz der zu suchenden Dinge. Bei einer Datenbasissuche liegen zum Beispiel die zu suchenden Daten üblicherweise vor. Die zentrale Überlegung besteht darin, wie diese Daten für ein späteres Zugreifen am besten zu organisieren sind. Bei einer Suche mittels künstlicher Intelligenz wird die "Problemlösung" üblicherweise erzeugt, während die Suche fortschreitet, so daß vor dem Herausfinden der Lösung lediglich grobe Annäherungen an das gewünschte Endergebnis geschaffen werden können.
Eine Suche mittels künstlicher Intelligenz unterscheidet sich auch insofern, als daß das Ziel oder der Zweck der Suche typischerweise in sehr allgemeiner Weise ausgedrückt wird, so daß eine breite Auswahl spezifischer Antworten oder Antwortmuster letztendlich als "die Lösung" herauskommen kann. Das heißt, es gibt gewöhnlich viele mögliche alternative Lösungen. Bei einer Suche, die Teil eines Spiel-Programms ist, könnte beispielsweise jedes "Gewinnspiel" ein annehmbares Ziel darstellen.
Unter dem erfindungsgemäßen Verfahren können Problemanweisungen, die zum Arbitrationselement 14 gesendet wurden, spezifizieren, wie die konkurrierenden Betriebsmittel zu nutzen sind. Beispielsweise könnte die Problemanweisung anweisen, die erste Antwort entweder vom Problemelement 16 oder 18 zurückzugeben, welches das Problem auch immer zuerst löst, oder die Problemanweisung könnte anweisen, in irgendeiner vorgeschriebenen Art und Weise die beste Antwort zurückzugeben, die innerhalb einer vorgegeben Zeitdauer aufgefunden wird.
Schreitet man zu einem Block 94 fort, so erzeugt das Arbitrationselement 14 algorithmische Variationen, um das Problem zu lösen.
Bei einem Block 96 sendet das Arbitrationselement 14 die Problemanweisung und eine algorithmische Variation sowohl zu dem ersten als auch zu dem zweiten Problemelement 16 bzw. 18 und startet den Zeitgeber 38.
Beim Block 96 versucht sowohl das erste als auch das zweite Problemelement 16 bzw. 18 das Problem in seiner vorgeschriebenen Weise zu lösen. Das erste Problemelement 16 versucht, das Problem unter Verwendung der ersten algorithmischen Variation zu lösen, und gibt eine Lösung zum Arbitrationselement 14 zurück, während das zweite Problemelement 18 versucht, das Problem unter Verwendung der zweiten algorithmischen Variation zu lösen.
Bei einem Block 98 wartet die Arbitrations-CPU 28 auf eine vorbestimmte Kombination von Antworten vom ersten und vom zweiten Problemelement 16 bzw. 18 sowie vom Zeitgeber 38.
Bei einem Block 99 bestimmt das Verfahren, ob zumindest eine Lösung innerhalb der zugewiesenen Zeit zurückgegeben wurde. Wenn keines der Problemelemente 16 oder 18 eine Lösung fertigstellt, ermöglicht der Zeitgeber 38 des Arbitrationselements 14 es dem Arbitrationselement 14, in einem Block 100 eine Fehlerantwort zum Anwendungselement 12 zurückzugeben, und das Verfahren endet bei einem Block 109. Wenn zumindest eines der Problemelemente 16 oder 18 eine Lösung zurückgegeben hat, dann schreitet das Verfahren zu einem Block 102 fort.
Beim Block 102 bestimmt das Arbitrationselement 14, ob eines oder ob beide der Problemelemente 16 bzw. 18 eine Lösung zurückgegeben haben. Falls nur ein Problemelement das Problem in der zugeteilten Zeit gelöst hat, dann gibt das Arbitrationselement 14 diese Lösung bei einem Block 104 zum Anwendungselement 12 zurück und das Verfahren schreitet zu einem Block 108 fort. Falls die Problembeschreibung nach einer Rückgabe der ersten gefundenen Lösung fragt, dann wird diese durch das Arbitrationselement 14 zu diesem Zeitpunkt zum Anwendungselement 12 zurückgegeben und die auf dem verbleibenden Problemelement laufende Task wird annulliert.
Falls beide Problemelemente 16 bzw. 18 das Problem in der zugeteilten Zeit lösen, dann kann das Arbitrationselement 14 bei einem Block 106 entsprechend einer bevorzugten Anweisung, so wie diese durch die Problemanweisung vorgeschrieben ist, entweder beide Lösungen oder lediglich eine der Lösungen zum Anwendungselement 12 zurückgeben.
Bei einem Block 108 empfängt und verarbeitet das Anwendungselement 12 die Lösung und das Verfahren endet. Das Anwendungselement 12 kann die Lösung im Anwendungsspeicher 22 abspeichern, die Lösung auf der Anwendungsanzeige 26 anzeigen oder die Lösung in andere Anwendungs-E/A-Einrichtungen einschreiben.
Zusätzlich sei angemerkt, daß das Anwendungselement 12 mit dem Arbitrationselement 14 über den Fortschritt größerer Jobs sowie über den allgemeinen Zustand oder die Wirksamkeit der internen Tasks des Arbitrationselements 14 in einen Dialog treten kann. Zu diesem Zweck weist jedes der drei internen Taskelemente (Initiator 34, Terminator 36 und Regelaktualisiereinrichtung 40) seine eigene Statusbericht-Subtask (siehe Fig. 7-9) auf. Für das Anwendungselement 12 kann es auch erforderlich sein, Aktualisierungen der Regeln durchzuführen, die durch den Taskinitiator 34 verwendet werden, beispielsweise wenn neue Tabellen zu einer Datenbasis hinzugefügt werden.
Bei einem Block 109 endet das Verfahren.
In Fig. 7 wird der Betrieb des Taskinitiators 34 in genaueren Einzelheiten dargestellt, wobei der Ablauf bei "START" 110 beginnt. Bei einem Block 112 wartet der Taskinitiator 34 auf eine Eingabe vom Anwendungselement 12.
Beim einem Block 114 nimmt der Taskinitiator 34 eine Eingabenachricht vom Anwendungselement 12 an. Vom Anwendungselement 12 durch das Arbitrationselement 14 empfangene Problemanweisungen werden zum Verarbeiten durch die Eingabebearbeitungstask 60 in einer Warteschlange eingereiht. (Das eigentliche Einreihen in die Warteschlange kann durch Betriebssystem-Software durchgeführt werden, wie dies typischerweise für Mehrfach-Anwendungstasks bei Rechnersystemen des Standes der Technik durchgeführt wird).
Bei einem Block 116 bestimmt der Taskinitiator 34, ob die Nachricht eine Statusanfrage ist. Einfache Statusberichttasks werden durch die Statusberichttask 62 gehandhabt. Antworten zu Statusberichten werden direkt zum Anwendungselement 12 zurückgegeben. Falls die Nachricht eine Statusanfrage ist, erzeugt der Taskinitiator 34 bei einem Block 118 einen Eingabestatusbericht und gibt eine Statusnachricht bei einem Block 120 zum Anwendungselement 12 zurück. Bei einem Block 121 springt das Verfahren zum START 110 zurück.
Geht man noch einmal vom Block 116 aus, so verwendet der Taskinitiator 34 dann, falls die Nachricht keine Statusanforderung ist, Regeln, die aus dem Arbitrationsspeicher 30 oder den anderen Arbitrations-E/A- Einrichtungen 32 ausgelesen werden, um bei einem Block 122 zu entscheiden, welche Regeln für das erste und für das zweite Problemelement 16 bzw. 18 zu verwenden sind. Die Problemanalysetask 64 entscheidet, wie das Problem im allgemeinen zu behandeln ist - zum Beispiel, welcher Satz von Regeln beim Analysieren des Problems anzuwenden ist. Die Problemanalysetask 64 führt dann eine genaue Analyse aus, um die algorithmischen Variationen zu ermitteln, die am ersten und die am zweiten Problemelement 16 bzw. 18 zu versuchen sind. Beispielsweise können die Regeln Erklärungen sein, wie "Falls das Problem die Verbindung von drei Tabellen in einer Datenbasis erfordert, dann startet das erste Problemelement 16, wobei die ersten zwei Tabellen zuerst zu verbinden sind, und startet das zweite Problemelement 18, wobei die letzten beiden Tabellen zuerst zu verbinden sind".
Bei einem Block 124 startet der Taskinitiator 34 den Zeitgeber 38 über die Algorithmuszuweisungstask 66.
Bei einem Block 126 sendet die Algorithmuszuweisungstask 66 die verschiedenen algorithmischen Variationen mit der Problemanweisung zum ersten und zum zweiten Problemelement 16 bzw. 18 und startet das erste und das zweite Problemelement 16 bzw. 18 gleichzeitig mit dem Start des Zeitgebers 38.
Bei einem Block 128 erzeugt der Taskinitiator 34 eine Problemprofilnachricht. Diese Problemprofilnachricht identifiziert das Problem, zeigt an, daß mit der Problemlösung durch das erste und das zweite Problemelement 16 bzw. 18 begonnen wurde, und teilt dem Taskterminator 36 mit, auf welche Weise zu entscheiden ist, wann eine Antwort zum Anwendungselement 12 zurückzugeben ist. Zum Beispiel könnte eine Problemprofilnachricht dem Taskterminator 36 anzeigen, daß die erste Lösung ausreicht, die von einem der Problemelemente empfangen wird.
Bei einem Block 130 sendet die Profilerstellungstask 68 die Problemprofilnachricht, die diese Information enthält, zum Taskterminator 36, ehe bei einem Block 132 zum START 110 zurückgesprungen wird.
In den Fig. 8A-C ist der Betrieb des Taskterminators 36 in Einzelheiten dargestellt, wobei der Ablauf bei "START" 140 beginnt. Bei einem Block 142 wartet der Taskterminator 36 auf eine Eingabe vom Taskinitiator 34, vom Zeitgeber 38, vom ersten und vom zweiten Problemelement 16 bzw. 18 oder vom Anwendungselement 12.
Bei einem Block 144 nimmt der Taskterminator 36 eine Eingabenachricht an. Die Eingabenachricht kann eine Problemprofilanweisung vom Taskinitiator 34, eine Lösungsnachricht vom ersten und vom zweiten Problemelement 16 bzw. 18 oder eine Zeitüberschreitungs- (time out-) Nachricht vom Zeitgeber 38 sein. Alle derartigen Nachrichten werden zum Verarbeiten durch die Eingabebearbeitungstask 70 in eine Warteschlange eingereiht. Problemprofilanweisungen werden in den gemeinsam verwalteten Speichern 41 für eine spätere Steuerung der Problembeendigung oder für eine Statusberichterstellung abgespeichert.
Deshalb bestimmt das Verfahren bei Blöcken 146-152 die Art der Eingabenachricht. Nachrichten vom ersten und vom zweiten Problemelement 16 bzw. 18 oder vom Zeitgeber 38 werden durch die Fertigstellungs-Entscheidungstask 74 gesichert, falls vor der Zeit auftreten, zu der sie verarbeitet werden können (beispielsweise, falls sie dem Empfang der passenden Problemprofilanweisung vorausgehen) oder falls entschieden wurde, daß die Problemfertigstellung ein späteres Ereignis abwarten soll (beispielsweise, wenn konkurrierende Lösungen verglichen werden sollen).
Falls die Nachricht beim Block 146 eine Statusanfrage vom Anwendungselement 12 ist, schreitet das Verfahren deshalb zu einem Block 154 fort, bei dem der Taskterminator 36 einen Eingabestatusbericht erzeugt. Bei einem Block 156 gibt der Taskterminator 36 eine Nachricht zum Anwendungselement 12 zurück, bevor bei einem Block 158 zum START 140 zurückgesprungen wird.
Falls die Nachricht beim Block 148 eine Zeitüberschreitungsnachricht vom Zeitgeber 38 ist, protokolliert das Verfahren die Zeitüberschreitung bei einem Block 160, bevor zu Block 162 fortgeschritten wird, um das Verfahren der Fig. 8B-C auszuführen.
Falls die Nachricht beim Block 150 eine Problemprofilanweisung vom Taskinitiator 34 ist, protokolliert das Verfahren das Profil bei einem Block 164, bevor es zu Block 166 fortschreitet, um das Verfahren der Fig. 8B-C auszuführen.
Falls die Nachricht beim Block 152 eine Problemlösung vom ersten Problemelement 16 darstellt, protokolliert das Verfahren die Lösung bei einem Block 168, bevor es zu einem Block 170 fortschreitet, um das Verfahren der Fig. 8B-C auszuführen.
Falls das Verfahren einen Block 155 erreicht, muß die Nachricht eine Lösung vom zweiten Problemelement 18 darstellen. Bei einem Block 155 protokolliert das Verfahren die Lösung, bevor es zu einem Block 172 fortschreitet, um das Verfahren der Fig. 8B-C auszuführen.
Unter bezug auf Fig. 8B entscheidet der Taskterminator 36 bei einem Block 174, ob ein Profil bereits für die Problemanweisung protokolliert wurde. Wenn dieser entscheidet, daß kein Profil protokolliert wurde, kehrt das Verfahren bei einem Block 186 zum START 140 (Fig. 8A) zurück.
Falls der Taskterminator 36 entscheidet, daß das Profil protokolliert wurde, bestimmt er bei einem Block 176, ob auch eine Zeitüberschreitung für die Problemanweisung protokolliert wurde. Falls dies so ist, markiert der Taskterminator 36 bei einem Block 188 die Problemanweisung als "fertiggestellt" und das Verfahren schreitet bei einem Block 190 zu Fig. 8C fort.
Falls keine Zeitüberschreitung protokolliert wurde, bestimmt der Taskterminator 36 bei einem Block 178, ob auf Lösungen von sowohl dem ersten als auch dem zweiten Problemelement 16 bzw. 18 zu warten ist. Falls dies so ist, bestimmt der Taskterminator 36 bei einem Block 192, ob beide Lösungen protokolliert wurden. Falls nicht, springt das Verfahren bei einem Block 194 zum START 140 zurück.
Bejahendenfalls markiert der Taskterminator 36 bei einem Block 196 die Problemanweisung als "fertiggestellt" und das Verfahren schreitet bei einem Block 198 zu Fig. 8C fort.
Geht man zum Block 178 zurück, so bestimmt der Taskterminator 36, falls er entscheidet, nicht auf beide Lösungen zu warten, bei einem Block 180, ob er die Lösung vom ersten Problemelement 16 protokolliert hat. Falls dies der Fall ist, markiert der Taskterminator 36 bei einem Block 200 die Problemanweisung als "fertiggestellt" und das Verfahren schreitet bei einem Block 202 zu Fig. 8C fort.
Falls der Taskterminator 36 entscheidet, daß er die Lösung vom ersten Problemelement 16 nicht protokolliert hat, dann entscheidet er bei einem Block 182, ob er die Lösung vom zweiten Problemelement 18 protokolliert hat. Falls dies so ist, markiert der Taskterminator 36 bei einem Block 204 die Problemanweisung als "fertiggestellt" und das Verfahren schreitet bei einem Block 206 zu Fig. 8C fort.
Falls der Taskterminator 36 entscheidet, daß er die Lösung vom zweiten Problemelement 18 nicht protokolliert hat, dann springt das Verfahren bei einem Block 184 zum START 140 zurück.
In Fig. 8C wählt der Taskterminator 36 bei einem Block 208 eine zurückzugebende Antwort aus, die auf den Daten basiert, die für die Problemanweisung protokolliert wurden.
Bei einem Block 210 gibt der Taskterminator 36 die ausgewählte Antwort an das Anwendungselement 12 zurück. Wenn die Problemfertigstellung auf eine logische Weise gemäß entweder den Regeln oder der durch das Anwendungselement 12 gesendeten Information als ein Teil der Problemanweisung bestimmt wurde, dann leitet die Fertigstellungs-Entscheidungstask 74 die sachdienliche Probleminformation zu der Antwortkompiliertask 76. Diese Task ist dafür verantwortlich, dem Anwendungselement 12 zusammen mit dem Liefern einer geeigneten Beschreibung der favorisierten Lösung, die vorgesehen wurde, von der Fertigstellung Meldung zu machen. So wie dies bei den anderen Subtasks des Taskterminators 36 ist, aktualisiert auch die Antwortkompiliertask 76 den Status dieses Problems und des Rechnersystems.
Bei einem Block 212 stellt der Taskterminator 36 das Profil für die Problemanweisung aufgrund der ausgewählten Antwort fertig.
Bei einem Block 214 sendet der Taskterminator 36 das Profil zur Regelaktualisiereinrichtung 40. Die Profilfertigstellungstask 78 aktualisiert die Statistiken oder die beschreibenden Daten darüber, wie das Problem gelöst wurde, und leitet das Profil mit den Ergebnissen für dieses Problem an die Regelaktualisiereinrichtung 40 weiter.
Bei einem Block 216 springt das Verfahren zum START 140 zurück.
In Fig. 9 wird der Betrieb der Regelaktualisiereinrichtung 40 in genaueren Einzelheiten dargestellt, wobei der Ablauf bei "START" 220 beginnt. Bei einem Block 222 wartet die Regelaktualisiereinrichtung 40 auf eine Eingabe vom Anwendungselement 12 oder vom Taskterminator 36.
Bei einem Block 224 nimmt die Regelaktualisiereinrichtung 40 eine Eingangsnachricht an. Die Eingabebearbeitungstask 80 verarbeitet in Warteschlange eingereihte Nachrichten vom Anwendungselement 12 und vom Taskterminator 36.
Bei einem Block 226 bestimmt die Regelaktualisiereinrichtung 40, ob die Nachricht eine Statusanfrage vom Anwendungselement 12 ist. Falls dies so ist, erzeugt die Regelaktualisiereinrichtung 40 einen Regelstatusbericht bei einem Block 228. Die Statusberichtanfragen werden zur Statusberichttask 82 weitergeleitet, die dazu bestimmt ist, dem Anwendungselement 12 diesen Service zu bieten. Die Statusberichttask 82 benutzt die gemeinsam verwalteten Speicher 41, um Informationen über gespeicherte Regeln zu liefern.
Bei einem Block 230 gibt die Regelaktualisiereinrichtung 40 die Statusnachricht an das Anwendungselement 12 zurück, bevor bei einem Block 232 zum START 220 zurückgesprungen wird.
Wieder vom Block 226 ausgehend, bestimmt die Regelaktualisiereinrichtung 40 bei einem Block 234, falls die Nachricht keine Statusanfrage ist, ob die Nachricht eine Regelverwaltungsanfrage vom Anwendungselement 12 ist. Die Regelverwaltungstask 84 kann eine "manuelle" Verwaltung auf die Anfrage des Benutzers (über das Anwendungselement 12) oder eine "automatische" Verwaltung durchführen, um Regeln abhängig von der Effektivität der momentanen Regeln zu ändern, und zwar auf Informationen basierend, die durch den Taskterminator 36 zurückgegeben wurden.
Bei einem Block 236 werden die Regelverwaltungsanfragen zur Regelverwaltungstask 84 weitergeleitet, die gemeinsam verwaltete Speicher 41 verwendet, um die Regeln, wie in der Nachricht gefordert, zu ändern.
Bei einem Block 238 kehrt das Verfahren zum START 220 zurück.
Kehrt man zum Block 234 zurück, dann verwendet die Regelaktualisiereinrichtung 40, falls die Nachricht keine Regelverwaltungsanfrage ist, die Problemprofilanweisung vom Taskterminator 36, um die Regeln bei einem Block 240 anzupassen. Die Regelaktualisiereinrichtung 40 kann die Regeln verändern, falls dies gewünscht ist, und zwar aufgrund der Ergebnisse der von den Arbitrations-E/A- Einheiten 32 empfangenen Eingaben, und speichert ihre Ergebnisse in den gemeinsam verwalteten Speichern 41 ab. Zum Beispiel könnte die vorstehend beschriebene Regel für "Datenbasisverbindungen" variiert werden, und zwar so, daß für einen gegebenen Satz von Tabellen ein Problemelement eine Lösung erstellen soll, anstelle die erste und die letzte Tabelle zuerst zu verbinden.
Bei einem Block 242 springt das Verfahren zum START 220 zurück.
Mit Hilfe der vorstehenden detaillierten Beschreibung der Betriebsabfolgen werden Fachleute in der Lage sein, ihre eigene geeignete Software zum Betreiben eines Parallelverarbeitungsrechners gemäß der hierin vorgestellten Lehren zu schreiben. Demzufolge ist es nicht erforderlich, die Einzelheiten einer solchen Software hierin zu beschreiben. Die Software kann in jeder geeigneten Programmiersprache geschrieben werden, beispielsweise in einer maschinenorientierten Programmiersprache, wie der Assembliersprache, oder in einer höheren Programmiersprache, wie "C".

Claims (10)

1. Verfahren zum Verwenden eines Parallelverarbeitungsrechners zum Lösen eines vorbestimmten Problems, gekennzeichnet durch den Schritt des gleichzeitigen Ausführens verschiedener und konkurrierender Prozeduren zum Lösen des Problems.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Ausführens folgende Unterschritte aufweist:
Formulieren des Problems durch ein Anwendungsprogramm,
Erzeugen der konkurrierenden Prozeduren aus der Formulierung des Problems und bereits bestehenden Regeln und
Starten der Ausführung der konkurrierenden Prozeduren.
3. Verfahren nach Anspruch 2, gekennzeichnet durch die Schritte:
Überwachen jeder konkurrierenden Prozedur für eine Lösung,
Beenden der Ausführung von beiden konkurrierenden Prozeduren, nachdem eine erste Lösung erzeugt wurde, und Zurückgeben der ersten Lösung zum Anwendungsprogramm.
4. Verfahren nach Anspruch 2 oder 3, gekennzeichnet durch die Schritte:
Starten eines Zeitgebers zu Beginn der Ausführung, Überwachen jeder Prozedur für eine Lösung, Zurückgeben einer der Lösungen zum
Anwendungsprogramm, falls nach einer vorbestimmten Zeitdauer mehr als eine Lösung durch die konkurrierenden Prozeduren erzeugt wurde, und
Beenden der Ausführung beider konkurrierender Prozeduren, falls beide konkurrierende Prozeduren keine Lösung erzeugen.
5. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Schritte:
Überwachen der Ausführung der konkurrierenden Prozeduren zum Erhalten einer Information über die Wirksamkeit der konkurrierenden Prozeduren, und zum Ändern der konkurrierenden Prozeduren aufgrund der Information.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet,
daß das Problem darin besteht, eine Gruppe von Daten zu suchen, und
daß die konkurrierenden Prozeduren Suchprozeduren sind.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet,
daß der Schritt des Ausführens die folgenden Unterschritte aufweist:
Formulieren eines Suchproblems durch ein Datenverwaltungs-Anwendungsprogramm,
Erzeugen der konkurrierenden Suchprozeduren aufgrund der Formulierung des Suchproblems und bereits bestehender Regeln und
Beginnen der Ausführung der konkurrierenden Prozeduren.
8. Parallelverarbeitungs-Rechnersystem mit einem Anwendungselement, das eine erste Verarbeitungseinheit zum Ausführen eines Anwendungsprogramms umfaßt, gekennzeichnet durch
ein erstes Problemelement (16), das eine zweite Verarbeitungseinheit (44) zum Lösen eines durch das Anwendungsprogramm erzeugten Problems auf eine erste Art und Weise einschließt,
ein zweites Problemelement (18), das eine dritte Verarbeitungseinheit (50) zum Lösen des durch das Anwendungselement (12) erzeugten Problems auf eine zweite Art und Weise aufweist, die sich von der ersten Art und Weise unterscheidet, zu dieser konkurriert und gleichzeitig zu dieser ausgeführt wird, und
ein Arbitrationselement (14), das eine vierte Verarbeitungseinheit (28) für eine Arbitrationswechselwirkung zwischen der ersten Verarbeitungseinheit (20) und der zweiten und dritten Verarbeitungseinheit (44, 50) und zum Erzeugen der ersten und der zweiten Art und Weise zum Lösen des durch das Anwendungsprogramm erzeugten Problems aufweist.
9. Rechnersystem nach Anspruch 8, dadurch gekennzeichnet, daß die vierte Verarbeitungseinheit (28) Einrichtungen (34) zum Einleiten des Problemlösens durch die zweite und die dritte Verarbeitungseinheit (16, 18), eine Einrichtung (38) zum Geben einer vorbestimmten Zeitdauer von der Einleitung der Problemlösung an und eine Einrichtung (36) zum Beenden der Problemlösung durch die zweite und die dritte zentrale Verarbeitungseinheit (44, 50) aufweist.
10. Rechnersystem nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß das Arbitrationselement (14) eine Einrichtung (40) zum Überwachen der Problemlösung durch die zweite und die dritte Verarbeitungseinheit (44, 50) und zum Ändern der ersten und der zweiten Art und Weise zum Lösen des Problems während der Ausführung der ersten und der zweiten Art und Weise aufweist.
DE4422637A 1993-06-28 1994-06-28 Rechnersystem und Verfahren zum Problemlösen Withdrawn DE4422637A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US8270593A 1993-06-28 1993-06-28

Publications (1)

Publication Number Publication Date
DE4422637A1 true DE4422637A1 (de) 1995-01-05

Family

ID=22172896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4422637A Withdrawn DE4422637A1 (de) 1993-06-28 1994-06-28 Rechnersystem und Verfahren zum Problemlösen

Country Status (3)

Country Link
US (1) US5689631A (de)
JP (1) JPH07152788A (de)
DE (1) DE4422637A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3702546B2 (ja) * 1996-08-23 2005-10-05 ブラザー工業株式会社 多機能周辺装置および記憶媒体
US6684346B2 (en) * 2000-12-22 2004-01-27 Intel Corporation Method and apparatus for machine check abort handling in a multiprocessing system
JP4152611B2 (ja) * 2001-09-13 2008-09-17 株式会社日立製作所 経営改革のための対策案立案支援方法およびそのためのシステム
JP2005339237A (ja) * 2004-05-27 2005-12-08 Aruze Corp アプリケーション利用補助システム
US7533384B2 (en) * 2004-05-27 2009-05-12 International Business Machines Corporation Job routing to earliest available resources in a parallel job scheduler
WO2007037384A1 (ja) * 2005-09-30 2007-04-05 Ipflex Inc. 自己同期型の処理ユニットを有するシステム
US20070174290A1 (en) * 2006-01-19 2007-07-26 International Business Machines Corporation System and architecture for enterprise-scale, parallel data mining
JP4119945B2 (ja) * 2006-08-24 2008-07-16 ネットクリアスシステムズ株式会社 タスク処理装置
JP5451498B2 (ja) * 2009-07-17 2014-03-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2018194900A (ja) * 2017-05-12 2018-12-06 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3133715A1 (de) * 1980-08-26 1982-04-08 ITALTEL Società Italiana Telecomunicazioni S.p.A., 20149 Milano "schaltunganordnung zwischen einem hilfsrechner und einem paar von rechnern"

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US4992935A (en) * 1988-07-12 1991-02-12 International Business Machines Corporation Bit map search by competitive processors
US5197002A (en) * 1989-12-22 1993-03-23 Bell Communications Research, Inc. Methods and apparatus for dynamic hashing
US5243607A (en) * 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
US5325525A (en) * 1991-04-04 1994-06-28 Hewlett-Packard Company Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time
JPH06131312A (ja) * 1992-01-23 1994-05-13 Hitachi Ltd 並行処理方法およびシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3133715A1 (de) * 1980-08-26 1982-04-08 ITALTEL Società Italiana Telecomunicazioni S.p.A., 20149 Milano "schaltunganordnung zwischen einem hilfsrechner und einem paar von rechnern"

Also Published As

Publication number Publication date
JPH07152788A (ja) 1995-06-16
US5689631A (en) 1997-11-18

Similar Documents

Publication Publication Date Title
DE69322538T2 (de) Methode und Prozessor zur Bearbeitung eines Programmes in Parallelbearbeitung
DE69423076T2 (de) Verteiltes Datenbankverarbeitungssystem
DE10039538B4 (de) Vorrichtung und Verfahren zum Analysieren der Leistung eines Computerprogramms
DE19728726B4 (de) Robotercontroller und dessen Steuerverfahren
DE69225851T2 (de) Stimmverarbeitungsschnittstelle für einen Rechner
DE3911465C2 (de) Verfahren zur automatischen Konfiguration technischer Systeme aus Komponenten
DE68924061T2 (de) Versionskontrolle in einem Datenverarbeitungssystem.
DE10003015A1 (de) Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
EP0346801A2 (de) Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
DE69223979T2 (de) Fuzzy-züruckgewinnungsgerät und verfahren dafür
DE60211452T2 (de) DMA-Übertragung von Daten und Prüfinformation zu und von einem Datenspeicherungsgerät
DE60303413T2 (de) Verfahren und computersystem zum reduzieren von ausführungszeiten bei der materialbedarfsplanung
DE69814697T2 (de) Vorrichtung, methode und computer programm produkt für client/server rechner mit vom client auswählbarer lokalisierung von transaktionsobjekten
DE4422637A1 (de) Rechnersystem und Verfahren zum Problemlösen
DE69518453T2 (de) Verfahren und System zum Dynamischen Auswählen eines Kommunikationsmodus
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE69224718T2 (de) Klassifizierungsverfahren für Rechnerarchitekturen
DE3854323T2 (de) Jobsteuerung für Online-System.
DE3650158T2 (de) Sonderzweckprozessor zur Übernahme vieler Betriebssystemfunktionen in einem grossen Datenverarbeitungssystem.
DE60217729T2 (de) Verfahren zum erkennen eines elektronischen geräts in einem mehrfachsteuersystem
DE69729440T2 (de) Prozessorssystem
DE3876823T2 (de) System zur verschliessungsverhuetung einer relationalen datenbank.
DE69221373T2 (de) Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung
DE69226683T2 (de) Verfahren zum effizienten Zugriff von Daten in einer Verknüpfungstabelle
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NCR INTERNATIONAL, INC. (N.D.GES.D.STAATES DELAWAR

8128 New person/name/address of the agent

Representative=s name: V. BEZOLD & SOZIEN, 80799 MUENCHEN

8120 Willingness to grant licences paragraph 23
8139 Disposal/non-payment of the annual fee