PaSh-skalskriptparallelliseringssystem kommer under Linux Foundations vingar

PaSh-projektet, som utvecklar verktyg för parallell exekvering av skalskript, har meddelat att det rör sig under Linux Foundations regi, som kommer att tillhandahålla den infrastruktur och tjänster som krävs för att fortsätta utvecklingen. Projektkoden distribueras under MIT-licensen och inkluderar komponenter i Python, Shell, C och OCaml.

PaSh inkluderar en JIT-kompilator, runtime och anteckningsbibliotek:

  • Runtime tillhandahåller en uppsättning primitiver för att stödja parallell exekvering av skript.
  • Anteckningsbiblioteket definierar en uppsättning egenskaper som beskriver situationer där parallellisering av individuella POSIX- och GNU Coreutils-kommandon är tillåten.
  • Kompilatorn parsar i farten det föreslagna Shell-skriptet till ett abstrakt syntaxträd (AST), bryter upp det i fragment som lämpar sig för parallell exekvering och bygger på dem en ny version av skriptet, vars delar kan köras samtidigt. Information om kommandon som tillåter parallellisering hämtas av kompilatorn från anteckningsbiblioteket. I processen att generera en parallellkörande version av skriptet infogas ytterligare konstruktioner från Runtime i koden.

PaSh-skalskriptparallelliseringssystem kommer under Linux Foundations vingar

Till exempel ett skript som bearbetar två filer f1.md och f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | sortera | unik | comm -13 dict.txt — > ut katt ut | wc -l | sed 's/$/ felstavade ord!/' skulle normalt bearbeta två filer sekventiellt:

PaSh-skalskriptparallelliseringssystem kommer under Linux Foundations vingar
och när den startas under kontroll av PaSh kommer den att delas upp i två samtidigt körda trådar, som var och en bearbetar sin egen fil:
PaSh-skalskriptparallelliseringssystem kommer under Linux Foundations vingar


Källa: opennet.ru

Lägg en kommentar