Το σύστημα παραλληλοποίησης σεναρίων κελύφους PaSh βρίσκεται υπό την πτέρυγα του Ιδρύματος Linux

Το έργο 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 — > έξω γάτα | wc -l | Το sed 's/$/ ανορθόγραφες λέξεις!/' κανονικά επεξεργαζόταν δύο αρχεία διαδοχικά:

Το σύστημα παραλληλοποίησης σεναρίων κελύφους PaSh βρίσκεται υπό την πτέρυγα του Ιδρύματος Linux
και όταν εκκινηθεί υπό τον έλεγχο του PaSh, θα χωριστεί σε δύο νήματα που εκτελούνται ταυτόχρονα, καθένα από τα οποία επεξεργάζεται το δικό του αρχείο:
Το σύστημα παραλληλοποίησης σεναρίων κελύφους PaSh βρίσκεται υπό την πτέρυγα του Ιδρύματος Linux


Πηγή: opennet.ru

Προσθέστε ένα σχόλιο