Het PaSh-shellscript-parallellisatiesysteem valt onder de vleugels van de Linux Foundation

Het PaSh-project, dat tools ontwikkelt voor de parallelle uitvoering van shell-scripts, heeft aangekondigd dat het onder auspiciën van de Linux Foundation gaat staan, die de infrastructuur en diensten zal leveren die nodig zijn om de ontwikkeling voort te zetten. De projectcode wordt gedistribueerd onder de MIT-licentie en bevat componenten in Python, Shell, C en OCaml.

PaSh bevat een JIT-compiler, runtime- en annotatiebibliotheek:

  • Runtime biedt een set primitieven ter ondersteuning van de parallelle uitvoering van scripts.
  • De annotatiebibliotheek definieert een reeks eigenschappen die situaties beschrijven waarin parallellisatie van individuele POSIX- en GNU Coreutils-opdrachten is toegestaan.
  • De compiler ontleedt het voorgestelde Shell-script on-the-fly in een abstracte syntaxisboom (AST), verdeelt het in fragmenten die geschikt zijn voor parallelle uitvoering, en vormt op basis daarvan een nieuwe versie van het script, waarvan delen tegelijkertijd kunnen worden uitgevoerd. Informatie over opdrachten die parallellisatie mogelijk maken, wordt door de compiler uit de annotatiebibliotheek gehaald. Tijdens het genereren van een parallel lopende versie van het script worden aanvullende constructies uit Runtime in de code ingevoegd.

Het PaSh-shellscript-parallellisatiesysteem valt onder de vleugels van de Linux Foundation

Bijvoorbeeld een script dat twee bestanden f1.md en f2.md verwerkt cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | sorteer | uniek | comm -13 dict.txt —> uit kat uit | wc -l | sed 's/$/ verkeerd gespelde woorden!/' zou normaal gesproken twee bestanden opeenvolgend verwerken:

Het PaSh-shellscript-parallellisatiesysteem valt onder de vleugels van de Linux Foundation
en wanneer het wordt gelanceerd onder de controle van PaSh, zal het worden verdeeld in twee gelijktijdig uitgevoerde threads, die elk hun eigen bestand verwerken:
Het PaSh-shellscript-parallellisatiesysteem valt onder de vleugels van de Linux Foundation


Bron: opennet.ru

Voeg een reactie