Amino - A Distributed Runtime for Applications Running Dynamically Across Device, Edge and Cloud

Ying Xiong, Donghui Zhuo, Sungwook Moon, Michael Xie, Isaac Ackerman, Quinton Hoole
{"title":"Amino - A Distributed Runtime for Applications Running Dynamically Across Device, Edge and Cloud","authors":"Ying Xiong, Donghui Zhuo, Sungwook Moon, Michael Xie, Isaac Ackerman, Quinton Hoole","doi":"10.1109/SEC.2018.00046","DOIUrl":null,"url":null,"abstract":"This paper presents a framework and runtime system, Amino, for developing and executing distributed applications in highly dynamic computing environment consisting of cloud resources, edge nodes and/or devices such as phones and smart cameras. This work is based on Sapphire [1] - a general-purpose distributed programming platform. In Sapphire, application objects (called Sapphire Objects) run inside kernel servers (KS), and Kernel server instance runs on every device or cloud node. Between Kernel Server and an application object is a layer called Deployment Manager (DM). Inbound and outbound communications to/from Sapphire objects will be intercepted and processed by deployment manager. Each DM provides one specific distributed system capabilities, e.g. caching, resource leasing, replication, data partitioning etc. Programmers selectively choose DMs to manage Sapphire objects. As part of this work (Amino), we re-implemented and extended Sapphire platform to support the invocation of methods on objects written in multiple languages and to support attaching multiple DMs to a Sapphire object for increased distribution capabilities. Finally, in the work, we introduce a code offloading design for dynamically moving application objects between devices and cloud servers at runtime to optimize a user specified objective, e.g. to reduce latency or to save energy consumption.","PeriodicalId":376439,"journal":{"name":"2018 IEEE/ACM Symposium on Edge Computing (SEC)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE/ACM Symposium on Edge Computing (SEC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEC.2018.00046","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

This paper presents a framework and runtime system, Amino, for developing and executing distributed applications in highly dynamic computing environment consisting of cloud resources, edge nodes and/or devices such as phones and smart cameras. This work is based on Sapphire [1] - a general-purpose distributed programming platform. In Sapphire, application objects (called Sapphire Objects) run inside kernel servers (KS), and Kernel server instance runs on every device or cloud node. Between Kernel Server and an application object is a layer called Deployment Manager (DM). Inbound and outbound communications to/from Sapphire objects will be intercepted and processed by deployment manager. Each DM provides one specific distributed system capabilities, e.g. caching, resource leasing, replication, data partitioning etc. Programmers selectively choose DMs to manage Sapphire objects. As part of this work (Amino), we re-implemented and extended Sapphire platform to support the invocation of methods on objects written in multiple languages and to support attaching multiple DMs to a Sapphire object for increased distribution capabilities. Finally, in the work, we introduce a code offloading design for dynamically moving application objects between devices and cloud servers at runtime to optimize a user specified objective, e.g. to reduce latency or to save energy consumption.
氨基-一个分布式运行时的应用程序动态运行跨设备,边缘和云
本文提出了一个框架和运行时系统Amino,用于在由云资源、边缘节点和/或手机和智能相机等设备组成的高度动态计算环境中开发和执行分布式应用程序。这项工作是基于蓝宝石[1]——一个通用的分布式编程平台。在蓝宝石中,应用程序对象(称为蓝宝石对象)在内核服务器(KS)中运行,内核服务器实例在每个设备或云节点上运行。在内核服务器和应用程序对象之间是一个称为部署管理器(DM)的层。进出Sapphire对象的入站和出站通信将由部署管理器拦截和处理。每个DM提供一种特定的分布式系统功能,例如缓存、资源租赁、复制、数据分区等。程序员有选择地选择dm来管理蓝宝石对象。作为这项工作(氨基)的一部分,我们重新实现和扩展了蓝宝石平台,以支持调用用多种语言编写的对象上的方法,并支持将多个dm附加到蓝宝石对象上,以增强分发功能。最后,在工作中,我们引入了一种代码卸载设计,用于在运行时在设备和云服务器之间动态移动应用程序对象,以优化用户指定的目标,例如减少延迟或节省能耗。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信