ebook img

Untersuchung und Realisierung eines Mehrfach-Mikroprozessor-Systems durch parallele Koordination von übergeordneten Prozeßstatusvektoren in einem Assoziativspeicher PDF

66 Pages·1981·2.176 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Untersuchung und Realisierung eines Mehrfach-Mikroprozessor-Systems durch parallele Koordination von übergeordneten Prozeßstatusvektoren in einem Assoziativspeicher

FORSCHUNGSBERICHT DES LANDES NORDRHEIN-WESTFALEN Nr. 3050 / Fachgruppe Elektrotechnik/Optik Herausgegeben vom Minister für Wissenschaft und Forschung Prof. Dr. -Ing. Klaus Waldschmidt Dipl. -Ing. Christoph Steigner Dipl. -Ing. Christoph Otto Abteilung Elektrotechnik Arbeitsgebiet Schaltungen der Datenverarbeitung Universität Dortmund Untersuchung und Realisierung eines Mehrfach-Mikroprozessor-Systems durch parallele Koordination von übergeordneten Prozeßstatusvektoren in einem Assoziativspeicher @Springer Fachmedien Wiesbaden GmbH 1981 ClP-Kurztitelaufnahme der Deutschen Bibliothek Wal<ischmidt, Klaus: lJrtter~uchung und Realisierung eines Mehrfach Mikroprozessor-Systems durch parallele Koordi nation von Obergeordneten Prozessstatusvekto ren in einem Assoziativspeicher / Klaus Wald scltmidt ; Christoph Steigner ; Christoph Otto. - Opladen : Westdeutscher Verlag, 1?81, (Fnrsrhungsberichte des Landes Nordrhein Westfalen ; Nr. ]050 : Fachgruppe Elektro technik, Optik) NE: Steigner, Christoph:; Otto, Christoph:; Nnrdrhein-Westfalen: Forschungsberichte df'f' Landes ••• © 1981 by Springer Fachmedien Wiesbaden Ursprünglich erschienen bei Westdeutscher Verlag GmbH, Opladen 1981. Herstellung: Westdeutscher Verlag GmbH Lengericher Handelsdruckerei, 454 Lengerich ISBN 978-3-531-03050-0 ISBN 978-3-663-19784-3 (eBook) DOI 10.1007/978-3-663-19784-3 - 1 - INHALT 1. Einleitung 3 1.1 Allgemeine Bedeutung des Forschungsvorhabens 3 1.2 Vergehensweise bei Realisierung des Mehrprozessorsystems 4 2. Die Struktur und Arbeitsweise des ASSKO Mehrprozes sorsys tems 5 2.1 Der Koordinator des ASSKO-Systems 7 2 .1.1 Aufbau und Wirkungsweise des Koordinatorassoziativ speichers 7 2.1.2 Organisation des Koordinatorzugriffs 8 2 .1. 3 Das Steuerwerk des Koordinators 9 2.2 Die Algorithmen des Koordinatorsteuerwerkes 9 2.2.1 Die Behandlung von Systemverklemmungen durch die Koordinatoralgorithmen 10 2.2.2 Die Beseitigung von Systemverklemmungen 13 2.2.3 Die offene und die verdeckte Betriebsmittelbelegung 16 3. Die Organisation der Selbstverwaltung der Prozessormodule 17 4. Technische Realisierung des ASSKO-Systems 19 5. Systembewertung 20 5.1 Der Überwachungsprozessor 20 5.2 Das Bewertungsprogramm 21 5.3 Technische Realisierung des Überwachungsprozessors 22 5.4 Das Auswertungsprogramm 22 5.5 Paralleler Suchlauf mit vier Prozessoren 23 5.6 Paralleler Suchlauf mit zwei Prozessoren 24 5.7 Das Verteilprogramm 24 5.8 Leistungsfähigkeit des Systems 25 6. Literatur 27 7. Bildanhang 29 - 3 - 1. Einleitung Seit der preiswerten Herstellung von Mikroprozessoren ist der Wunsch, über ein universelles Mehrprozessorsystem zu verfügen, häufig bekundet worden. Ein derartiges Rechnersystem sollte nicht nur flexibel programmierbar und verwaltbar sein, sondern auch durch modulare Erweiterung an eine geforderte Rechenleistung angepaßt werden können. Da der Mikroprozessor, bzw. dessen Weiterentwicklung zu einem autonomen,· kooperationsfähigen Rechenelement als Grundbaustein dieser Rechnersysteme angesehen wird, ist die Frage zu beantworten, wie sowohl die hardwaremäßig räumliche als auch die verwaltungstechnische Zusammensetzung dieses Mehrpro zessorsystems gestaltet werden soll. Ziel der geleisteten Arbeiten war es daher, eine möglichst anpassungsfähige Mehrprozessorstruktur zu finden, die in der Lage ist, parallel ausführbare Aufgaben auf schnellste Art an die verfügbaren Prozessoren eines symmetri schen Mehrprozessorsystems zu übergeben. Mehrprozessorsysteme vom MIMD-Typ (Multi-Instruction-Multi Data) wurden bis her nur mit wenigen Prozessoren aufgebaut-(Cm*, Cmmp,-IBM 370, CDC 6600), da die Interprozessorkommunikation und das Problem des konkurrierenden Zugriffs auf die allgemein verfügbaren Betriebsmittel schwer zu bewältigen waren. Im Rahmen dieses Forschungsvorhabens wurde das Konzept eines symmetrischen Mehrprozessorsystems realisiert das alle zeitparallelen Teilprozesse eines Anwenderprogramms zum Zeitpunkt ihrer Ablauffähigkeit konfliktvermeidend an einen Prozessor übergibt (ohne zentral erzeugte Synchronisationssignale abzu warten). Um alle hierfür erforderlichen Datenaustauschvorgänge ohne Behinde rung zu ermöglichen, wurden bestehende Kommunikationsnetze [1, 2] untersucht und weiterentwickelt. Ziel des Hardwareentwurfs war es, möglichst wenige multifunktionale, program mierbare Modultypen zu entwickeln, denn nur unter dieser Vorgabe ist der Auf bau von komplexen, anpassungsfähigen Systemen in überschaubarer Form erreich bar. 1.1 Allgemeine Bedeutung des Forschungsvorhabens Der rasche Preisverfall für Hardwarebausteine hat bisher noch keinen bedeu tenden Einfluß auf die Weiterentwicklung der Hardwarearchitektur von Rechnern gehabt. Zwar sind komplexe, billige Hardwarefunktionseinheiten mit verbesser ten Schaltzeiten entwickelt worden, jedoch haben sie nur zu wenig Fortschrit ten an der Hardware-Software-Schnittstelle, bzw. der Rechnerarchitektur ge führt [3]. Im Bereich der Softwarearchitektur sind im Gegensatz hierzu beachtliche Kon zepte entwickelt worden (z. B. Multiprozeßsynchronisation, Sprachen mit in nerer Blockstruktur, parallele Programmierung), die auf der Ebene der Hard warestruktur noch kein Äquivalent gefunden haben. Der Entwicklungsabstand zwischen den Konzeptionen der Hochniveausprachen und den Konzeptionen der Hardwarearchitektur ist als "Semantische Lücke" [3] bekannt geworden. Das Zurückbleiben der Hardwarearchitektur hinter der Entwicklung der Software hat aufwendige Programme in der Betriebssystem-Programmierung und in dem Bau von Compilern entstehen lassen. Veraltete Hardwarearchitekturen führten je doch wiederum zu erhöhter Systemunzuverlässigkeit und zu abnehmender Wirt schaftlichkeit. - 4 - Daneben haben Anstrengungen zum Aufbau von hierarchischen, dezentralen Mehr prozessorsystemen nicht zu einer entscheidenden Verbesserung der Ausschöpfung von Hardwarefunktionseinheiten geführt. Derartige statische Hardwarearchitek turen [4] lassen keine Einwirkung auf die Interprozessorverbindungen zu, d. h., Veränderungen in der Datenwegführung können nicht durch Programmierung erfolgen. In diesem Forschungsvorhaben wurde daher der Versuch unternommen, ein symme trisches, modulares Mehrprozessorsystem aus Mikroprozessoren zu entwickeln, welches eine dynamische Architektur [4] besitzt. Architekturen dieser Art er lauben eine sich ständig den Verarbeitungsgegebenheiten anpassende Zuordnung von aktiven Betriebsmitteln mit dem Ziel einer optimalen Kooperation an einer gegebenen Anwenderaufgabe. Eine wichtige Vorbedingung zur Erreichung dieser Fähigkeiten ist die Erstellung von wenigen, hochkomplexen LSI-Bauelementen, die sich auf eine überschaubare Weise verknüpfen lassen. Auch sind diese Vor bedingungen eine wichtige Grundlage zur Programmierung von sowohl funktions optimalen-als auch zeitoptimalen Parallelprogrammen in einer Mehrprozessorum welt. Die Bedeutung von Mehrprozessorsystemen für den Rechnerentwurf läßt sich im übertragenen Sinne auch erklären, wenn große Verwaltungseinrichtungen im Bereich der Wirtschaft oder des Sozialwesens betrachtet werden. Da in diesen Einrichtungen Aufgaben bewältigt werden müssen, die die Leistungsfähigkeit einer Person weit übersteigen, muß hierbei ein sinnvolles Zusammenwirken von Einzelleistungen organisiert werden, denn nur dann kann die Gesamtleistung besser sein als die Summe von unkocrdinierten Einzelleistungen. Die Gesamtleistung einer derartigen Einrichtung wird immer dann optimal, wenn ein ausgewogenes Verhältnis zwischen der Aktionsfreude, Intelligenz und Selb ständigkeit der Einzelmitglieder und den Regeln, Möglichkeiten und Fähigkeiten der Einzelmitglieder zur Zusammenarbeit hergestellt ist. D. h., mit der Zunah me der Einzelfähigkeiten der Mitglieder müssen auch die Fähigkeiten zur Koope ration der Mitglieder untereinander steigen, damit ein zuverlässiges, stabiles Gesamtwirken entstehen kann. 1.2 Vergehensweise bei Realisierung des Mehrprozessorsystems Ausgangspunkt für das Forschungsvorhaben waren zwei Positionen: die Verfügbar keit von billigen, komplexen Bauelementen wie Mikroprozessoren, Halbleiter speicher, Busschalter und Logikbausteinen und das Konzept des "Verteilten Da tenverarbeitungssystems [5]. Verteilte, autonome Prozessormodule benötigen, wenn sie gemeinsam an einem Anwenderproblern arbeiten sollen, ein Kommunika tionssystem zum direkten Datenaustausch und ein System zur Koordination aller dezentral geleisteten Rechenarbeit. Der alleinige Einsatz eines Kommunika tionsnetzes zwischen den Prozessormodulen ist für die Bearbeitung von mitein ander konkurrierenden, bzw. kooperierenden Prozessen nicht ausreichend. Zwar ermöglicht ein Kommunikationsnetz die Herstellung aller Verbindungswege, be nötigt jedoch zu seiner eigenen Steuerung wiederum eine Verwaltungseinrich tung. Diese Verwaltungseinrichtung muß vor dem Aufbau eines Datenweges die Bereitschaft eines Empfängers prüfen und ggf. eine Steuerinformation an diesen Empfänger übertragen. Auch muß sie in der Lage sein, einen abgewiesenen Sender in einer für ihn erfolgversprechenden Weise zu reaktivieren. Vor diesem Hinter grund wurden folgende Vorarbeiten geleistet: 1. Kommunikationsnetzstrukturen untersucht und weiterentwickelt; 2. Die innerhalb der Systemprogrammierung entwickelten Mechanismen zur Prozeßsynchronisation [6] auf die Gegebenheiten einer Mehr prozessorumgebung übertragen und auf ihre Eignung für eine hard waremäßige Realisierung untersucht. - 5 - Für den Hardwareaufbau des Multiprozessorsystems ließen sich aus diesen Vor untersuchungen zwei Aufgaben ableiten: 1. Der Entwurf von neuartigen modularen Hardwareschaltwerken zur Ergänzung der vorhandenen Prozessormodulhardware; 2. Die Erarbeitung eines Konzeptes zur Verknüpfung der modularen Schaltwerke. Kooperierende Prozesse, die in einer Multiprozessorumgebung ablaufen sollen, benötigen Prozessormoduleinheiten, die in die Lage gebracht werden können, diese Prozesse aufzunehmen, zu aktivieren und Ergebnisse weiterzuleiten. Damit jedes Prozessormodul dies 1e isten kann, muß es mit einem Programm zur Verwaltung des ankommenden und abgehenden Datenstromes ausgestattet sein. Es wurde daher durch die Entwicklung einer schnellen Koordinationshardware ver sucht, die Zeitanteile für diese Verwaltung möglichst gering zu halten. Die ses Ziel wurde erreicht, indem alle prozessormodullokalen Verwaltungsprogram me bei der Abstimmung ihrer Aktivitäten von eigens für diese Aufgaben entwickelten Koordinatorfunktionen unterstützt werden. Der Schwerpunkt dieses Ergebnisberichtes liegt daher in der Darstellung des Multiprozessor-Koordinationssystems. Die Hardware des Koordinationssystems (Bild 1) besteht aus einem Steuerwerk und einem expandierbaren Assoziativ speicher. Es wird gezeigt, daß durch die hochparallelen Assoziativspeicher operationen die Koordinationsarbeit auf kurze Speicherdurchrufvorgänge redu ziert werden kann. Gleichzeitig werden die Algorithmen, die für das Steuer werk des Koordinators entwickelt wurden, dargelegt. Innerhalb des Koordinators bewirken diese Routinen das Auswerten und Verändern des Assoziativspeicherin halts; außerhalb des Koordinators erzeugen und bewerten sie die Dialogdaten, die zwischen den Verwaltungsprogrammen der Prozessormodule und dem Koordinator ausgetauscht werden. Dieser Dialog ist eine wichtige Vorbedingung für eine gleichberechtigte Vergabeorganisation aller globaler Betriebsmittel des Mehr prozessorsystems, da auf diese Weise Parallelkonflikte wie z. B. das wechsel seitige Ausschlußproblem und das Deadlockproblem gelöst werden können [7]. Daneben werden in diesem Bericht die Programme zur Verwaltung der autonomen Prozessormodule angegeben. Aufgabe dieser Programme ist es, für die Vertei lung und Wiedervereinigung der einzelnen Teilprozesse zu sorgen. Ein verteiltes, expandierbares Mehrprozessorsystem benötigt neben einer allge meingültigen Verwaltungsorganisation noch ein modularstrukturiertes Kommuni kationsnetzwerk, das in der Lage ist, alle Netzendstellen blockierungsfrei zu verbinden. Viele Netzwerke dieser Art weisen jedoch bei steiqender Endstellen zahl einen quadratisch zunehmenden Bedarf an Schaltern auf. Aus diesem Grund wurden mehrstufige Netzwerke untersucht, die bei zunehmender Endstellenzahl n einen Schalterbedarfszuwachs von proportional n · ldn aufweisen. Zum Ende dieses Berichts werden noch einige Parameter angegeben, welche die Rechenleistung des Gesamtsystems beeinflussen. Darüberhinaus wird gezeigt, in welchem Verhältnis die Datendurchsatzleistung des Systems zur gesamten vom Multiprozessorsystem erbrachten Leistung steht. 2. Die Struktur und Arbeitsweise des ASSKO-Mehrprozessorsystems Nebenläufige Prozesse können in einer Mehrprozessorumgebung nur dann determi niert kooperieren, wenn es gelingt, die hierfür erforderlichen Informations bewegungen auszuführen. Die Informationsbewegungen lassen sich durch drei In formationsflüsse kennzeichnen [8]: - 6 - - den Datenfluß - den Steuerfluß - den Steuerdatenfluß Da jeder der drei Informationsflüsse von unterschiedlicher Informationsdichte und Gleichzeitigkeit ist, wurden im ASSKO-System (Bild 1) verschiedene Ober tragungseinrichtungen vorgesehen. So wird der Steuerfluß und der Datenfluß durch den Austausch von Speicherseiten zwischen den Prozessormodul-Speichern organisiert. Das universelle Kommunikationssystem dient hierbei zusammen mit den OMA-Kanälen der Prozessormodule zur Bereitstellung der erforderlichen Datenwege. Der Koordinator des ASSKO-Systems wurde allein für die Übermitt lung und Modifikation der globalen Steuerdaten vorgesehen. Es wurde daher ver sucht, den Koordinator für alle globalen Abstimmungsanfragen der lokalen Ver waltungsprogrammeder Prozessormodule gleichschnell erreichbar zu machen. Daneben wurde noch angestrebt, den globalen Interaktions-Anteil der Prozessor modul-Verwaltungsprozeduren so gering wie möglich zu halten, denn je besser dies gelingt, umso mehr Prozessormodule können zu einem kooperierenden Verband zusammengeschlossen werden. Aus diesem Grund wurde der Steuerdatenfluß in einen globalen und einen lokalen Anteil zerlegt. Der lokale Steuerfluß wird dabei ausschließlich zur Abstimmung der Teilprozesse in einem Prozessormodul bei der Belegung von lokalen Softwarebetriebsmitteln herangezogen. Das ASSKO-Mehrprozessorsystem (Bild 1) ist aus drei modulstrukturierten Kom ponenten aufgebaut worden: - den untereinander gleichberechtigten Prozessormodulen - dem Koordinator - dem universellen Kommunikationssystem Die Prozessormodule sind alle von gleicher Bauart und bestehen aus einem Mikroprozessor, einer Speichereinheit, Ein-Ausgabeeinheiten und einer OMA Einheit. Die Prozessormodule sind zwischen dem Kommunikationssystem und dem Koordinator eingebettet. Jeder in einem Prozessormodul residierende Prozeß hat die Möglichkeit, sich mit allen nebenläufig existierenden Prozessen in den anderen Prozessormodulen abzustimmen. Zu diesem Zweck kommuniziert er über die Ein-Ausgabe-Tore des Moduls mit dem Koordinator, wobei folgende globale Steuerdaten ausgetauscht werden: 1. Steuerdaten, die eine Änderung des Prozessormodulstatus anzeigen 2. Anfragen nach den Zuständen von anderen nebenläufigen Prozessen oder Betriebsmitteln 3. Antwort-Steuerdaten, die vom Koordinator nach einer Anfrage er zeugt werden. Alle globalen Steuerdaten des ASSKO-Systems werden im Assoziativspeicher des Koordinators vermerkt. Die wortparallele SuchzugriffsmögTichkeit über den ge samten Inhalt des Speichers ist eine wichtige Voraussetzung für eine schnelle, wechselseitige Abstimmung der nebenläufigen Prozesse in den Prozessormodulen. Die Funktionen des Assoziativspeichers werden von einem Steuerwerk aktiviert und überwacht, das auch ankommende Anfragen von den Prozessormodulen vorselek tiert und zu deren Beantwortung den gesamten Assoziativspeicherinhalt heran zieht. Der Zugriff zum Koordinator erfolgt über Anfragebusleitungen, die an der Peripherie des Koordinators von einem Entscheidungsschaltwerk für den je weiligen Zugriff ausgewählt werden. Der Koordinator kann die von ihm erzeugten - 7 - Antworten über einen Demultiplexer an die Prozessormodule zurückführen. Das modulare, universelle Kommunikationssystem ist über OMA-Einrichtungen mit allen RAM-Speichern der Prozessormodule verbunden. Die hier verwendeten OMA Bausteine arbeiten nach dem "Memory ldle"-Verfahren, was das Kopieren von Speicherinhalten zwischen den Prozessormodulen parallel zu jeder Prozessor aktivität erlaubt.· 2.1 Der Koordinator des ,~SKO-Systems Der Koordinator des ASSKO-S.>, tems ist eine Hardwareimplementation der Syn chronisationselemente, die für die Abstimmung der nebenläufigen Prozesse be nötigt werden. Die Koordination (oft auch Prozeßsynchronisation genannt) kann in einem symmetrischen Mehrprozessorsystem auf zwei Ebenen erfolgen: 1. auf der Ebene von konkurrierenden Prozessen, die sich um Hard warebetriebsmittel bewerben 2. auf der Ebene von kooperierenden Prozessen, die sowohl Hard ware- als auch verbrauchbare Softwarebetriebsmittel (z. B. Ergebnisdaten aus vorangegangenen Prozessen) benötigen. Die für die Koordination notwendigen Synchronisationsvariablen werden in dem Vollassoziativspeicher des Koordinators abgelegt. Wegen seiner Such-, Maskie rungs- und Repackoperationen [9, 10] ist der Assoziativspeicher zur Aufnahme und Wiedergewinnung aller globalen Synchronisationsdaten prädestiniert. Diese Operationen wurden für folgende Aufgaben verwendet: 1. Abspeicherung und Bearbeitung von allen Betriebsmittelstatus variablen nach dem Semaphorprinzip 2. Erkennung und Beseitigung von Deadlocksituationen durch Suche nach zyklischen Warterelationen und ggf. Rekonfiguration von Belegungsrelationen 3. Unterhaltung von Systemtabellen zur Beantwortung von Prozeß anfragen nach Ort und Status von verbrauchbaren Softwarebe triebsmitteln. Der Inhalt des Assoziativspeichers kann daher als ein stets aktualisiertes Muster, das die Gesamtprozeßsituation aller kooperierenden Prozesse dar stellt, angesehen werden. 2.1.1 Aufbau und Wirkungsweise des Koordinatorassoziativspeichers Der in Bild 2 und 3 angegebene Repack-Assoziativspeicher erlaubt das zeilen weise Verschieben von Datenblöcken innerhalb der Speichermatrix. Damit ist es beim Austragen einer Zeile aus dem Speicher möglich, alle Daten, die un terhalb dieses Wortes stehen, um eine Speicherzeile nach oben zu verschieben. Dieses Verfahren sichert ein lückenfreies Abspeichern von Daten im Repack Assoziativspeicher. Das Zusammenwirken der Repack-Operation mit der Prioritätenschaltkette (Bild 2) erlaubt die hardwaremäßige Organisation von mehreren Warteschlan gen im Assoziativspeicher. Da im Assoziativspeicher die Statusvariablen der Betriebsmittel des Mehrprozessorsystems abgelegt sind, vermindert diese Form der Warteschlangenorganisation die Koordinationszeit. Anhand einer angenomme nen Belegungssituation kann die Wirkungsweise der Warteschlangenverwaltung aufgezeigt werden. Mit einem Belegungsgraphen (Bild 4) werden die Veränderun-

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.