Systém paralelizácie skriptov shellu PaSh patrí pod krídla Linux Foundation

Projekt PaSh, ktorý vyvíja nástroje na paralelné vykonávanie shell skriptov, oznámil, že prechádza pod záštitu Linux Foundation, ktorá bude poskytovať infraštruktúru a služby potrebné na pokračovanie vývoja. Kód projektu je distribuovaný pod licenciou MIT a obsahuje komponenty v jazykoch Python, Shell, C a OCaml.

PaSh obsahuje JIT kompilátor, runtime a knižnicu anotácií:

  • Runtime poskytuje sadu primitív na podporu paralelného vykonávania skriptov.
  • Knižnica anotácií definuje množinu vlastností, ktoré popisujú situácie, v ktorých je povolená paralelizácia jednotlivých príkazov POSIX a GNU Coreutils.
  • Kompilátor za behu analyzuje navrhovaný skript Shell do abstraktného stromu syntaxe (AST), rozdelí ho na fragmenty vhodné na paralelné vykonávanie a na ich základe vytvorí novú verziu skriptu, ktorej časti možno vykonávať súčasne. Informácie o príkazoch, ktoré umožňujú paralelizáciu, preberá kompilátor z knižnice anotácií. V procese generovania paralelne bežiacej verzie skriptu sa do kódu vkladajú ďalšie konštrukcie z Runtime.

Systém paralelizácie skriptov shellu PaSh patrí pod krídla Linux Foundation

Napríklad skript, ktorý spracováva dva súbory f1.md a f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | triediť | uniq | comm -13 dict.txt — > von makať | wc -l | sed 's/$/ nesprávne napísané slová!/' by normálne spracoval dva súbory postupne:

Systém paralelizácie skriptov shellu PaSh patrí pod krídla Linux Foundation
a keď sa spustí pod kontrolou PaSh, bude rozdelený do dvoch súčasne vykonávaných vlákien, z ktorých každé spracováva svoj vlastný súbor:
Systém paralelizácie skriptov shellu PaSh patrí pod krídla Linux Foundation


Zdroj: opennet.ru

Pridať komentár