
FAASM est un exécution de serveurs à haute performance.
FAASM fournit un isolement multi-locataire, mais permet aux fonctions de partager des régions de mémoire. Ces régions de mémoire partagées donnent un accès silencieux à faible latence aux données et sont synchronisés à l'échelle mondiale pour prendre en charge le parallélisme à grande échelle sur plusieurs hôtes.
FAASM combine l'isolement des défauts du logiciel de WebAssembly avec des outils Linux standard, pour assurer la sécurité et l'isolement des ressources à faible coût. FAASM fonctionne côte à côte en tant que threads d'un seul processus d'exécution, avec des frais généraux faibles et des temps de démarrage rapides.
FAASM définit une interface hôte personnalisée qui étend WASI pour inclure les entrées et sorties de fonction, les fonctions de chaînage, la gestion de l'état, l'accès au système de fichiers distribué, la liaison dynamique, les Pthreads, l'OpenMP et le MPI.
Notre article d'Usenix ATC '20 sur Faasm peut être trouvé ici.
Veuillez consulter la documentation complète pour plus de détails sur le code et l'architecture.
Mettez à jour les sous-modules et activez l'environnement virtuel:
git submodule update --init --recursive
source ./bin/workon.sh Démarrez un cluster FAASM localement à l'aide docker compose :
faasmctl deploy.composePour compiler, télécharger et invoquer une fonction C ++ à l'aide de ce cluster local, vous pouvez utiliser le conteneur Faasm / CPP:
faasmctl cli.cpp
# Compile the demo function
inv func demo hello
# Upload the demo "hello" function
inv func.upload demo hello
# Invoke the function
inv func.invoke demo helloPour plus d'informations sur les prochaines étapes, vous pouvez consulter les documents de démarrage
Ce projet a reçu un financement du programme de recherche et d'innovation Horizon 2020 de l'Union européenne en vertu de l'accord de subvention n ° 825184 (Cloudbutton), du prix du Royaume-Uni en matière de recherche sur les sciences de l'ingénierie et de la science physique (EPSRC) 1973141, et un cadeau d'Intel Corporation dans le cadre du projet TFAAS.