Flock: Towards Multitasking Virtual Machines for Function-as-a-Service

IEEE Transactions on Computers(2023)

引用 0|浏览7
暂无评分
摘要
FaaS, or function as a service, promises unprecedented cost-efficiency and elasticity thanks to its on-demand and fine-grained execution nature. However, modern FaaS platforms mainly adopt virtual machines (VMs) or containers as a computing abstraction, which incurs costs like high startup latency, large memory footprint, and high communication overhead. Multi-tasking virtual machines (MVMs), which allow co-executing multiple functions in the same managed language runtime, are appealing for FaaS due to their lightweight nature. Unfortunately, existing MVMs are not designed for FaaS. The proposed abstraction of MVMs does not provide specialized support for fine-grained, latency-sensitive functions and their chain-like execution patterns. Meanwhile, the underlying runtime still contains many global modules and lacks essential support for function-level resource accounting and isolation. To this end, this work proposes Flock , a retrofitted MVM for FaaS execution, which provides FaaS-aware abstractions named funclets and enhanced runtime support for isolation. Flock is implemented atop the HotSpot JVM of OpenJDK 8. Performance evaluation shows that Flock results in up to three orders of magnitude performance improvement over state-of-the-art FaaS platforms like OpenWhisk while providing sufficient isolation support for FaaS functions.
更多
查看译文
关键词
Java,runtime environments,function-as-a-service
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要