
Faasm es un tiempo de ejecución sin servidor con estado de alto rendimiento.
Faasm proporciona un aislamiento de múltiples inquilinos, pero permite que las funciones compartan regiones de la memoria. Estas regiones de memoria compartidas brindan acceso concurrente de baja latencia a los datos y se sincronizan a nivel mundial para admitir el paralelismo a gran escala en múltiples hosts.
Faasm combina el aislamiento de fallas de software de WebAssembly con herramientas estándar de Linux, para proporcionar seguridad y aislamiento de recursos a bajo costo. Faasm ejecuta funciones uno al lado del otro como hilos de un solo proceso de tiempo de ejecución, con bajos sobrecargas y tiempos de arranque rápidos.
FAASM define una interfaz host personalizada que extiende WASI para incluir entradas y salidas de funciones, funciones de encadenamiento, administración del estado, acceder al sistema de archivos distribuidos, vinculación dinámica, PTHreads, OpenMP y MPI.
Nuestro artículo de Usenix ATC '20 en Faasm se puede encontrar aquí.
Consulte la documentación completa para obtener más detalles sobre el código y la arquitectura.
Actualizar submódulos y activar el entorno virtual:
git submodule update --init --recursive
source ./bin/workon.sh Inicie un clúster Faasm localmente usando docker compose :
faasmctl deploy.composePara compilar, cargar e invocar una función C ++ utilizando este clúster local, puede usar el contenedor 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 helloPara obtener más información sobre los próximos pasos, puede ver los documentos de Getting Start
Este proyecto ha recibido fondos del Programa de Investigación e Innovación del Horizon 2020 de la Unión Europea bajo el Acuerdo de subvención no 825184 (CloudButton), el Premio del Consejo de Investigación de Ciencias Físicas y Ciencias Físicas del Reino Unido (EPSRC) 1973141, y un regalo de Intel Corporation bajo el Proyecto TFAAS.