Computer der fünften Generation - Fifth generation computer

Die Computersysteme der fünften Generation ( FGCS ) waren eine Initiative des japanischen Ministeriums für Internationalen Handel und Industrie (MITI), die 1982 ins Leben gerufen wurde, um Computer mit massiv parallelem Rechnen und Logikprogrammierung zu entwickeln . Es sollte das Ergebnis eines Forschungsprojekts der Regierung/Industrie in Japan in den 1980er Jahren sein. Ziel war es, einen „epochenmachenden Computer“ mit Supercomputer-ähnlicher Leistung zu schaffen und eine Plattform für zukünftige Entwicklungen in der Künstlichen Intelligenz zu bieten . Es gab auch ein nicht verwandtes russisches Projekt, das auch als Computer der fünften Generation bezeichnet wurde (siehe Kronos (Computer) ).

Ehud Shapiro fasste in seinem "Trip Report"-Artikel (der das FGCS-Projekt auf die gleichzeitige Logikprogrammierung als Softwaregrundlage für das Projekt konzentrierte) die Gründe und Motivationen dieses Projekts auf:

"Als Teil der japanischen Bemühungen, in der Computerindustrie führend zu werden, hat das Institute for New Generation Computer Technology einen revolutionären Zehnjahresplan für die Entwicklung großer Computersysteme auf den Weg gebracht, die auf Wissensinformationsverarbeitungssysteme anwendbar sind. Diese fünfte Generation Computer werden um die Konzepte der Logikprogrammierung herum gebaut. Um den Vorwurf zu widerlegen, dass Japan Wissen aus dem Ausland verwertet, ohne eigenes beizutragen, wird dieses Projekt die originelle Forschung anregen und seine Ergebnisse der internationalen Forschungsgemeinschaft zur Verfügung stellen."

Der Begriff "fünfte Generation" sollte das System als fortschrittlich ausdrücken. In der Geschichte der Computerhardware wurden Computer mit Vakuumröhren als die erste Generation bezeichnet; Transistoren und Dioden , die zweite; integrierte Schaltkreise , die dritte; und diejenigen, die Mikroprozessoren verwenden , die vierte. Während sich frühere Computergenerationen darauf konzentriert hatten, die Anzahl der Logikelemente in einer einzelnen CPU zu erhöhen, wurde die fünfte Generation, so glaubte man damals, stattdessen auf eine massive Anzahl von CPUs für mehr Leistung zurückgreifen.

Das Projekt sollte den Computer über einen Zeitraum von zehn Jahren erstellen, danach galt es als beendet und die Investition in ein neues Projekt der "sechsten Generation" würde beginnen. Die Meinungen über das Ergebnis sind geteilt: Entweder war es ein Misserfolg oder es war seiner Zeit voraus.

Information

In den späten 1965er Jahren war es eines der am häufigsten verwendeten, bis in die frühen 1970er Jahre wurde viel über "Generationen" von Computerhardware gesprochen - normalerweise "drei Generationen".

  1. Erste Generation: Thermionische Vakuumröhren. Mitte der 1940er Jahre. IBM leistete Pionierarbeit bei der Anordnung von Vakuumröhren in steckbaren Modulen. Der IBM 650 war ein Computer der ersten Generation.
  2. Zweite Generation: Transistoren. 1956. Die Ära der Miniaturisierung beginnt. Transistoren sind viel kleiner als Vakuumröhren, ziehen weniger Strom und erzeugen weniger Wärme. Diskrete Transistoren werden auf Leiterplatten gelötet, wobei die Verbindungen durch schablonenabgeschirmte leitfähige Muster auf der Rückseite hergestellt werden. Der IBM 7090 war ein Computer der zweiten Generation.
  3. Dritte Generation: Integrierte Schaltkreise (Siliziumchips mit mehreren Transistoren). 1964. Ein wegweisendes Beispiel ist das im IBM 360/91 verwendete ACPX-Modul, das durch Stapeln von Siliziumschichten über einem Keramiksubstrat über 20 Transistoren pro Chip beherbergte; die Chips könnten zusammen auf eine Leiterplatte gepackt werden, um beispiellose Logikdichten zu erreichen. Der IBM 360/91 war ein hybrider Computer der zweiten und dritten Generation.

Aus dieser Taxonomie ausgenommen sind die Computer der "Nullten Generation", die auf Metallzahnrädern (wie dem IBM 407 ) oder mechanischen Relais (wie dem Mark I) basieren, und die Computer der Post-dritten Generation, die auf Very Large Scale Integrated ( VLSI .) basieren ) Schaltungen.

Es gab auch eine parallele Reihe von Generationen für Software:

  1. Erste Generation : Maschinensprache .
  2. Zweite Generation : Low-Level-Programmiersprachen wie Assembler .
  3. Dritte Generation : Strukturierte höhere Programmiersprachen wie C , COBOL und FORTRAN .
  4. Vierte Generation : "Nicht-prozedurale" höhere Programmiersprachen (wie objektorientierte Sprachen)

Während dieser mehreren Generationen bis in die 1970er Jahre baute Japan Computer nach US-amerikanischen und britischen Vorbildern. Mitte der 1970er Jahre hörte das Ministerium für Internationalen Handel und Industrie auf, westlichen Vorbildern zu folgen und begann, im kleinen Maßstab in die Zukunft des Computers zu blicken. Sie baten das Japan Information Processing Development Center (JIPDEC), eine Reihe von zukünftigen Richtungen anzugeben, und boten 1979 einen Dreijahresvertrag zur Durchführung eingehenderer Studien zusammen mit Industrie und Hochschulen an. In dieser Zeit wurde der Begriff "Computer der fünften Generation" verwendet.

Vor den 1970er Jahren hatte die MITI-Führung Erfolge wie eine verbesserte Stahlindustrie, die Schaffung des Öl- Supertankers , die Automobilindustrie, Unterhaltungselektronik und Computerspeicher. MITI entschied, dass die Zukunft in der Informationstechnologie liegen würde . Allerdings stellte die japanische Sprache , insbesondere in ihrer schriftlichen Form, Hindernisse für Computer dar und stellt sie immer noch dar. Aufgrund dieser Hürden veranstaltete das MITI eine Konferenz, um Hilfe von Experten zu suchen.

Die primären Untersuchungsfelder dieses ersten Projekts waren:

  • Inferenz-Computertechnologien für die Wissensverarbeitung
  • Computertechnologien zur Verarbeitung großer Datenbanken und Wissensbasen
  • Hochleistungs-Workstations
  • Verteilte funktionale Computertechnologien
  • Supercomputer für wissenschaftliche Berechnungen

Das Projekt stellte sich einen „epochalen Computer“ mit supercomputerähnlicher Leistung vor, der massiv paralleles Rechnen/Verarbeiten verwendet. Ziel war es, parallele Computer für Anwendungen der künstlichen Intelligenz mit gleichzeitiger Logikprogrammierung zu bauen. Das FGCS-Projekt und seine umfangreichen Erkenntnisse trugen wesentlich zur Entwicklung des Bereichs der parallelen Logikprogrammierung bei.

Das im FGCS-Projekt definierte Ziel war die Entwicklung von „Knowledge Information Processing Systems“ (grob sinngemäß angewandte Künstliche Intelligenz ). Das gewählte Werkzeug zur Umsetzung dieses Ziels war die Logikprogrammierung . Logischer Programmieransatz, wie er von Maarten Van Emden – einem seiner Gründer – charakterisiert wurde als:

  • Die Verwendung von Logik, um Informationen in einem Computer auszudrücken.
  • Die Verwendung von Logik, um einem Computer Probleme zu präsentieren.
  • Die Verwendung logischer Inferenz zur Lösung dieser Probleme.

Technisch gesehen kann es in zwei Gleichungen zusammengefasst werden:

  • Programm = Satz von Axiomen .
  • Berechnung = Beweis einer Aussage aus Axiomen .

Die typischerweise verwendeten Axiome sind universelle Axiome einer eingeschränkten Form, genannt Horn-Klauseln oder bestimmte-Klauseln . Die in einer Rechnung bewiesene Aussage ist eine existenzielle Aussage. Der Beweis ist konstruktiv und liefert Werte für die existentiell quantifizierten Variablen: Diese Werte bilden das Ergebnis der Berechnung.

Logische Programmierung wurde als etwas gedacht, das verschiedene Gradienten der Informatik ( Software Engineering , Datenbanken , Computerarchitektur und künstliche Intelligenz ) vereint . Es schien, dass die Logikprogrammierung eine der wichtigsten fehlenden Verbindungen zwischen Knowledge Engineering und parallelen Computerarchitekturen war.

Das Projekt stellte sich einen Computer mit paralleler Verarbeitung vor , der auf großen Datenbanken (im Gegensatz zu einem herkömmlichen Dateisystem ) läuft und eine logische Programmiersprache verwendet , um die Daten zu definieren und darauf zuzugreifen. Sie stellten sich vor, eine Prototypmaschine mit einer Leistung zwischen 100M und 1G LIPS zu bauen, wobei ein LIPS eine logische Inferenz pro Sekunde ist. Zu dieser Zeit waren typische Workstation-Maschinen in der Lage, etwa 100.000 LIPS zu erreichen. Sie schlugen vor, diese Maschine über einen Zeitraum von zehn Jahren zu bauen, 3 Jahre für die anfängliche Forschung und Entwicklung, 4 Jahre für den Bau verschiedener Subsysteme und die letzten 3 Jahre, um ein funktionierendes Prototypsystem fertigzustellen. 1982 beschloss die Regierung, das Projekt fortzusetzen , und gründete durch gemeinsame Investitionen mit verschiedenen japanischen Computerfirmen das Institute for New Generation Computer Technology (ICOT).

Im selben Jahr erfand Ehud Shapiro während eines Besuchs der ICOT Concurrent Prolog , eine neuartige nebenläufige Programmiersprache, die logische Programmierung und nebenläufige Programmierung integriert. Concurrent Prolog ist eine logische Programmiersprache, die für die gleichzeitige Programmierung und parallele Ausführung entwickelt wurde. Es handelt sich um eine prozessorientierte Sprache , deren grundlegende Kontrollmechanismen die Datenflusssynchronisation und die Unbestimmtheit von geschützten Befehlen beinhalten . Shapiro beschrieb die Sprache in einem Bericht mit der Bezeichnung ICOT Technical Report 003, der einen in Prolog geschriebenen Concurrent Prolog Interpreter vorstellte . Shapiros Arbeit an Concurrent Prolog führte zu einem Richtungswechsel des FGCS von der Konzentration auf die parallele Implementierung von Prolog hin zur Konzentration auf die gleichzeitige Logikprogrammierung als Softwaregrundlage für das Projekt. Es inspirierte auch die parallele logische Programmiersprache Guarded Horn Clauses (GHC) von Ueda, die die Grundlage von KL1 bildete , der Programmiersprache, die schließlich vom FGCS-Projekt als Kernprogrammiersprache entworfen und implementiert wurde.

Implementierung

Der Glaube, dass paralleles Computing die Zukunft aller Leistungssteigerungen sei, die durch das Projekt der fünften Generation generiert wurden, löste im Computerbereich eine Welle der Besorgnis aus. Nachdem die Japaner in den 1970er Jahren den Bereich der Unterhaltungselektronik und in den 1980er Jahren die Automobilwelt beeinflusst hatten, erlangten die Japaner in den 1980er Jahren einen guten Ruf. Bald wurden parallel Projekte in den USA als Strategic Computing Initiative und Microelectronics and Computer Technology Corporation (MCC), in Großbritannien als Alvey und in Europa als European Strategic Program on Research in Information Technology (ESPRIT) gegründet B. das European Computer‐Industry Research Center (ECRC) in München , eine Kooperation zwischen ICL in Großbritannien, Bull in Frankreich und Siemens in Deutschland.

Fünf laufende Parallel Inference Machines (PIM) wurden schließlich produziert: PIM/m, PIM/p, PIM/i, PIM/k, PIM/c. Das Projekt produzierte auch Anwendungen, die auf diesen Systemen laufen, wie das parallele Datenbankmanagementsystem Kappa, das juristische Argumentationssystem HELIC-II und der automatisierte Theorembeweiser MGTP sowie Anwendungen für die Bioinformatik .

Versagen

Das FGCS-Projekt hatte aus ähnlichen Gründen wie die Lisp-Maschinenfirmen und Thinking Machines keinen kommerziellen Erfolg . Die hochparallele Computerarchitektur wurde schließlich von weniger spezialisierter Hardware (z. B. Sun-Workstations und Intel x86- Maschinen) an Geschwindigkeit übertroffen . Das Projekt hat eine neue Generation vielversprechender japanischer Forscher hervorgebracht. Aber nach dem FGCS-Projekt stellte das MITI die Finanzierung großer Computerforschungsprojekte ein, und die vom FGCS-Projekt entwickelte Forschungsdynamik verschwand. MITI/ICOT startete jedoch in den 1990er Jahren ein Projekt der sechsten Generation.

Ein Hauptproblem war die Wahl der parallelen Logikprogrammierung als Brücke zwischen der parallelen Computerarchitektur und der Verwendung von Logik als Wissensrepräsentations- und Problemlösungssprache für KI-Anwendungen. Dies geschah nie sauber; eine Reihe von Sprachen wurden entwickelt, alle mit ihren eigenen Einschränkungen. Insbesondere störte das festgeschriebene Wahlmerkmal der gleichzeitigen Constraint-Logik-Programmierung die logische Semantik der Sprachen.

Ein weiteres Problem war, dass die vorhandene CPU-Leistung schnell die von Experten in den 1980er Jahren wahrgenommenen Grenzen durchbrach und der Wert des parallelen Computings so weit sank, dass es einige Zeit nur in Nischensituationen eingesetzt wurde. Obwohl im Laufe der Projektlaufzeit eine Reihe von Arbeitsplätzen mit steigender Kapazität entworfen und gebaut wurden, wurden diese im Allgemeinen bald von handelsüblichen Einheiten übertroffen.

Das Projekt konnte auch kein kontinuierliches Wachstum aufrechterhalten. Während seiner Lebensdauer wurden GUIs in Computern zum Mainstream; das Internet ermöglichte die Verteilung lokal gespeicherter Datenbanken; und selbst einfache Forschungsprojekte lieferten bessere Ergebnisse in der realen Welt beim Data Mining. Darüber hinaus stellte das Projekt fest, dass die Versprechungen der Logikprogrammierung durch die Verwendung fester Wahlmöglichkeiten weitgehend zunichte gemacht wurden.

Am Ende des Zehnjahreszeitraums hatte das Projekt über 50 Milliarden Yen (etwa 400 Millionen US-Dollar zu Wechselkursen von 1992) ausgegeben und wurde beendet, ohne seine Ziele zu erreichen. Die Workstations hatten in einem Markt, in dem Allzwecksysteme sie jetzt ersetzen und übertreffen konnten, keine Anziehungskraft. Dies geschieht parallel zum Lisp-Maschinenmarkt, auf dem regelbasierte Systeme wie CLIPS auf Allzweckcomputern laufen könnten, wodurch teure Lisp-Maschinen überflüssig werden.

Seiner Zeit voraus

Obwohl sie nicht sehr erfolgreich waren, wurden viele der Ansätze des Fünften-Generation-Projekts, wie beispielsweise die logische Programmierung, über riesige Wissensdatenbanken verteilt und werden nun in aktuellen Technologien neu interpretiert. Beispielsweise verwendet die Web Ontology Language (OWL) mehrere Schichten von logikbasierten Wissensrepräsentationssystemen. Es scheint jedoch, dass diese neuen Technologien die im Rahmen der Initiative der fünften Generation untersuchten Ansätze eher neu erfunden als genutzt haben.

Zu Beginn des 21. Jahrhunderts begannen sich viele Varianten des Parallel Computing zu verbreiten, darunter Multi-Core- Architekturen am unteren Ende und massiv parallele Verarbeitung am oberen Ende. Als sich die Taktraten von CPUs in den Bereich von 3–5 GHz bewegten, wurden die CPU-Verlustleistung und andere Probleme wichtiger. Die Fähigkeit der Industrie , immer schnellere Einzel-CPU-Systeme (in Verbindung mit dem Mooreschen Gesetz über die periodische Verdoppelung der Transistorzahl) herzustellen , wurde bedroht. Gewöhnliche Verbrauchermaschinen und Spielekonsolen begannen mit parallelen Prozessoren wie Intel Core , AMD K10 und Cell . Grafikkartenhersteller wie Nvidia und AMD begannen mit der Einführung großer paralleler Systeme wie CUDA und OpenCL . Auch hier ist jedoch nicht klar, dass diese Entwicklungen durch das Projekt der fünften Generation in irgendeiner Weise gefördert wurden.

Zusammenfassend wird argumentiert, dass das Projekt der fünften Generation revolutionär war, jedoch immer noch Bereiche des Untergangs hatte.

Verweise