Система розпаралелювання shell-скриптів PaSh перейшла під крило Linux Foundation

Проект PaSh, що розвиває інструменти для паралельного виконання shell-скриптів, оголосив про перехід під участь організації Linux Foundation, яка надасть інфраструктуру та сервіси, необхідні для продовження розробки. Код проекту поширюється під ліцензією MIT та включає компоненти мовами Python, Shell, C та OCaml.

PaSh включає JIT-компілятор, runtime та бібліотеку анотацій:

  • Runtime надає набір примітивів для підтримки паралельного виконання скирпів.
  • Бібліотека анотацій визначає набір властивостей, що описують ситуації, в яких допускається розпаралелювання окремих команд POSIX і GNU Coreutils.
  • Компілятор на льоту розбирає запропонований Shell-скрипт абстрактне синтаксичне дерево (AST), розбиває на фрагменти, придатні для паралельного виконання, і формує на їх основі новий варіант скрипта, частини якого можуть виконуватися одночасно. Інформація про команди, які допускають розпаралелювання, береться компілятором із бібліотеки анотацій. У процесі генерації паралельно виконуваного варіанта скрипта код підставляються додаткові конструкції з Runtime.

Система розпаралелювання shell-скриптів PaSh перейшла під крило Linux Foundation

Наприклад, скрипт, що обробляє два файли f1.md та f2.md cat f1.md f2.md | tr AZ az | tr-cs A-Za-z '\n' | sort | uniq | comm -13 dict.txt — > out cat out | wc-l | sed 's/$/ mispelled words!/' у звичайних умовах обробить два файли послідовно:

Система розпаралелювання shell-скриптів PaSh перейшла під крило Linux Foundation
а при запуску під керуванням PaSh буде розбитий на два потоки, що одночасно виконуються, кожен з яких обробляє свій файл:
Система розпаралелювання shell-скриптів PaSh перейшла під крило Linux Foundation


Джерело: opennet.ru

Додати коментар або відгук