Un framework pour gérer plusieurs instances de WebAssembly Micro Runtime (WAMR) sur des microcontrôleurs
CS4WAMR est un framework pour utiliser WAMR et permettre l’exécution de modules WebAssembly sur des instances séparées de WAMR.
CS4WAMR permet de combler des manques de WAMR comme l’absence de limitation de la consommation mémoire et des permissions par conteneur (WAMR permet seulement d’avoir des permissions globales partagées par tous les modules). CS4WAMR permet aussi d’ajouter de nouvelles fonctionnalités comme l’exécution des modules WebAssembly dans des fils dédiés et la sauvegarde des fils pour avoir un mécanisme d’instantané des conteneurs.
En séparant les pools de mémoire utilisée par les conteneurs, CS4WAMR est un premier pas pour permettre d’appliquer des mécanismes d’isolation matérielle entre les conteneurs et renforcer l’isolation entre les conteneurs.
CS4WAMR a été présenté avec le cas d’usage de TinyML as a Service sur microcontrôleurs multi-parties à la conférence internationale EWSN25.
Le framework et ses exemples sont disponibles sur GitHub sous licence MIT.