摘要:华为云联合上海交大重磅推出ServerlessBench 2.0,为社区提供涵盖12类基准测试用例、新增5大类跨平台测试用例、4大类关键特性指标、且多平台兼容的Serverless开放基准测试集。

Highlights

  1. 华为云联合上海交大研究团队,发布业界首个面向多平台的Serverless基准测试系统ServerlessBench 2.0;
  2. ServerlessBench 2.0聚焦Serverless计算中的关键特性和指标,提供统一测试接口,兼容多平台的异构性,提供完善的测试指标和丰富的场景用例;
  3. 作为“服务器无感知创新计划”的首个亮相项目,ServerlessBench 2.0旨在为Serverless平台和应用的设计提供度量依据和有效启发;
  4. 此次发布同时展示了ServerlessBench 2.0针对四大开源Serverless平台的测评报告,作为首批测评结果。

背景

受益于其按用付费 (pay-per-use)、自动弹性伸缩 (auto-scaling)、以及屏蔽后端复杂性的特征,Serverless 正成为下一代云计算的新范式[1]。与此同时,能够封装并兼容多平台、支持关键指标度量的基准测试系统,对于Serverless计算实现可持续的降本增效而言,至关重要。一方面,Serverless系统设计者可以利用基准测试平台,刻画系统的关键性能指标,如冷/热启动时延、弹性速度、QoS保证下的最大并发等,为增强系统架构的性能提供 “度量先行”的有效工具;另一方面,Serverless应用开发者可以借助基准测试对不同的Serverless平台进行对比和选择,从而设计并开发出更加高性能、低成本的Serverless应用程序。

ServerlessBench 2.0 发布

ServerlessBench 1.0是业界首个针对Serverless计算的关键特性和指标而设计的基准测试平台,由上海交通大学的研究团队发表于云计算顶级会议SoCC 2020[2]。此次,华为云联合上海交大,在ServerlessBench 1.0的基础上,通过进一步的封装、抽象、扩展和强化,重磅推出ServerlessBench 2.0,为社区提供涵盖12类基准测试用例、新增5大类跨平台测试用例、4大类关键特性指标、且多平台兼容的Serverless开放基准测试集。

同时,ServerlessBench 2.0是“服务器无感知创新计划”的首个亮相项目成果。服务器无感知创新计划由中国信通院、上海交大、华为云等主导成立,旨在联合产学研用各方,凝聚社区力量,围绕技术研究和标准制定等,促进Serverless的蓬勃发展和规范化建设[3]。

ServerlessBench 2.0 介绍

ServerlessBench考虑Serverless计算中的四大类关键指标:通信性能(communication performance),启动时延(startup latency),无状态开销 (stateless overhead),和资源使用效率 (resource utilization)。复杂的Serverless应用一般由多个函数组合实现,因此,通信性能指标主要度量函数间通信的效率问题,如常见的函数组合模型sequence chain和nested chain等。Serverless函数通常运行时间较短,大多集中在百毫秒级至秒级的范围[4],且函数执行环境按需加载,自动扩容,因此冷启动、热启动等时延开销是Serverless系统和应用最为关注的性能指标之一。在无状态开销指标中,通常包括依赖外部存储服务进行传递的显式状态(如函数逻辑本身所涉及的状态),以及可能影响系统性能的隐式状态(如会话缓存等)。资源使用效率指标主要衡量性价比问题,对于平台,如何在函数混合部署且保证业务QoS的前提下提升资源利用率,对用户而言,如何配置资源数量来使得应用性能和成本之间取得最佳平衡。

围绕四大类关键指标,ServerlessBench提供包括资源需求(Test Case 1-varied resource needs),数据迁移开销(Test Case 5-Data transfer costs), 和 CPU争用(Test Case 12-CPU contention)等在内的12类基准测试用例,如表1所示。

表1:ServerlessBench 1.0 提供的12类基准测试用例

为良好地兼容多平台, ServerlessBench 2.0提供了统一的测试接口,对不同Serverless平台之间的异构性进行封装,包括统一的函数接口、统一的返回格式,统一的资源配置,以及统一的依赖包装等,如图1所示。这里以开源Serverless系统为例。

图1:ServerlessBench 2.0的多平台兼容性(以开源Serverless系统为例)

具体以函数调用入口为例,如图2所示,四大开源Serverless平台OpenWhisk,OpenFaaS, Knative,Fission的入口函数都不相同。针对该场景,ServerlessBench 2.0通过接口抽象,封装了统一的入口函数 def handler(event, context)(这里以Python为例),从而使得在跨平台的对比中,无须再关心平台之间的接口差异性。

图2:ServerlessBench 2.0为多平台提供统一的函数调用入口(以Python为例)

在多平台兼容的基础上,ServerlessBench 2.0对表1所列的测试用例进行了扩展,新增了冷热启动开销、冷热执行开销、保证QoS的最大并发、扩容速度、性价比等5大类跨平台的新用例,如表2所示;同时,更多跨平台用例还在持续扩展中,如带有函数链的Serverless应用等。

表2:ServerlessBench 2.0 新增5类跨平台测试用例

首批针对开源Serverless平台的评测结果

作为ServerlessBench 2.0的首批测评结果,我们此次选取四大serverless开源平台OpenWhisk,OpenFaaS,Knative,Fission,作为评测对象,部分关键测评结果展示如下。

1.冷、热启动时延

测试从调用 invoke 指令到函数的第一条指令的时间差。图3所展示的结果为 p90 的时延开销。可以看到,OpenFaaS在冷热启动性能上表现最差;得益于资源池预热技术,Fission在冷启动性能上表现最佳。

图3:四大Serverless开源平台“冷、热启动时延”测评结果对比

2.冷、热执行时延

利用 Float Operation,测量函数本身的运行时延,考察冷、热启动对函数执行时间的影响,结果如图4所示。OpenWhisk和OpenFaaS上函数执行时延基本不受冷热启动的影响。但相比于冷启动,Knative和Fission在热启动的情况下,执行时延都有所改善。

图4:四大Serverless开源平台“冷、热执行时延”测评结果对比

3.请求并发数对QoS的影响

利用 Float Operation,计算不同并发数下函数实例的p90时延,该用例度量的是平台的函数密度支持能力。从图5可以看到,除Fission外,其它三大平台上,随并发请求数的增长,函数实例的p90时延基本呈线性增长。同“冷、热启动时延”的结果相似,由于Fission预置了一部分通用资源池,在并发请求数增长的初期,函数p90时延没有明显增长;但随着并发数的继续增长,资源池被逐步消耗,直至需要进行补充时,时延出现显著增长。

图5:四大Serverless开源平台“请求并发数对QoS的影响”测评结果对比

这里需要指出,在各大云服务提供的Serverless或函数系统中,请求并发数对函数执行时延或业务QoS的影响是一个更加复杂的过程,还包括其它多个影响因素,如单实例并发数,最大并发实例数限制,平台扩容策略,实例调度策略等。

4.弹性扩容能力

利用 Float Operation,测试并观察实例数量从1伸缩到某个较大值的过程中,多实例启动尾时延的大小。图6展示OpenFaaS和Knative从1个实例弹性扩容到10个实例的结果。

图6:OpenFaaS和Knative “弹性扩容能力”测评结果对比

5.平台性价比

利用Numpy Matmul,逐步调整给函数所分配的资源数量,测量并观察函数的执行时延与分配资源的对应关系,该用例反映的是相同资源开销下的性能表现。图7展示了在OpenFaaS和Knative上的部分结果。

图7:OpenFaaS和Knative “平台性价比”测评结果对比

未来规划

ServerlessBench 2.0建立在开源开放的理念之上,将由社区共同运营并持续共建。同时,华为云将继续联合上海交大,推出针对各大公有云服务的Serverless平台的测评报告,并贡献给社区。另外,我们正在为ServerlessBench 2.0建立项目主页,并推动源码开源等工作。关于ServerlessBench 1.0的详细信息,可参见项目主页[5]和github主页[6]。

[1].   Schleier-Smith, et al. (2021). What serverless computing is and should become: The next phase of cloud computing. Communications of the ACM, 64(5), 76-84.

[2].   Yu, T., et al. (2020). Characterizing serverless platforms with ServerlessBench. In Proceedings of the 11th ACM Symposium on Cloud Computing (pp. 30-44).

[3].   https://mp.weixin.qq.com/s/vuhqCweenT7sozNzInavyQ

[4].   Shahrad, M., et al. (2020). Serverless in the wild: Characterizing and optimizing the serverless workload at a large cloud provider. In 2020 USENIX Annual Technical Conference (USENIX ATC 20) (pp. 205-218).

[5].   https://serverlessbench.systems/

[6].   https://github.com/SJTU-IPADS/ServerlessBench

点击关注,第一时间了解华为云新鲜技术~

ServerlessBench 2.0:华为云联合上海交大发布Serverless基准测试平台的更多相关文章

  1. 华为云对Kubernetes在Serverless Container产品落地中的实践经验

    华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...

  2. 阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS

    2019年杭州·云栖大会顺利落幕,超过6万人次观展,200余位顶尖科学家分享了前沿技术.作为“阿里云不做SaaS”,坚持“被集成”战略的落地体现,阿里云SaaS加速器在云栖大会现场发布了SaaS加速器 ...

  3. 华为云发布桌面IDE-CodeArts

    摘要:华为伙伴暨开发者大会2022,发布华为云桌面IDE-CodeArts. 本文分享自华为云社区<华为云发布桌面IDE-CodeArts,让连接更简单.编码更智能>,作者: Huawei ...

  4. “3+3”看华为云FusionInsight如何引领“数据新基建”持续发展

    摘要:一个统一的现代化的数据基建需要三类架构来实践三种不同的应用场景. 近期,美国知名科技企业风投机构A16Z总结出一套通用的技术架构服务,分为以下三种场景. 一.数据基建架构全景 数据流向显示,左侧 ...

  5. 升级的华为云“GaussDB”还能战否?

    摘要:芯片.操作系统.数据库是现代信息技术领域的三大核心基础,做数据库,不仅需要技术和投入,对华为这种做通讯起家的企业,更需要的是一种并非玩票性质的态度. GaussDB,不仅蕴含着华为对数学和科学的 ...

  6. 华为云亮相QCon2020深圳站,带你体会大厂的云原生玩法与秘诀

    摘要:在QCon全球软件开发大会上,华为云开发者生态总监张全文作为"云原生应用开发实践"专题出品人,携手华为云四位资深技术专家带来精彩分享. 作为当下技术领域最火热的技术趋势之一, ...

  7. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统

    摘要:以CC2530单片机为核心器件,设计一个冷链环境信息采集系统,利用传感器技术对冷藏仓内的环境参数进行采集,上传到华为云物联网云平台,然后通过手机端或移动端进行显示,便于分析,观察冷链环境信息. ...

  8. 华为云ROMA,联接企业应用的现在与未来

    2019.9.19日,在华为全联接大会的华为云Summit中,华为云CTO宇昕总提出:"企业的应用与数据集成,始终是数字化转型和智能化升级的关键,华为云企业应用与数据集成平台ROMA,打破时 ...

  9. 【华为敏捷/DevOps实践】7. 敏捷,DevOps,傻傻不分清楚【华为云技术分享】

    文:姚冬(华为云DevCloud首席技术布道师,资深DevOps与精益/敏捷专家,金融解决方案技术Leader,中国DevOpsDays社区核心组织者) 前言 敏捷是什么?DevOps是什么?两者有什 ...

随机推荐

  1. 什么叫做 SSO

    什么叫做 SSO 本文写于 2020 年 12 月 8 日 SSO 的全称叫做 Single Sign On,意味「单点登录」. 何为单点登录?就是你希望自己的两个网站,可以做到:一个网站登录了,另一 ...

  2. 【数据库】MySQL如何删除索引

    1.查看表上的索引 -- 查看table_name表上的索引 show index from table_name ; 2.删除表上的索引 删除索引可以使用ALTER TABLE或DROP INDEX ...

  3. shellcode编写

    shellcode编写 shellcode是一段用于利用软件漏洞而执行的代码,通常使用机器语言编写,其目的往往是让攻击者获得目标机器的命令行shell而得名,其他有类似功能的代码也可以称为shellc ...

  4. mac安装java环境

    1.java安装包获取: 链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 2.验证安装是否成 ...

  5. 降维、特征提取与流形学习--非负矩阵分解(NMF)

    非负矩阵分解(NMF)是一种无监督学习算法,目的在于提取有用的特征(可以识别出组合成数据的原始分量),也可以用于降维,通常不用于对数据进行重建或者编码. NMF将每个数据点写成一些分量的加权求和(与P ...

  6. Abp Vnext源码解析系列文章01---EventBus

    一.简介 BP vNext 封装了两种事件总线结构,第一种是 ABP vNext 自己实现的本地事件总线,这种事件总线无法跨项目发布和订阅.第二种则是分布式事件总线,ABP vNext 自己封装了一个 ...

  7. Vue自定义组件之v-model的使用

    自定义组件之v-model的使用 v-model的语法糖可以为下面v-bind && @input联合完成: <input v-model="text"> ...

  8. 省HVV初体验(edu)

    浙江省HVV初体验 此次参加的HVV是edu分会场,总的来说是对HVV有了一个初步的认识,了解实战和靶场练习之间存在的巨大鸿沟. 经历了这次HVV,对于渗透测试有了更深一步的理解.渗透测试的本质就是信 ...

  9. 离线环境使用NuGet

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年5月13日. 在Visual Studio中直接使用GUI的方式操作NuGet包非常的方便.如果喜欢命令行,也可以使用包管理控制台或者 ...

  10. 记安装AWVS14过程踩的坑

    由于之前的AWVS14用着用着无法扫描了,一扫就是失败,一气之下就重装系统了.重装系统后发现安装还是不行,折腾了好久,终于找到方法了. 安装acunetix_14.1.210324124.exe 没啥 ...