Ordinateur de cinquième génération - Fifth generation computer

Les systèmes informatiques de cinquième génération ( FGCS ) étaient une initiative du ministère japonais du Commerce international et de l'Industrie (MITI), lancée en 1982, pour créer des ordinateurs utilisant l'informatique massivement parallèle et la programmation logique . Ce devait être le résultat d'un projet de recherche du gouvernement et de l'industrie au Japon dans les années 1980. Il visait à créer un "ordinateur qui fait époque" avec des performances similaires à celles d'un superordinateur et à fournir une plate-forme pour les futurs développements de l' intelligence artificielle . Il y avait aussi un projet russe sans rapport, également nommé ordinateur de cinquième génération (voir Kronos (ordinateur) ).

Ehud Shapiro , dans son article « Trip Report » (qui a concentré le projet FGCS sur la programmation logique concurrente en tant que base logicielle du projet), a capturé la justification et les motivations de ce projet :

« Dans le cadre des efforts du Japon pour devenir un leader dans l'industrie informatique, l'Institute for New Generation Computer Technology a lancé un plan décennal révolutionnaire pour le développement de grands systèmes informatiques qui seront applicables aux systèmes de traitement de l'information. les ordinateurs seront construits autour des concepts de la programmation logique. Afin de réfuter l'accusation selon laquelle le Japon exploite les connaissances de l'étranger sans apporter les siennes, ce projet stimulera des recherches originales et mettra ses résultats à la disposition de la communauté internationale des chercheurs.

Le terme « cinquième génération » visait à exprimer le système comme étant avancé. Dans l' histoire du matériel informatique , les ordinateurs utilisant des tubes à vide étaient appelés la première génération ; transistors et diodes , le second ; circuits intégrés , le troisième; et ceux utilisant des microprocesseurs , le quatrième. Alors que les générations d'ordinateurs précédentes s'étaient concentrées sur l'augmentation du nombre d'éléments logiques dans un seul processeur, la cinquième génération, on le croyait largement à l'époque, se tournerait plutôt vers un nombre massif de processeurs pour des performances accrues.

Le projet consistait à créer l'ordinateur sur une période de dix ans, après quoi il était considéré comme terminé et l'investissement dans un nouveau projet de « sixième génération » commencerait. Les avis sur son issue sont partagés : soit c'était un échec, soit c'était en avance sur son temps.

Informations

À la fin des années 1965, il était l'un des plus utilisés jusqu'au début des années 1970, on parlait beaucoup de « générations » de matériel informatique – généralement « trois générations ».

  1. Première génération : Tubes à vide thermioniques. Milieu des années 40. IBM a été le pionnier de la disposition des tubes à vide dans des modules enfichables. L' IBM 650 était un ordinateur de première génération.
  2. Deuxième génération : Transistors. 1956. L'ère de la miniaturisation commence. Les transistors sont beaucoup plus petits que les tubes à vide, consomment moins d'énergie et génèrent moins de chaleur. Les transistors discrets sont soudés aux circuits imprimés, avec des interconnexions réalisées par des motifs conducteurs blindés au pochoir sur la face arrière. L' IBM 7090 était un ordinateur de deuxième génération.
  3. Troisième génération : Circuits intégrés (puces de silicium contenant plusieurs transistors). 1964. Un exemple pionnier est le module ACPX utilisé dans l'IBM 360/91, qui, en empilant des couches de silicium sur un substrat en céramique, accueillait plus de 20 transistors par puce ; les puces pourraient être emballées ensemble sur une carte de circuit imprimé pour atteindre des densités logiques sans précédent. L'IBM 360/91 était un ordinateur hybride de deuxième et troisième génération.

Omis de cette taxonomie est l'ordinateur de « génération zéro » basé sur des engrenages métalliques (comme l' IBM 407 ) ou des relais mécaniques (comme le Mark I), et les ordinateurs post-troisième génération basés sur Very Large Scale Integrated ( VLSI ) circuits.

Il existait également un ensemble parallèle de générations de logiciels :

  1. Première génération : Langage machine .
  2. Deuxième génération : Langages de programmation de bas niveau tels que le langage assembleur .
  3. Troisième génération : Langages de programmation structurés de haut niveau tels que C , COBOL et FORTRAN .
  4. Quatrième génération : Langages de programmation de haut niveau "non procéduraux" (comme les langages orientés objet)

Tout au long de ces multiples générations jusqu'aux années 1970, le Japon a construit des ordinateurs en suivant les pistes américaines et britanniques. Au milieu des années 1970, le ministère du Commerce international et de l'Industrie a cessé de suivre les tendances occidentales et a commencé à se pencher sur l'avenir de l'informatique à petite échelle. Ils ont demandé au Centre japonais de développement du traitement de l'information (JIPDEC) d'indiquer un certain nombre d'orientations futures et, en 1979, ont proposé un contrat de trois ans pour mener des études plus approfondies avec l'industrie et le milieu universitaire. C'est à cette époque que le terme « ordinateur de cinquième génération » a commencé à être utilisé.

Avant les années 1970, les orientations du MITI ont connu des succès tels qu'une industrie sidérurgique améliorée, la création du superpétrolier , l'industrie automobile, l'électronique grand public et la mémoire informatique. Le MITI a décidé que l'avenir allait être la technologie de l'information . Cependant, la langue japonaise , notamment sous sa forme écrite, présentait et présente encore des obstacles pour les ordinateurs. En raison de ces obstacles, le MITI a organisé une conférence pour solliciter l'aide d'experts.

Les principaux champs d'investigation de ce projet initial étaient :

  • Technologies informatiques d'inférence pour le traitement des connaissances
  • Technologies informatiques pour traiter des bases de données et des bases de connaissances à grande échelle
  • Stations de travail hautes performances
  • Technologies informatiques fonctionnelles distribuées
  • Supercalculateurs pour le calcul scientifique

Le projet a imaginé un « ordinateur qui fait époque » avec des performances similaires à celles d'un superordinateur utilisant un calcul/traitement massivement parallèle. L'objectif était de construire des ordinateurs parallèles pour des applications d'intelligence artificielle en utilisant la programmation logique concurrente. Le projet FGCS et ses vastes découvertes ont grandement contribué au développement du domaine de la programmation logique concurrente.

L'objectif défini par le projet FGCS était de développer des "Knowledge Information Processing systems" (au sens large, l'Intelligence Artificielle appliquée ). L'outil choisi pour mettre en œuvre cet objectif était la programmation logique . Approche de programmation logique telle qu'elle a été caractérisée par Maarten Van Emden – l'un de ses fondateurs – comme :

  • L'utilisation de la logique pour exprimer des informations dans un ordinateur.
  • L'utilisation de la logique pour présenter des problèmes à un ordinateur.
  • L'utilisation de l'inférence logique pour résoudre ces problèmes.

Plus techniquement, il peut se résumer en deux équations :

  • Programme = Ensemble d'axiomes .
  • Calcul = Preuve d'un énoncé à partir d'axiomes .

Les axiomes généralement utilisés sont des axiomes universels de forme restreinte, appelés clauses de Horn ou clauses définies . L'énoncé prouvé dans un calcul est un énoncé existentiel. La preuve est constructive et fournit des valeurs pour les variables quantifiées existentiellement : ces valeurs constituent le résultat du calcul.

La programmation logique était pensée comme quelque chose qui unifiait divers gradients de l'informatique ( génie logiciel , bases de données , architecture informatique et intelligence artificielle ). Il semblait que la programmation logique était un lien manquant entre l' ingénierie des connaissances et les architectures informatiques parallèles.

Le projet a imaginé un ordinateur de traitement parallèle fonctionnant sur de grandes bases de données (par opposition à un système de fichiers traditionnel ) en utilisant un langage de programmation logique pour définir et accéder aux données. Ils ont envisagé de construire un prototype de machine avec des performances comprises entre 100M et 1G LIPS, où un LIPS est une inférence logique par seconde. À l'époque, les postes de travail typiques étaient capables d'environ 100 000 LIPS. Ils ont proposé de construire cette machine sur une période de dix ans, 3 ans pour la R&D initiale, 4 ans pour la construction de divers sous-systèmes et 3 ans pour terminer un système prototype fonctionnel. En 1982, le gouvernement a décidé d'aller de l'avant avec le projet et a créé l' Institut pour la technologie informatique de nouvelle génération (ICOT) grâce à un investissement conjoint avec diverses sociétés informatiques japonaises.

La même année, lors d'une visite à l'ICOT, Ehud Shapiro inventa Concurrent Prolog , un nouveau langage de programmation concurrente qui intégrait la programmation logique et la programmation concurrente. Concurrent Prolog est un langage de programmation logique conçu pour la programmation concurrente et l'exécution parallèle. C'est un langage orienté processus , qui incarne la synchronisation des flux de données et l' indétermination de la commande gardée comme mécanismes de contrôle de base. Shapiro a décrit le langage dans un rapport marqué comme ICOT Technical Report 003, qui présentait un interpréteur Concurrent Prolog écrit en Prolog. Le travail de Shapiro sur Concurrent Prolog a inspiré un changement dans l'orientation du FGCS, passant d'une concentration sur la mise en œuvre parallèle de Prolog à une concentration sur la programmation logique concurrente comme base logicielle du projet. Il a également inspiré le langage de programmation logique concurrent Guarded Horn Clauses (GHC) d'Ueda, qui était à la base de KL1 , le langage de programmation qui a finalement été conçu et mis en œuvre par le projet FGCS comme langage de programmation principal.

Mise en œuvre

La conviction que le calcul parallèle était l'avenir de tous les gains de performances générés par le projet de cinquième génération a provoqué une vague d'appréhension dans le domaine informatique. Après avoir influencé le domaine de l' électronique grand public dans les années 1970 et le monde de l' automobile dans les années 1980, les Japonais des années 1980 ont développé une forte notoriété. Bientôt, des projets parallèles ont été mis en place aux États-Unis sous le nom de Strategic Computing Initiative et Microelectronics and Computer Technology Corporation (MCC), au Royaume-Uni sous le nom d' Alvey et en Europe sous le nom de Programme stratégique européen de recherche en technologies de l'information (ESPRIT), ainsi que comme le Centre européen de recherche informatique (ECRC) à Munich , une collaboration entre ICL en Grande-Bretagne, Bull en France et Siemens en Allemagne.

Cinq machines d'inférence parallèle (PIM) en cours d'exécution ont finalement été produites : PIM/m, PIM/p, PIM/i, PIM/k, PIM/c. Le projet a également produit des applications à exécuter sur ces systèmes, telles que le système de gestion de bases de données parallèle Kappa, le système de raisonnement juridique HELIC-II et le prouveur de théorèmes automatisé MGTP , ainsi que des applications à la bioinformatique .

Échec

Le projet FGCS n'a pas rencontré de succès commercial pour des raisons similaires aux entreprises de machines Lisp et Thinking Machines . L'architecture informatique hautement parallèle a finalement été dépassée en vitesse par du matériel moins spécialisé (par exemple, les stations de travail Sun et les machines Intel x86 ). Le projet a produit une nouvelle génération de chercheurs japonais prometteurs. Mais après le projet FGCS, le MITI a cessé de financer des projets de recherche informatique à grande échelle, et l'élan de recherche développé par le projet FGCS s'est dissipé. Cependant, le MITI/ICOT s'est lancé dans un projet de sixième génération dans les années 90.

Un problème principal était le choix de la programmation logique concurrente comme pont entre l'architecture informatique parallèle et l'utilisation de la logique comme langage de représentation des connaissances et de résolution de problèmes pour les applications d'IA. Cela ne s'est jamais produit proprement; un certain nombre de langages ont été développés, tous avec leurs propres limites. En particulier, la fonction de choix engagé de la programmation logique à contraintes concurrentes interférait avec la sémantique logique des langages.

Un autre problème était que les performances du processeur existant franchissaient rapidement les barrières que les experts percevaient dans les années 1980, et la valeur du calcul parallèle a chuté au point où il n'a été utilisé pendant un certain temps que dans des situations de niche. Bien qu'un certain nombre de postes de travail de capacité croissante aient été conçus et construits au cours de la durée de vie du projet, ils se sont généralement retrouvés rapidement dépassés par les unités « sur étagère » disponibles dans le commerce.

Le projet n'a pas non plus réussi à maintenir une croissance continue. Au cours de sa durée de vie, les interfaces graphiques sont devenues courantes dans les ordinateurs ; l' Internet ont permis à des bases de données stockées localement pour devenir distribués; et même de simples projets de recherche ont fourni de meilleurs résultats dans le monde réel en matière d'exploration de données. De plus, le projet a constaté que les promesses de la programmation logique étaient largement annulées par l'utilisation du choix engagé.

À la fin de la période de dix ans, le projet avait dépensé plus de 50 milliards de yens (environ 400 millions de dollars américains aux taux de change de 1992) et a été terminé sans avoir atteint ses objectifs. Les postes de travail n'avaient aucun attrait sur un marché où les systèmes à usage général pouvaient désormais les remplacer et les surpasser. Ceci est parallèle au marché des machines Lisp, où des systèmes basés sur des règles tels que CLIPS pourraient fonctionner sur des ordinateurs à usage général, rendant inutiles les machines Lisp coûteuses.

En avance sur son temps

Bien qu'elles n'aient pas produit beaucoup de succès, de nombreuses approches vues dans le projet de cinquième génération, telles que la programmation logique, ont été distribuées sur des bases de connaissances massives et sont maintenant réinterprétées dans les technologies actuelles. Par exemple, le langage d'ontologie Web (OWL) utilise plusieurs couches de systèmes de représentation des connaissances basés sur la logique. Il semble cependant que ces nouvelles technologies ont réinventé plutôt qu'exploité les approches étudiées dans le cadre de l'initiative de cinquième génération.

Au début du 21e siècle, de nombreuses variantes de l' informatique parallèle ont commencé à proliférer, y compris les architectures multicœurs au bas de gamme et le traitement massivement parallèle au haut de gamme. Lorsque les vitesses d'horloge des processeurs ont commencé à se déplacer dans la plage de 3 à 5 GHz, la dissipation de puissance du processeur et d'autres problèmes sont devenus plus importants. La capacité de l' industrie à produire des systèmes à processeur unique de plus en plus rapides (liés à la loi de Moore sur le doublement périodique du nombre de transistors) a commencé à être menacée. Les machines grand public ordinaires et les consoles de jeux ont commencé à avoir des processeurs parallèles comme Intel Core , AMD K10 et Cell . Les fabricants de cartes graphiques comme Nvidia et AMD ont commencé à introduire de grands systèmes parallèles comme CUDA et OpenCL . Encore une fois, cependant, il n'est pas clair que ces développements aient été facilités de manière significative par le projet de cinquième génération.

En résumé, il est avancé que le projet de cinquième génération était révolutionnaire, mais qu'il avait encore des zones de chute.

Les références