PSILISP, un modèle d'interprétation parallèle de programmes LISP
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
PSILISP comprises the definition of a language derived from LISP and its implementation on an MIMD parallel architecture with shared memory. The main features of PSILISP are: lexically scoped variables, call by value, explicit parallel evaluation of the arguments of an application, primitives with no side effects. PSILISP language extends LISP by the new “parallel application” construct. Its evaluation leads to intensive use of the processors for the parallel computation of the arguments. PSILISP uses lexically scoped variables. This choice avoids the semantical defects that are common to the usual implementations of LISP. Furthermore, the implementation in this case lends itself better to the management of parallel evaluation. PSILISP brings a solution to the Funarg problem by environment retention. Functions become thus members of first class citizens. The PSILISP experience demonstrates that the efficiency of LISP programs can be increased considerably by use of the parallelism.
Abstract FR:
PSILISP comprend la définition d’un langage dérivé de LISP et d’une implémentation de ce langage sur une architecture multiprocesseur de type MIMD à mémoire partagée. Les principales caractéristiques de ce langage sont : portée lexicale des identificateurs, appel des arguments par valeur, évaluation parallèle explicite des arguments d’une application, primitives sans effet de bord. PSILISP étend LISP par l’introduction des « applications parallèles ». Leur évaluation se traduit par une exploitation massive des processeurs pour le calcul en parallèle des arguments. PSILISP utilise la portée lexicale. Ce choix permet d’éviter les défauts sémantiques caractérisant la plupart des implémentations actuelles de LISP. De plus, l’implémentation des environnements qui en résulte, se prête mieux à la gestion du parallélisme. PSILISP apporte une solution au problème du Funarg ascendant par rétention des environnements. Il en résulte que les fonctions sont des objets à part entière. L’expérience PSILISP montre qu’il est possible d’accroitre considérablement la vitesse d’exécution des programmes LISP par l’exploitation du parallélisme.