El sistema de paralelización de scripts de shell PaSh está bajo el ala de la Fundación Linux

El proyecto PaSh, que desarrolla herramientas para la ejecución paralela de scripts de shell, ha anunciado que avanza bajo los auspicios de la Fundación Linux, que proporcionará la infraestructura y los servicios necesarios para continuar con el desarrollo. El código del proyecto se distribuye bajo licencia MIT e incluye componentes en Python, Shell, C y OCaml.

PaSh incluye un compilador JIT, tiempo de ejecución y biblioteca de anotaciones:

  • Runtime proporciona un conjunto de primitivas para admitir la ejecución paralela de scripts.
  • La biblioteca de anotaciones define un conjunto de propiedades que describen situaciones en las que se permite la paralelización de comandos POSIX y GNU Coreutils individuales.
  • El compilador analiza sobre la marcha el script de Shell propuesto en un árbol de sintaxis abstracta (AST), lo divide en fragmentos adecuados para la ejecución paralela y, basándose en ellos, forma una nueva versión del script, cuyas partes se pueden ejecutar simultáneamente. El compilador toma la información sobre los comandos que permiten la paralelización de la biblioteca de anotaciones. En el proceso de generar una versión del script que se ejecuta en paralelo, se insertan construcciones adicionales de Runtime en el código.

El sistema de paralelización de scripts de shell PaSh está bajo el ala de la Fundación Linux

Por ejemplo, un script que procesa dos archivos f1.md y f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | ordenar | único | comm -13 dict.txt — > fuera gato fuera | baño -l | sed 's/$/ palabras mal escritas!/' normalmente procesaría dos archivos secuencialmente:

El sistema de paralelización de scripts de shell PaSh está bajo el ala de la Fundación Linux
y cuando se inicie bajo el control de PaSh, se dividirá en dos subprocesos ejecutados simultáneamente, cada uno de los cuales procesa su propio archivo:
El sistema de paralelización de scripts de shell PaSh está bajo el ala de la Fundación Linux


Fuente: opennet.ru

Añadir un comentario