近日,阿里云函数计算产品团队撰写的关于 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. The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission,iphone手机video标签报错

    The request is not allowed by the user agent or the platform in the current context, possibly becaus ...

  2. Aignize第一期完善产品逻辑+类图说明书

    Aiganize产品说明+拟类图(第一期) ·附图: 此应用由: 前端:微信小程序前端+vue3后台管理系统后端:Springboot+Mysql 服务器:后端服务器+AI交互服务器 整个应用流程大致 ...

  3. Python 潮流周刊第一季完结(1~30)

    你好,我是猫哥.庆祝 Python 潮流周刊在几天前顺利更新到了第 30 期! 我觉得这是一个很有意义的时间节点,不太短也不漫长,很适合作一个小小的总结. 我打算今后每 30 期作为一季,都给大家做一 ...

  4. 使用动画曲线编辑器打造炫酷的3D可视化ACE

    前言 在制作3D可视化看板时,除了精细的模型结构外,炫酷的动画效果也是必不可少的.无论是复杂的还是简单的动画效果,要实现100%的自然平滑都是具有挑战性的工作.这涉及到物理引擎的计算和对动画效果的数学 ...

  5. C++ Qt开发:MdiArea多窗体组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍MdiArea ...

  6. ubuntu设置系统字符集为中文

    第一步:查看自己系统的字符集 先查看系统的默认字符集格式:locale 或者cat /etc/default/locale root@JumpServer-APP-T02:~# locale LANG ...

  7. go的html模板template格式化时间

    go的html模板template格式化时间 go的html模板template格式化时间,网上一搜挺尴尬找不到想要的yyyy-MM-dd HH:mm:ss // 代码中是这样的 //2021-09- ...

  8. JPA复杂查询时间查询分页排序

    JPA复杂查询时间查询分页排序 JPA复杂查询时间查询分页排序,工作上用到,因为项目是jpa,记录.代码囊括了:查询条件+时间范围+分页+排序 其实我也不太想用jpa,但是他也有优点,操作可以兼容多种 ...

  9. 介绍一个prometheus监控数据生成工具

    prometheus-data-generator Prometheus数据模拟工具旨在通过配置文件模拟Prometheus数据,用于测试和开发目的.该工具允许您生成用于测试和开发的合成数据. 配置 ...

  10. git blame 用法小记

    1.概述 git管理的代码仓库,在协作开发中不可避免地会出现代码冲突,或者有新手错误地提交代码.出现问题不可怕,可怕的是找不到问题出在哪里.有时候找到出问题的代码,却不知道是谁提交的.git提供了一个 ...