Articulo de referencia

SISAL

SISAL ( Streams and Iteration in a Single Assignment Language ) es un lenguaje de programación funcional de propósito general con una única asignación , semántica estricta , par...

SISAL ( Streams and Iteration in a Single Assignment Language ) es un lenguaje de programación funcional de propósito general con una única asignación , semántica estricta , paralelismo implícito y manejo eficiente de matrices .

SISAL genera un grafo de flujo de datos en formato intermedio 1 (IF1). Se derivó del lenguaje algorítmico orientado a valores (VAL), diseñado por Jack Dennis , y añade recursión y secuencias finitas. Posee una sintaxis similar a la de Pascal y fue diseñado para ser un lenguaje de programación de alto nivel común para programas numéricos en diversos multiprocesadores . [ 1 ]

Historia

SISAL fue definido en 1983 por James McGraw y otros, en la Universidad de Manchester , el Laboratorio Nacional Lawrence Livermore (LLNL), la Universidad Estatal de Colorado y Digital Equipment Corporation (DEC). Fue revisado en 1985 y la primera implementación compilada se realizó en 1986. Su rendimiento es superior al de C y rivaliza con el de Fortran , según algunas fuentes, [ 2 ] combinado con una paralelización eficiente y automática.

El nombre de SISAL surgió al buscar "sal" en el diccionario Unix /usr/dict/words, en referencia a "Single Assignment Language" (Lenguaje de asignación única).

Existen versiones para Cray X-MP , Y-MP , 2 ; Sequent , Encore Alliant , DEC DEC VAX-11/784 , arquitecturas de flujo de datos , KSR1, Inmos Transputers y matrices sistólicas .

Arquitectura

Los requisitos para un lenguaje de paralelismo de grano fino se satisfacen mejor con un lenguaje de programación de flujo de datos que con un lenguaje de programación de sistemas .

SISAL es más que un lenguaje de flujo de datos y de granularidad fina. Es un conjunto de herramientas que convierten un lenguaje de flujo de datos textual legible por humanos en un formato gráfico (denominado IF1 - Intermediary Form 1). Parte del proyecto SISAL también consistió en convertir este formato gráfico en código C ejecutable. [ 3 ]

Sisal de la era del Renacimiento

En 2010, SISAL experimentó un breve resurgimiento cuando un grupo de estudiantes de pregrado del Instituto Politécnico de Worcester investigó la implementación de un backend de paralelismo de grano fino para el lenguaje SISAL. [ 3 ]

En 2018, SISAL se modernizó con sintaxis basada en indentación, funciones de primera clase, lambdas, cierres y semántica perezosa dentro de un proyecto SISAL-IS. [ 4 ]

Referencias

Notas

  1. Este artículo se basa en material tomado de SISAL en el Diccionario en línea gratuito de informática antes del 1 de noviembre de 2008 e incorporado bajo los términos de "relicencia" de la GFDL , versión 1.3 o posterior.
  2. ¿Retirar Fortran?: un debate reavivado, David Cann, agosto de 1992, Communications of the ACM, Volumen 35, Número 8
  3. 1 2 Paralelismo de grano fino: Un estudio de investigación sobre las ventajas de la programación gráfica y un modo de ejecución de grano fino
  4. Intérprete de Sisal modernizado (MSInt)

Bibliografía

  • Descripción general de VAL
  • Tutorial de idioma Sisal
  • Página del proyecto SISAL de programación paralela en SourceForge.net