Sistemul de paralelizare a scripturilor shell PaSh intră sub aripa Fundației Linux

Proiectul PaSh, care dezvoltă instrumente pentru execuția paralelă a scripturilor shell, a anunțat că se mută sub auspiciile Fundației Linux, care va oferi infrastructura și serviciile necesare pentru a continua dezvoltarea. Codul proiectului este distribuit sub licența MIT și include componente în Python, Shell, C și OCaml.

PaSh include un compilator JIT, runtime și bibliotecă de adnotări:

  • Runtime oferă un set de primitive pentru a sprijini execuția paralelă a scripturilor.
  • Biblioteca de adnotări definește un set de proprietăți care descriu situații în care este permisă paralelizarea comenzilor individuale POSIX și GNU Coreutils.
  • Compilatorul analizează din mers scriptul Shell propus într-un arbore de sintaxă abstractă (AST), îl descompune în fragmente potrivite pentru execuție paralelă și, pe baza lor, formează o nouă versiune a scriptului, părți din care pot fi executate simultan. Informațiile despre comenzile care permit paralelizarea sunt preluate de compilator din biblioteca de adnotări. În procesul de generare a unei versiuni de rulare paralelă a scriptului, în cod sunt inserate constructe suplimentare din Runtime.

Sistemul de paralelizare a scripturilor shell PaSh intră sub aripa Fundației Linux

De exemplu, un script care procesează două fișiere f1.md și f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | sortare | unic | comm -13 dict.txt — > out cat out | wc -l | sed 's/$/ cuvinte greşite!/' ar procesa în mod normal două fişiere secvenţial:

Sistemul de paralelizare a scripturilor shell PaSh intră sub aripa Fundației Linux
iar atunci când este lansat sub controlul PaSh, acesta va fi împărțit în două fire executate simultan, fiecare procesând propriul fișier:
Sistemul de paralelizare a scripturilor shell PaSh intră sub aripa Fundației Linux


Sursa: opennet.ru

Adauga un comentariu