Сістэма распаралельвання 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 A-Z-Z | 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

Дадаць каментар