Is-sistema ta 'parallelizzazzjoni tal-iskript tal-qoxra PaSh taqa' taħt il-ġwienaħ tal-Fondazzjoni Linux

Il-proġett PaSh, li jiżviluppa għodod għall-eżekuzzjoni parallela ta 'skripts shell, ħabbar li qed jimxi taħt l-awspiċi tal-Fondazzjoni Linux, li se tipprovdi l-infrastruttura u s-servizzi meħtieġa biex ikompli l-iżvilupp. Il-kodiċi tal-proġett huwa mqassam taħt il-liċenzja MIT u jinkludi komponenti f'Python, Shell, C u OCaml.

PaSh jinkludi kompilatur JIT, runtime u librerija ta' annotazzjonijiet:

  • Runtime jipprovdi sett ta 'primittivi biex jappoġġjaw eżekuzzjoni parallela ta' skripts.
  • Il-librerija ta' annotazzjoni tiddefinixxi sett ta' proprjetajiet li jiddeskrivu sitwazzjonijiet li fihom hija permessa l-parallelizzazzjoni ta' kmandi individwali POSIX u GNU Coreutils.
  • Il-kompilatur fuq il-fly janalizza l-iskrittura Shell proposta f'siġra tas-sintassi astratta (AST), jaqsamha fi frammenti adattati għall-eżekuzzjoni parallela, u fuq il-bażi tagħhom jifforma verżjoni ġdida tal-iskrittura, li partijiet minnha jistgħu jiġu esegwiti simultanjament. L-informazzjoni dwar il-kmandi li jippermettu l-parallelizzazzjoni tittieħed mill-kompilatur mil-librerija tal-annotazzjoni. Fil-proċess tal-ġenerazzjoni ta 'verżjoni parallela tal-iskript, kostruzzjonijiet addizzjonali minn Runtime jiddaħħlu fil-kodiċi.

Is-sistema ta 'parallelizzazzjoni tal-iskript tal-qoxra PaSh taqa' taħt il-ġwienaħ tal-Fondazzjoni Linux

Pereżempju, skript li jipproċessa żewġ fajls f1.md u 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/$/ kliem imfissra ħażin!/' normalment jipproċessa żewġ fajls b'mod sekwenzjali:

Is-sistema ta 'parallelizzazzjoni tal-iskript tal-qoxra PaSh taqa' taħt il-ġwienaħ tal-Fondazzjoni Linux
u meta titnieda taħt il-kontroll ta 'PaSh, se jkun maqsum f'żewġ ħjut eżegwiti simultanjament, li kull wieħed minnhom jipproċessa l-fajl tiegħu stess:
Is-sistema ta 'parallelizzazzjoni tal-iskript tal-qoxra PaSh taqa' taħt il-ġwienaħ tal-Fondazzjoni Linux


Sors: opennet.ru

Żid kumment