
Faasm هو وقت تشغيل خادم عالي الأداء.
يوفر Faasm عزلًا متعدد المستأجرين ، لكنه يسمح للوظائف بمشاركة مناطق الذاكرة. تتيح مناطق الذاكرة المشتركة هذه الوصول المتزامن إلى البيانات المنخفضة إلى البيانات ، ويتم مزامنتها عالميًا لدعم التوازي على نطاق واسع عبر مضيفين متعددين.
يجمع Faasm بين عزل خطأ البرامج عن Webassembly مع أدوات Linux القياسية ، لتوفير الأمن وعزل الموارد بتكلفة منخفضة. يقوم Faasm بتشغيل وظائف جنبًا إلى جنب كخيط لعملية وقت تشغيل واحدة ، مع انخفاض النفقات العامة وأوقات التمهيد السريعة.
يعرّف FAASM واجهة مضيف مخصصة تمد WASI لتشمل مدخلات ومخرجات الوظيفة ، وظائف التسلسل ، وإدارة الحالة ، والوصول إلى نظام الملفات الموزعة ، والربط الديناميكي ، و PTHREADS ، و OPERMP و MPI.
يمكن العثور على ورقة من Usenix ATC '20 على Faasm هنا.
يرجى الاطلاع على الوثائق الكاملة لمزيد من التفاصيل حول الرمز والهندسة المعمارية.
تحديث العارض الفرعي وتنشيط البيئة الافتراضية:
git submodule update --init --recursive
source ./bin/workon.sh ابدأ مجموعة Faasm محليًا باستخدام docker compose :
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لمزيد من المعلومات حول الخطوات التالية ، يمكنك إلقاء نظرة على مستندات البدء
تلقى هذا المشروع تمويلًا من برنامج الأبحاث والابتكار في الأفق في الاتحاد الأوروبي بموجب اتفاقية المنحة رقم 825184 (Cloudbutton) ، وجائزة مجلس أبحاث الهندسة والعلوم الفيزيائية في المملكة المتحدة (EPSRC) لعام 1973141 ، وهدية من Intel Corporation بموجب مشروع TFAAS.