【论文总结】[ATC '18] SAND:A high-performance serverless computing platform
SAND:A high-performance serverless computing platform
这是一篇来自ATC18的文章。这篇文章主要,介绍了一种高性能无服务器计算平台。有关Serverless的文章之前就有同学进行过介绍。
这是Serverless Computing最简单的一个计算模型。我们看到开发者和平台进行了分工合作。开发者只需要定义触发事件,同时上传函数代码。同时,Serverless 平台将负责计算资源的分配,响应用户的请求,完成用户函数的计算,将计算完成之后的结果返回给用户。
这样的计算模式带来了几条好处。首先,由于用户不用管理后端的服务器,不用管理程序的依赖,不用管理操作系统等等。可以享受云平台提供的连续可扩展性的计算服务。此外,由于用户可以专注于代码逻辑,而不是运维,所以能提升生产效率。开发者可以更快地让自己的产品上线。因此,从开发者的角度来看,Serverless Computing是很好的。
作为开发者,开发应用,就会利用这个Serverless平台,建立很多的应用的计算函数。这里以图像处理应用为例,开发者创建了四个函数,第一个是提取图片的元数据信息,第二个是信息处理,第三个是物体识别,第四个是resize图片大小。函数之间信息传递。形成一个workflow。
这里作者,将这个图像处理的应用,部署在了现有的三大Serverless平台上。通过对比总运行时间,以及任务计算时间,我们不难发现,真正处理计算任务的时间,占比总运行时间的大小,只有一半左右。这就说明,由于Serverless带来中间传递信息,以及函数启动时间等等开销,也就是平台带来的开销时间比较大。这样的结果,不利于应用进行频繁调用计算。会拖累应用的性能表现。
这里,作者提出了SAND,一个高性能无服务计算平台。主要实现的目标是,达到减少应用延迟的效果,同时高效利用资源。
这里先介绍一下背景,主要是现有的一些平台的情况,以及一些普遍的做法。
现有的一些平台,通常是使用容器来进行函数的运算和隔离;容器被安排在具有可用资源的宿主机上;容器处理完成任务之后,经过了一段时间之后,就会回收资源;容器与容器之间是通过一个消息总线来进行通讯。消息总线,可以是分布式的消息传递,或者是通过存储服务来实现消息传递。
这些是我们发现的常见做法。其中大多数功能,大多数服务都利用容器来隔离功能,这对功能执行以及这些系统实际处理并发性有一些影响。每当有新请求时,必须从头开始初始化容器,都可以从头开始创建新容器,这被称为冷启动。这不可避免地会导致较长的启动延迟。 当然这样不是最好的做法,我们可以实现热启动,启动了容器之后,继续运行它。这样我们就可以重复利用那些空闲的容器。这是热启动的做法。只要收到请求,我们可以将它们导向已经启动好的容器上运行。
但是,这种方式,不适合处理并发的请求。因为如果我为每一个并发的请求,都实现容器的热启动,那么我们提前保留的资源就会很多,这样不能达到资源的充分利用。如果不能保留热启动的容器,则会带来很长的应用响应延迟。这两点都是我们不希望看到的。
此外,我还发现,Function与Function之间的消息传递,以及数据交换,是通过相同的一个message bus的。总线效率的地下,也导致了系统性能表现的不佳。
两个核心Idea,是应用沙盒和分层消息总线。
【论文总结】[ATC '18] SAND:A high-performance serverless computing platform相关推荐
- 计算机领域hpec会议,2018 IEEE High Performance extreme Computing Conference HPEC
The IEEE High Performance Extreme Computing Conference (HPEC '18) will be held in the Greater Boston ...
- 如何高效阅读一篇论文?来自18位教授、主编和博士生的最好建议!
撰文 | Elisabeth Pain (翻译 何伟雄 :审校 魏潇) 文章来源自公众号科研圈(ID:keyanquan) 即便是专业的科研从业者,也无法做到像看小说一样阅读各类研究论文--许多研究者 ...
- ATC‘22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时
编者按:目前的安全容器软件栈 - 包括 host 操作系统中的 cgroup.guest 操作系统和用于函数工作负载的容器 rootfs,都会导致低部署密度和在低并发能力.为此,RunD 作为一种轻量 ...
- CHI论文阅读(1)EmoGlass: an End-to-End AI-Enabled Wearable Platform for Enhancing Self-Awareness of Emoti
文章目录 abstract introduction Related Work 用于健康感知的智能眼镜 情绪感知和检测 通过可穿戴设备进行面部表情识别 Hardware Design Form Fac ...
- 【论文解析】Fast Adaptive Task Offloading in Edge Computing Based on Meta Reinforcement Learning
基于元强化学习的边缘计算快速自适应任务卸载 摘要:多接入边缘计算(multi -access edge computing, MEC)旨在将云服务扩展到网络边缘,以减少网络流量和业务延迟.如何有效地将 ...
- Cloud Programming Simplified: A Berkerley View on Serverless Computing笔记
今天读了一篇加州大学伯克利分校发表的论文 Cloud Programming Simplified: A Berkeley View on Serverless Computing,文章对server ...
- Serverless 崛起背后的五大挑战
作者 | 科技云报道 众所周知,云计算的出现改变了传统 IT 架构和运维方式,而以容器.微服务为代表的技术更是在各个层面不断升级云服务的技术能力,它们将应用和环境中的很多通用能力变成了一种服务. Se ...
- aws lambda_AWS Lambda –无服务器编程
aws lambda AWS Lambda is serverless programming. Serverless programming help to ease out the deploym ...
- ACA云原生4微服务和Serverless架构
1 企业应用架构的演进与微服务架构 1.1 企业应用架构的演进 单体应用 SOA(Service Oriented Architecture),2000年出现 1.2 微服务架构与微服务框架 微服务出 ...
最新文章
- @ControllerAdvice注解(全局异常捕获)
- kafka 重复消费和数据丢失_刨根问底,Kafka消息中间件到底会不会丢消息
- php为图片添加渐变背景,HTML_CSS实例:通过定义渐变边框给图片加阴影,一般我们可以使用背景图的方 - phpStudy...
- Vue全家桶 之 Vue基础
- android访问静态内部类,Java 内部类详解
- EntytyFramework批量更新
- 聚类:Python遗传算法
- X1000对于camera控制部分的翻译
- 网页web腾讯云webIM开发记录(一)
- 1.槑 2.囧 3.烎 4.兲 5.氼 6.砳 7.嘦 8.嫑 9.嘂 10.圐圙 11.玊 12.孖 13.砼 怎么读
- 模仿QQ空间 网页设计
- 帮我写一份情书给在一起200天的女朋友,要求1000字
- 【中等】Leetcode-旋转链表//题目分析//首尾相连
- MyBatis中的resultMap两个association
- Python开发技术—网络爬虫
- cortex m3/m4处理器的复位设计
- .NET使用MailKit进行邮件处理
- 图像处理之Gamma校正
- vue js 进来页面自动播放背景音乐
- 【华为 OJ】密码验证合格程序
热门文章
- 经验之谈,关于HOG调参:对matlab和opencv作对比
- Git、Gitee简单操作
- 在线传单制作工具介绍
- VMware NSX Advanced Load Balancer (NSX ALB) 22.1.3 - 负载均衡平台
- 热塑性塑料注射成型中的常见缺陷及产生原因
- 爆炸性事件!刚刚,拼多多超越阿里成为第一,黄峥就辞任董事长,要去当科学家!股价一度暴跌9%,承诺三年不减持...
- 博物馆文创:打造“最后一个展厅”
- django从零开始引入bootstrap模板
- 【k8s源码篇之Informer篇4】关于 Informer 的一些困惑点
- 京东api接口文档:获取京东APP端商品详情原数据 调用示例