近日,阿里云函数计算产品团队撰写的关于 Serverless 调度的创新性论文,被云计算领域 ACM SoCC 国际会议长文录用。

去年阿里云函数计算团队首个提出在 FaaS 场景下的去中心化快速镜像分发技术,团队所作论文被计算机系统领域的顶级会议 USENIX ATC’21 录用,入选中国计算机协会(CCF)推荐 A 类国际会议列表;今年阿里云函数计算不断突破:发布基于函数画像的调度算法论文并被国际云计算的首要会议 ACM SoCC 录用,真正做到能够保证提升函数资源利用率的同时,达到性能高稳定性。

ACM Symposium on Cloud Computing(以下简称 SoCC)是由美国计算机协会主办、聚焦云计算技术的一项学术会议,是云计算的首要会议。它汇集了对云计算感兴趣的研究人员、开发人员、用户和实践者,是唯一由 SIGMOD(数据管理特别兴趣组)和 SIGOPS(操作系统特别兴趣组)联合主办的会议, 这个会议在近些年蓬勃发展,旨在聚集数据库和计算机系统两大领域的学者,共同推进云计算技术在工业界的研究与发展。

此次被录用的论文为《Owl: Performance-Aware Scheduling for Resource-Efficient Function-as-a-Service Cloud》。

此论文灵感诞生于阿里云 Serverless 产品函数计算,函数计算是阿里云的函数即服务(Function-As-A-Service)产品。阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询、性能监控、报警等功能。现阶段已经覆盖了**事件驱动、音视频处理、游戏、物联网、新零售、AI **等实际业务场景,并服务于阿里云、高德、支付宝、淘宝、CBU 等多个业务或项目中。



上图是一个经典的 FaaS 调度系统的架构,调度器负载将不同的函数实例调度到集群中的节点上运行。由于 FaaS 产品函数数量多、函数粒度小、执行时间短的特点,节点的资源利用率较低。简单地将更多的实例调度到同一个节点上虽然能够一定程度地提升资源利用率,但是也带来了资源争抢和性能下降。

论文针对这个问题创新地提出了基于函数画像的调度算法,在提高资源利用率的同时达到了较好的性能稳定性:

  1. 对于高频调用的函数,调度器会识别不同函数实例在同一个节点共置时的性能表现,以此指导函数实例的调度;

  2. 对于低频调用的函数,调度器会统计其执行过程中的实际资源消耗,以此来指导函数实例的调度,同时调度器会监控函数的执行延时,当出现延时上升时通过隔离的手段进行缓解;

  3. 调度器还针对闲置的实例进行迁移,将它们从利用率低的节点迁移到利用率高的节点以释放闲置节点。



为了评估算法的效果,论文根据生产环境典型的函数负载,抽象了 10 个函数,它们覆盖了不同的编程语言、资源消耗、执行时长、外部依赖。列表如下:

实验结果表明,在 100 个节点规模下,OWL 调度算法能够节省 43.8% 的资源,同时函数执行延时没有明显的增加:

调度延时也没有明显增加:

目前 OWL 的函数画像能力也已经应用在函数计算线上环境,并取得了不错的效果。此次论文入选 ACM SoCC,是阿里云在 Serverless 调度领域的又一次创新。

附论文信息

录用论文题目:

Owl: Performance-Aware Scheduling for Resource-Efficient Function-as-a-Service Cloud

作者:田黄石,李苏毅,王骜,王威,吴天龙,杨皓然

论文概述:在云计算中,FaaS 是一种非常流行的产品形态,主流的云产商都提供了对应的平台。作为平台构建者我们观察到大部分的函数实例的 CPU 和内存利用率都不高,造成集群节点的利用率也不高。一个简单的做法是在节点上超额放置更多的函数实例,但是这可能会带来资源争抢和性能下降。另外,函数的外部依赖也可能导致函数的性能下降。在本文中,我们设计了 OWL 调度系统来解决这些问题,达到高资源利用率和性能稳定性。对于低频调用的函数,调度器会统计其执行过程中的实际资源消耗,以此来指导函数实例的调度,同时调度器会监控函数的执行延时,当出现延时上升时通过隔离的手段进行缓解;对于高频调用的函数,调度器会识别不同函数实例在同一个节点共置时的性能表现,以此指导函数实例的调度。同时调度器还针对闲置的实例进行迁移,将它们从利用率低的节点迁移到利用率高的节点以释放闲置节点。我们实现了 OWL 原型系统并根据生产环境的负载构造了一组测试集。实验结果表明,OWL 调度系统能够减少 43.8% 的资源消耗并有效缓解性能下降。

更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

又一创新!阿里云 Serverless 调度论文被云计算顶会 ACM SoCC 收录的更多相关文章

  1. 重磅干货免费下载!阿里云RDS团队论文被数据库顶会SIGMOD 2018收录

    ACM SIGMOD数据管理国际会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起.在数据库领域具有最高学术地位的国际性学术会议. SIGMOD和另外两大数据库会议VLDB.IC ...

  2. 专访阿里云 Serverless 负责人:无服务器不会让后端失业

    2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...

  3. 阿里云Serverless应用引擎(SAE)3大核心优势全解析

    软件发展到今,企业业务系统日趋复杂,开发一个业务系统需要掌握和关注的知识点越来越多.除实现业务逻辑本身,还需考虑很多非业务的基础技术系统:如分布式cache和队列.基础服务能力集成.容量规划.弹性伸缩 ...

  4. 阿里云 Serverless 应用引擎(SAE)发布 v1.2.0,支持一键启停、NAS 存储、小规格实例等实用特性

    近日,阿里云 Serverless 应用引擎(SAE)发布 v1.2.0版本,新版本实现了以下新功能/新特性: 一键启停开发测试环境:企业开发测试环境一般晚上不常用,长期保有应用实例,闲置浪费很高.使 ...

  5. 倒计时 | 7.24 阿里云 Serverless Developer Meetup 杭州站报名火热进行中!

    本周六阿里云 Serverless Developer Meetup 即将亮相杭州 ​ 时间:7.24 本周六 13:30 - 17:30 地点:杭州市良睦路 999 号乐佳国际 1-3-7 特洛伊星 ...

  6. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先

    3 月 26 日消息,权威咨询机构 Forrester 发布 2021 年第一季度 FaaS 平台评估报告,阿里云函数计算凭借在产品能力.安全性.战略愿景和市场规模等方面的优势脱颖而出,产品能力位列全 ...

  7. 阿里云 Serverless 再升级,从体验上拉开差距

    差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...

  8. 阿里云serverless使用笔记

    1.使用api网关服务,创建完api后,测试时,需要传“请求签名”,否则会报401 ‘Empty Signature’错误.相关文档<错误编码表,请求签名>.(错误信息放置与响应头的‘x- ...

  9. 持续优化云原生体验,阿里云在Serverless容器与多云上的探索

    近日,阿里云宣布推出Serverless Kubernetes服务此举意在降低容器技术的使用门槛.简化容器平台运维.并同时发布阿里云服务对Open Service Broker API标准支持,通过一 ...

  10. 阿里云宣布 Serverless 容器服务 弹性容器实例 ECI 正式商业化

    摘要: 阿里云宣布弹性容器实例 ECI(Elastic Container Instance)正式商业化,ECI 是阿里云践行普惠的云计算理念,将 Serverless 和 Container 技术结 ...

随机推荐

  1. Prometheus+Grafana 监控平台实践-搭建&常用服务监控&告警

    前言 Prometheus 是一个开放性的监控解决方案,通过各种 Exporter 采集当前主机/服务的数据,和 Grafana 相结合可以实现强大的监控和可视化功能 本篇将分享使用 docker c ...

  2. 使用 PyTorch FSDP 微调 Llama 2 70B

    引言 通过本文,你将了解如何使用 PyTorch FSDP 及相关最佳实践微调 Llama 2 70B.在此过程中,我们主要会用到 Hugging Face Transformers.Accelera ...

  3. Fragment动态添加与管理

    activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  4. Head First Java学习:第七章-继承和多态

    第七章:继承和多态 1. 覆盖(override) 覆盖的意思是由子类重新定义继承下来的方法,以改变或延伸此方法的行为. 2. 继承(extends) 类的成员:实例变量+方法 实例变量无法覆盖是因为 ...

  5. 切换容器引擎为containerd

    确保模块载入: # 永久生效 cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter E ...

  6. Chrome扩展程序是如何进行消息传递的

    大家好,我是 dom 哥.这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星. 一个复杂的 Chrome 扩展程序通常由 content_scripts,background,ac ...

  7. NetSuite 开发日记 —— 事务处理行限制

    一.创建行限制 在 NetSuite 中处理事务时,一次可访问的记录.事务处理或数据行数限制为 10,000.除非另有说明,此限制适用于所有交易类型.超过 1,000 行可能会对 Netsuite 的 ...

  8. auto{x}与auto(x)---一位中国小伙为cppreference作出的贡献

      C++作为一门静态类型语言,是需要程序员声明变量类型的.然而来到了C++11,auto的诞生使得变量声明变得及为方便,尤其是对于比较长的模板类型,auto一定程度上为代码编写者减轻了负担.到了C+ ...

  9. APP性能测试-客户端性能测试

    https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318

  10. 图片标注-----labelimage

    本人用的环境是   win10  +  python3.6 pip install labelimg 安装成功之后,找到  Anaconda 安装目录下的  Lib  , 然后找到   site-pa ...