
FAASMは、高性能のステートフルなサーバーレスランタイムです。
FAASMはマルチテナントの分離を提供しますが、機能がメモリの領域を共有できるようにします。これらの共有メモリ領域は、低遅延の同時アクセスをデータに与え、複数のホストで大規模な並列性をサポートするためにグローバルに同期されています。
FAASMは、ソフトウェア障害の分離をWebAssemblyと標準のLinuxツールと組み合わせて、低コストでセキュリティとリソースの分離を提供します。 FAASMは、単一のランタイムプロセスのスレッドとして機能を並べて実行します。
FAASMは、WASIを拡張して関数入力と出力、チェーン機能、状態の管理、分散ファイルシステムへのアクセス、動的リンク、PTHREADS、OpenMP、MPIを含めるように拡張するカスタムホストインターフェイスを定義します。
Faasmに関するUsenix ATC '20の私たちの論文は、ここにあります。
コードとアーキテクチャの詳細については、完全なドキュメントをご覧ください。
サブモジュールを更新し、仮想環境をアクティブにします。
git submodule update --init --recursive
source ./bin/workon.sh docker composeを使用して、局所的にFAASMクラスターを起動します。
faasmctl deploy.composeこのローカルクラスターを使用してC ++関数をコンパイル、アップロード、および呼び出すには、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 hello次のステップの詳細については、Getting Wart Docsを見ることができます
このプロジェクトは、助成金No 825184(CloudButton)、英国工学および物理科学研究評議会(EPSRC)賞1973141、およびTFAASプロジェクトに基づくIntel Corporationからの贈答品に基づく欧州連合2020研究およびイノベーションプログラムから資金を受け取っています。