The serverless and functions as a service (FaaS) paradigms are currently trending among cloud providers and are now increasingly being applied to the network edge, and to the Internet of Things (IoT) devices. The benefits include reduced latency for communication, less network traffic and increased privacy for data processing. However, there are challenges as IoT devices have limited resources for running multiple simultaneous containerized functions, and also FaaS does not typically support long-running functions. Our implementation utilizes Docker and CRIU for checkpointing and suspending long-running blocking functions. The results show that checkpointing is slightly slower than regular Docker pause, but it saves memory and allows for more long-running functions to be run on an IoT device. Furthermore, the resulting checkpoint files are small, hence they are suitable for live migration and backing up stateful functions, therefore improving availability and reliability of the system.
翻译:无服务器模式和功能作为服务(FaaS)的范例目前正在云端供应商中发展,现在越来越多地应用于网络边缘和Things(IoT)装置的互联网,其好处包括通信延迟时间减少,网络流量减少,数据处理隐私增加;然而,由于IoT装置用于运行多个同时集装箱功能的资源有限,而且FaaS通常不支持长期运行的功能。我们的实施利用Docker和CRIU进行检查站检查和暂停长期运行的阻塞功能。结果显示,检查站比正常的Docker暂停时间略慢一些,但它保存了记忆,允许在IoT装置上运行更长的功能。此外,由此产生的检查站档案也很小,因此适合实时迁移和备份状态功能,从而改进了系统的可用性和可靠性。