Wasmer 2.0 został już wydany i zawiera SIMD, ulepszenia i nie tylko

Po prawie sześciu miesiącach od premiery pierwszej wersji, ogłoszono start nowej wersji projektu Wasmer, który jest w drugiej wersji głównej i w którym dokonano ważnych zmian w takim stopniu, że wewnętrzne interfejsy API w tej drugiej wersji są niekompatybilne, chociaż dodano również nowe funkcje, które zwiększają stabilność, bezpieczeństwo i wydajność.

Dla nieświadomych Wasmer, powinieneś wiedzieć, że rozwija środowisko wykonawcze do wykonywania modułów WebAssembly które mogą być używane do tworzenia uniwersalnych aplikacji, które mogą działać w wielu systemach operacyjnych i do samodzielnego uruchamiania niezaufanego kodu.

Przenośność zapewnia kompilacja kodu aplikacji do niskopoziomowego oprogramowania pośredniczącego WebAssembly Może działać na dowolnym systemie operacyjnym lub być zintegrowany z programami w innych językach programowania. Programy to lekkie kontenery, które uruchamiają pseudokod WebAssembly.

te kontenery nie są powiązane z systemem operacyjnym i mogą zawierać kod oryginalnie napisany w dowolnym języku programowanie. Emscripten Toolkit może być używany do kompilacji do WebAssembly. Aby przetłumaczyć WebAssembly na bieżący kod maszynowy platformy, obsługiwane jest łączenie różnych zapleczy kompilacji (Singlepass, Cranelift, LLVM) i silników (przy użyciu JIT lub generowania kodu maszynowego).

Kontrolę dostępu i interakcję z systemem zapewnia interfejs API WASI (WebAssembly System Interface), który zapewnia interfejsy programistyczne do pracy z plikami, gniazdami i innymi funkcjami dostarczanymi przez system operacyjny.

Aplikacje są odizolowane od głównego systemu i mają dostęp tylko do zadeklarowanej funkcjonalności (mechanizm bezpieczeństwa oparty na możliwościach zarządzania akcjami z każdym z zasobów (pliki, katalogi, gniazda, wywołania systemowe itp.).

Główne nowości Wasmera 2.0

W prezentowanej nowej wersji wspomina się, że znacząca zmiana numeru wersji przez Wasmera wiąże się z wprowadzeniem zmian niezgodności do wewnętrznego API, które według twórców, nie wpłynie na 99% użytkowników z platformy w jakikolwiek sposób.

Wśród głównych zmian dotyczących kompatybilności nastąpiła również zmiana formatu serializowanych modułów Wasm (moduły serializowane w Wasmer 1.0 nie będą dostępne w Wasmer 2.0).

Ponadto, podświetlona jest obsługa instrukcji SIMD (Pojedyncza instrukcja, wiele danych), które umożliwiają zrównoleglenie operacji na danych data. Obszary, w których użycie SIMD może znacznie zwiększyć wydajność, obejmują uczenie maszynowe, kodowanie i dekodowanie wideo, przetwarzanie obrazu, symulację procesów fizycznych i manipulację grafiką.

Również podświetlona jest obsługa typów referencyjnych, umożliwienie modułom Wasm dostępu do informacji w innych modułach lub w środowisku bazowym oraz dokonano znaczących optymalizacji wydajności. Szybkość środowiska wykonawczego LLVM z liczbami zmiennoprzecinkowymi została zwiększona o około 50%.

Wywołania funkcji zostały znacznie przyspieszone dzięki ograniczeniu sytuacji wymagających wywołań jądra. Wydajność generatora kodów Cranelift została zwiększona o 40%. Skrócenie czasu deserializacji danych. Aby dokładniej odzwierciedlić istotę, zmieniono nazwy silników: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

W końcu Jeśli chcesz dowiedzieć się więcej o Wasmer, Powinieneś wiedzieć, że kod projektu jest napisany w języku Rust, posiada licencję MIT i możesz sprawdzić jego szczegóły na jego oficjalnej stronie internetowej pod adresem następujący link.

Zainstaluj środowisko wykonawcze Wasmer

Z drugiej strony, dla tych, którzy są zainteresowani możliwością uruchomienia kontenera WebAssembly, wystarczy zainstalować w systemie środowisko uruchomieniowe Wasmer, które jest dostarczane bez zewnętrznych zależności.

Należy o tym wspomnieć Wasmer można uruchomić na dowolnej platformie macOS, Linux i Windows, jedynym wymaganiem jest, aby jego środowisko wykonawcze było zainstalowane w systemie.

Aby to zrobić, po prostu uruchom następujące polecenie w terminalu:

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

Następnie muszą wykonać wymagany plik:

wasmer test.wasm

Jeśli chcesz dowiedzieć się więcej o działaniu Wasmer lub chcesz poznać jego kod źródłowy, możesz skonsultować się z tym wszystkim W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.