NanoLambda: Implementing Functions as a Service at All Resource Scales for the Internet of Things.

Gareth George, F. Bakir, R. Wolski, C. Krintz
{"title":"NanoLambda: Implementing Functions as a Service at All Resource Scales for the Internet of Things.","authors":"Gareth George, F. Bakir, R. Wolski, C. Krintz","doi":"10.1109/SEC50012.2020.00035","DOIUrl":null,"url":null,"abstract":"Internet of Things (IoT) devices are becoming increasingly prevalent in our environment, yet the process of programming these devices and processing the data they produce remains difficult. Typically, data is processed on device, involving arduous work in low level languages, or data is moved to the cloud, where abundant resources are available for Functions as a Service (FaaS) or other handlers. FaaS is an emerging category of flexible computing services, where developers deploy self-contained functions to be run in portable and secure containerized environments; however, at the moment, these functions are limited to running in the cloud or in some cases at the “edge” of the network using resource rich, Linux-based systems.In this paper, we present NanoLambda, a portable platform that brings FaaS, high-level language programming, and familiar cloud service APIs to non-Linux and microcontroller-based IoT devices. To enable this, NanoLambda couples a new, minimal Python runtime system that we have designed for the least capable end of the IoT device spectrum, with API compatibility for AWS Lambda and S3. NanoLambda transfers functions between IoT devices (sensors, edge, cloud), providing power and latency savings while retaining the programmer productivity benefits of high-level languages and FaaS. A key feature of NanoLambda is a scheduler that intelligently places function executions across multi-scale IoT deployments according to resource availability and power constraints. We evaluate a range of applications that use NanoLambda to run on devices as small as the ESP8266 with 64KB of ram and 512KB flash storage.","PeriodicalId":375577,"journal":{"name":"2020 IEEE/ACM Symposium on Edge Computing (SEC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE/ACM Symposium on Edge Computing (SEC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEC50012.2020.00035","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 18

Abstract

Internet of Things (IoT) devices are becoming increasingly prevalent in our environment, yet the process of programming these devices and processing the data they produce remains difficult. Typically, data is processed on device, involving arduous work in low level languages, or data is moved to the cloud, where abundant resources are available for Functions as a Service (FaaS) or other handlers. FaaS is an emerging category of flexible computing services, where developers deploy self-contained functions to be run in portable and secure containerized environments; however, at the moment, these functions are limited to running in the cloud or in some cases at the “edge” of the network using resource rich, Linux-based systems.In this paper, we present NanoLambda, a portable platform that brings FaaS, high-level language programming, and familiar cloud service APIs to non-Linux and microcontroller-based IoT devices. To enable this, NanoLambda couples a new, minimal Python runtime system that we have designed for the least capable end of the IoT device spectrum, with API compatibility for AWS Lambda and S3. NanoLambda transfers functions between IoT devices (sensors, edge, cloud), providing power and latency savings while retaining the programmer productivity benefits of high-level languages and FaaS. A key feature of NanoLambda is a scheduler that intelligently places function executions across multi-scale IoT deployments according to resource availability and power constraints. We evaluate a range of applications that use NanoLambda to run on devices as small as the ESP8266 with 64KB of ram and 512KB flash storage.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
NanoLambda:在物联网的所有资源尺度上实现功能即服务。
物联网(IoT)设备在我们的环境中变得越来越普遍,但对这些设备进行编程和处理它们产生的数据的过程仍然很困难。通常,数据是在设备上处理的,这涉及到用低级语言进行艰苦的工作,或者数据被移动到云上,那里有丰富的资源可用于功能即服务(FaaS)或其他处理程序。FaaS是一种新兴的灵活计算服务类别,开发人员在其中部署自包含的功能,以便在可移植和安全的容器化环境中运行;然而,目前,这些功能仅限于在云中运行,或者在某些情况下,使用资源丰富的基于linux的系统在网络的“边缘”运行。在本文中,我们介绍了NanoLambda,这是一个便携式平台,将FaaS,高级语言编程和熟悉的云服务api引入非linux和基于微控制器的物联网设备。为了实现这一点,NanoLambda结合了一个新的、最小的Python运行时系统,该系统是我们为物联网设备频谱中功能最弱的一端设计的,具有AWS Lambda和S3的API兼容性。NanoLambda在物联网设备(传感器、边缘、云)之间传输功能,提供功耗和延迟节省,同时保留高级语言和FaaS的程序员生产力优势。NanoLambda的一个关键特性是调度程序,它可以根据资源可用性和功率限制智能地在多规模物联网部署中执行功能。我们评估了一系列使用NanoLambda的应用程序,这些应用程序可以在小到具有64KB ram和512KB闪存的ESP8266设备上运行。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Position Paper: Towards a Robust Edge-Native Storage System Exploring Decentralized Collaboration in Heterogeneous Edge Training Message from the Program Co-Chairs FareQR: Fast and Reliable Screen-Camera Transfer System for Mobile Devices using QR Code Demo: EdgeVPN.io: Open-source Virtual Private Network for Seamless Edge Computing with Kubernetes
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1