Το Wasmer 2.0 έχει ήδη κυκλοφορήσει και διαθέτει SIMD, βελτιώσεις και πολλά άλλα

Μετά από σχεδόν έξι μήνες από την κυκλοφορία της πρώτης έκδοσης, ανακοινώθηκε η κυκλοφορία της νέας έκδοσης του έργου Wasmer, η οποία βρίσκεται στη δεύτερη κύρια έκδοση και στις οποίες έχουν γίνει σημαντικές αλλαγές σε τέτοιο βαθμό που τα εσωτερικά API σε αυτήν τη δεύτερη έκδοση δεν είναι συμβατά, αν και έχουν προστεθεί νέες δυνατότητες που προσθέτουν σταθερότητα, ασφάλεια και βελτιώσεις απόδοσης.

Για όσους δεν το γνωρίζουν Wasmer, θα πρέπει να γνωρίζετε ότι αναπτύσσει ένα χρόνο εκτέλεσης για την εκτέλεση λειτουργικών μονάδων WebAssembly που μπορεί να χρησιμοποιηθεί για τη δημιουργία καθολικών εφαρμογών που μπορούν να εκτελεστούν σε πολλά λειτουργικά συστήματα και για την εκτέλεση μη αξιόπιστου κώδικα μεμονωμένα.

Η φορητότητα παρέχεται με τη μεταγλώττιση του κώδικα της εφαρμογής σε ενδιάμεσο λογισμικό WebAssembly χαμηλού επιπέδου Μπορεί να τρέξει σε οποιοδήποτε λειτουργικό σύστημα ή να ενσωματωθεί σε προγράμματα σε άλλες γλώσσες προγραμματισμού. Τα προγράμματα είναι ελαφριά κοντέινερ που εκτελούν ψευδοκώδικα WebAssembly.

Αυτοί Τα κοντέινερ δεν συνδέονται με το λειτουργικό σύστημα και μπορούν να περιλαμβάνουν κώδικα που γράφτηκε αρχικά σε οποιαδήποτε γλώσσα προγραμματισμός. Η εργαλειοθήκη Emscripten μπορεί να χρησιμοποιηθεί για τη μεταγλώττιση στο WebAssembly. Για τη μετάφραση του WebAssembly σε τρέχοντα κώδικα μηχανής πλατφόρμας, υποστηρίζεται η σύνδεση διαφορετικών δομών υποστήριξης (Singlepass, Cranelift, LLVM) και μηχανών (με χρήση JIT ή δημιουργίας κώδικα μηχανής).

Ο έλεγχος πρόσβασης και η αλληλεπίδραση με το σύστημα παρέχονται από το WASI (WebAssembly System Interface) API, το οποίο παρέχει διεπαφές προγραμματισμού για εργασία με αρχεία, υποδοχές και άλλες λειτουργίες που παρέχονται από το λειτουργικό σύστημα.

Οι εφαρμογές απομονώνονται από το κύριο σύστημα και έχουν πρόσβαση μόνο στη δηλωμένη λειτουργικότητα (μηχανισμός ασφαλείας που βασίζεται σε δυνατότητες διαχείρισης για ενέργειες με κάθε έναν από τους πόρους (αρχεία, κατάλογοι, υποδοχές, κλήσεις συστήματος κ.λπ.).

Οι κύριες καινοτομίες του Wasmer 2.0

Σε αυτή τη νέα έκδοση που παρουσιάζεται, αναφέρεται ότι η σημαντική αλλαγή στον αριθμό έκδοσης του Wasmer σχετίζεται με την εισαγωγή αλλαγών ασυμβατότητας στο εσωτερικό API, το οποίο, σύμφωνα με τους προγραμματιστές, δεν θα επηρεάσει το 99% των χρηστών από την πλατφόρμα με οποιονδήποτε τρόπο.

Μια αλλαγή στη μορφή των σειριακών μονάδων Wasm παρατηρείται επίσης μεταξύ σημαντικών αλλαγών συμβατότητας (οι μονάδες που έχουν σειριοποιηθεί στο Wasmer 1.0 δεν θα μπορούν να χρησιμοποιηθούν στο Wasmer 2.0).

Επιπλέον, επισημαίνεται η υποστήριξη για οδηγίες SIMD (Μονή εντολή, πολλαπλά δεδομένα) ότι επιτρέπει την παραλληλοποίηση των λειτουργιών δεδομένων. Οι τομείς όπου η χρήση του SIMD μπορεί να αυξήσει σημαντικά την παραγωγικότητα περιλαμβάνουν τη μηχανική εκμάθηση, την κωδικοποίηση και αποκωδικοποίηση βίντεο, την επεξεργασία εικόνας, την προσομοίωση φυσικής διαδικασίας και τον χειρισμό γραφικών.

Επίσης επισημαίνεται η υποστήριξη για τύπους αναφοράς, επιτρέποντας στις μονάδες Wasm να έχουν πρόσβαση σε πληροφορίες σε άλλες μονάδες ή στο βασικό περιβάλλον και έχουν πραγματοποιηθεί σημαντικές βελτιστοποιήσεις απόδοσης. Η ταχύτητα του χρόνου εκτέλεσης LLVM με αριθμούς κινητής υποδιαστολής έχει αυξηθεί κατά περίπου 50%.

Οι κλήσεις συναρτήσεων έχουν επιταχυνθεί σημαντικά μειώνοντας τις καταστάσεις που απαιτούν κλήσεις στον πυρήνα. Η απόδοση της γεννήτριας κωδικών Cranelift έχει αυξηθεί κατά 40%. Μειωμένος χρόνος αφαίρεσης δεδομένων. Για να αντικατοπτρίζει με μεγαλύτερη ακρίβεια την ουσία, τα ονόματα των κινητήρων έχουν αλλάξει: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

Τελικά Εάν ενδιαφέρεστε να μάθετε περισσότερα για το Wasmer, θα πρέπει να γνωρίζετε ότι ο κωδικός του έργου είναι γραμμένος σε Rust, έχει την άδεια MIT και μπορείτε να ελέγξετε τα στοιχεία του στην επίσημη ιστοσελίδα του στη διεύθυνση παρακάτω σύνδεσμο.

Εγκαταστήστε το χρόνο εκτέλεσης Wasmer

Από την άλλη πλευρά, για όσους ενδιαφέρονται να μπορούν να τρέξουν το κοντέινερ WebAssembly, πρέπει απλώς να εγκαταστήσουν το χρόνο εκτέλεσης Wasmer στο σύστημά σας, το οποίο δεν συνοδεύεται από εξωτερικές εξαρτήσεις.

Είναι σημαντικό να το αναφέρω αυτό Το Wasmer μπορεί να εκτελεστεί σε οποιαδήποτε πλατφόρμα macOS, Linux και Windows, η μόνη απαίτηση είναι ο χρόνος εκτέλεσης του να είναι εγκατεστημένος στο σύστημά σας.

Για να το κάνετε αυτό, απλά εκτελέστε την ακόλουθη εντολή σε ένα τερματικό:

curl https://get.wasmer.io -sSfL | sh

Και μετά από αυτό, θα πρέπει να εκτελέσουν το απαιτούμενο αρχείο:

wasmer test.wasm

Εάν θέλετε να μάθετε περισσότερα για το πώς λειτουργεί το Wasmer ή θέλετε να μάθετε τον πηγαίο κώδικα του, μπορείτε να συμβουλευτείτε όλα αυτά Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.