Das PaSh-Shell-Skript-Parallelisierungssystem steht unter der Fittiche der Linux Foundation

Das PaSh-Projekt, das Tools für die parallele Ausführung von Shell-Skripten entwickelt, hat angekündigt, dass es unter der Schirmherrschaft der Linux Foundation steht, die die für die weitere Entwicklung erforderliche Infrastruktur und Dienste bereitstellen wird. Der Projektcode wird unter der MIT-Lizenz vertrieben und umfasst Komponenten in Python, Shell, C und OCaml.

PaSh enthält einen JIT-Compiler, eine Laufzeit- und Annotationsbibliothek:

  • Runtime bietet eine Reihe von Grundelementen zur Unterstützung der parallelen Ausführung von Skripten.
  • Die Annotationsbibliothek definiert eine Reihe von Eigenschaften, die Situationen beschreiben, in denen die Parallelisierung einzelner POSIX- und GNU Coreutils-Befehle zulässig ist.
  • Der Compiler analysiert das vorgeschlagene Shell-Skript im laufenden Betrieb in einen abstrakten Syntaxbaum (AST), zerlegt ihn in für die parallele Ausführung geeignete Fragmente und erstellt auf dieser Grundlage eine neue Version des Skripts, von der Teile gleichzeitig ausgeführt werden können. Informationen zu Befehlen, die eine Parallelisierung ermöglichen, entnimmt der Compiler der Annotationsbibliothek. Beim Generieren einer parallel laufenden Version des Skripts werden zusätzliche Konstrukte aus Runtime in den Code eingefügt.

Das PaSh-Shell-Skript-Parallelisierungssystem steht unter der Fittiche der Linux Foundation

Beispielsweise ein Skript, das zwei Dateien f1.md und f2.md, cat f1.md f2.md | verarbeitet tr AZ az | tr -cs A-Za-z '\n' | sortieren | einzigartig | comm -13 dict.txt — > out cat out | wc -l | sed 's/$/ falsch geschriebene Wörter!/' würde normalerweise zwei Dateien nacheinander verarbeiten:

Das PaSh-Shell-Skript-Parallelisierungssystem steht unter der Fittiche der Linux Foundation
und wenn es unter der Kontrolle von PaSh gestartet wird, wird es in zwei gleichzeitig ausgeführte Threads aufgeteilt, von denen jeder seine eigene Datei verarbeitet:
Das PaSh-Shell-Skript-Parallelisierungssystem steht unter der Fittiche der Linux Foundation


Source: opennet.ru

Kommentar hinzufügen