PaSh-ŝela skriba paraleliga sistemo venas sub la flugilon de la Linukso-Fundamento

La projekto PaSh, kiu disvolvas ilojn por paralela ekzekuto de ŝelaj skriptoj, anoncis, ke ĝi moviĝas sub la aŭspicioj de la Linukso-Fondaĵo, kiu provizos la infrastrukturon kaj servojn necesajn por daŭrigi disvolviĝon. La projektkodo estas distribuita sub la MIT-licenco kaj inkluzivas komponantojn en Python, Shell, C kaj OCaml.

PaSh inkluzivas JIT-kompililon, rultempon kaj komentadbibliotekon:

  • Rultempo disponigas aron de primitivuloj por subteni paralelan ekzekuton de skriptoj.
  • La komentadbiblioteko difinas aron da propraĵoj, kiuj priskribas situaciojn en kiuj paraleligo de individuaj komandoj POSIX kaj GNU Coreutils estas permesita.
  • La kompililo sur la flugo analizas la proponitan Shell-skripton en abstraktan sintaksarbon (AST), rompas ĝin en fragmentojn taŭgajn por paralela ekzekuto, kaj sur ilia bazo formas novan version de la manuskripto, partoj de kiuj povas esti ekzekutitaj samtempe. Informoj pri komandoj kiuj permesas paraleligon estas prenitaj de la kompililo el la komentada biblioteko. En la procezo de generado de paralela kuranta versio de la skripto, kromaj konstruaĵoj de Runtime estas enigitaj en la kodon.

PaSh-ŝela skriba paraleliga sistemo venas sub la flugilon de la Linukso-Fundamento

Ekzemple, skripto, kiu prilaboras du dosierojn f1.md kaj f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | ordigi | uniq | comm -13 dict.txt — > el kato ekstere | wc -l | sed 's/$/ misliterumitaj vortoj!/' normale prilaborus du dosierojn sinsekve:

PaSh-ŝela skriba paraleliga sistemo venas sub la flugilon de la Linukso-Fundamento
kaj kiam ĝi estas lanĉita sub la kontrolo de PaSh, ĝi estos dividita en du samtempe ekzekutitaj fadenoj, ĉiu el kiuj prilaboras sian propran dosieron:
PaSh-ŝela skriba paraleliga sistemo venas sub la flugilon de la Linukso-Fundamento


fonto: opennet.ru

Aldoni komenton