PaSh кабык сценарийин параллелизациялоо системасы Linux Фондунун канатына кирет

Shell скрипттерин параллелдүү аткаруу үчүн куралдарды иштеп чыккан PaSh долбоору өнүгүүнү улантуу үчүн зарыл болгон инфраструктураны жана кызматтарды камсыздай турган Linux Фондунун колдоосу астында өтүп жатканын жарыялады. Долбоордун коду MIT лицензиясы боюнча таратылат жана Python, Shell, C жана OCaml компоненттерин камтыйт.

PaSh JIT компиляторун, иштөө убактысын жана аннотация китепканасын камтыйт:

  • Runtime скрипттердин параллелдүү аткарылышын колдоо үчүн примитивдердин топтомун камсыз кылат.
  • Аннотациялар китепканасы жеке POSIX жана GNU Coreutils буйруктарын параллелдештирүүгө уруксат берилген жагдайларды сүрөттөгөн касиеттердин жыйындысын аныктайт.
  • Компилятор тез арада сунушталган Shell сценарийин абстракттуу синтаксис дарагына (AST) талдап, аны параллелдүү аткарууга ылайыктуу фрагменттерге бөлөт жана алардын негизинде скрипттин жаңы версиясын түзөт, анын бөлүктөрү бир эле учурда аткарылышы мүмкүн. Параллелдештирүү мүмкүнчүлүгүн берген командалар жөнүндө маалымат компилятор тарабынан аннотациялар китепканасынан алынат. Скрипттин параллелдүү иштеп жаткан версиясын түзүү процессинде кодго Runtime кошумча конструкциялары киргизилет.

PaSh кабык сценарийин параллелизациялоо системасы Linux Фондунун канатына кирет

Мисалы, эки файлды иштеткен скрипт f1.md жана f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | сорт | uniq | comm -13 dict.txt — > чыгып cat out | wc -l | sed 's/$/ туура эмес жазылган сөздөр!/' адатта эки файлды ырааттуу иштетет:

PaSh кабык сценарийин параллелизациялоо системасы Linux Фондунун канатына кирет
жана PaSh көзөмөлү астында ишке киргизилгенде, ал бир эле учурда аткарылуучу эки жипке бөлүнөт, алардын ар бири өзүнүн файлын иштетет:
PaSh кабык сценарийин параллелизациялоо системасы Linux Фондунун канатына кирет


Source: opennet.ru

Комментарий кошуу