当前位置: 首页 > news >正文

华为云全域Serverless技术创新:全球首创通用Serverless平台被ACM SIGCOMM录用

华为开发者大会2024(HDC 2024)在东莞·松山湖圆满结束,期间华为云主办的“全域Serverless时代:技术创新引领,赋能行业实践”专题论坛,向广大开发者传递了Serverless领域的前沿思考和实践,现场座无虚席。Serverless展台接待企业客户300+,媒体宣传累计阅读量1w+。这一系列数字是华为云全域Serverless化的一个“缩影”,千行万业的开发者认可Serverless带来的价值并付诸实践,Serverless的应用场景也逐步从“专用”走向“通用”。

在本次HDC大会上,华为云发布一则重磅消息:华为云全域Serverless化背后的“基石”——元戎,中稿全球顶尖学术会议ACM SIGCOMM 2024。该会议在计算机科学领域享有崇高声望,2024年共接收投稿366篇,其中62篇被录用,录用率仅为16.9%。论文《YuanRong: A Production General-purpose Serverless System for Distributed Applications in the Cloud》揭示了华为自主创新的业界首个通用Serverless平台,提供通用函数编程模型,高可扩缩、高性能和高效对接后端服务的运行框架,助力华为云构建全域Serverless云服务。

           

一、Serverless从“专用”走向“通用”

当前,业界现有的Serverless产品主要限于事件驱动型应用,然而对于有状态微服务、大数据、HPC、AIGC等复杂应用,仍然面临如下四大核心技术挑战:

  • 函数间无法高效协同:函数间无法直接寻址,需绕走网关,导致互调性能差。函数间不支持共享内存,无法高效协同,难以满足微服务、HPC等场景对低时延的诉求;
  • 不确定的冷启动时延:冷启动是Serverless性能优化难题之一,尤其在微服务、AIGC等场景,容器启动时加载大镜像(GB级)的开销大,加之复杂的应用初始化过程,整个冷启动耗时分钟级,无法按需弹性;
  • 状态外置影响性能:应用程序的状态必须外置到如OBS等远端存储,延迟可达数百毫秒,同时远端存储的带宽有限导致吞吐量低,难以满足大数据等场景多任务之间高效数据流转的诉求;
  • 用户函数和后端服务间交互复杂:后端服务通常是有状态的,并为每个客户端维护经过身份验证的活动连接,例如JDBC连接,但这些连接状态很难在协作的函数实例之间共享。此外,多个函数的并发操作也会导致分布式事务的问题。

二、元戎首创通用Serverless平台

论文介绍了元戎通用Serverless平台的一系列关键创新。其中,针对挑战1和2,元戎构建了可扩展的函数系统,实现大规模函数调度、亚毫秒函数互调以及函数极速冷启动等关键技术,支持大规模多形态应用的统一管理和高效运行;针对挑战3,元戎内置了多语义数据系统,实现分布式共享内存对象以及流数据对象,提供分布式共享内存池,支持多语义数据的高效流转;针对挑战4,元戎构建了可移植的Bridge系统,提供事件和后端服务的标准抽象接口,解耦架构,同时支持连接复用和共享事务等功能。

元戎进一步抽象了面向云原生编程的通用Serverless运行时接口,并实现了主流语言的Runtime。通过这些Runtime,元戎为开发者提供特定领域的简易编程模式,支持Web服务、大数据、AI训练/推理、HPC等全域Serverless应用。

“元戎通用Serverless平台”架构图示

更多技术细节请参见华为云在ACM SIGCOMM 24发表的论文原文:

链接:YuanRong: A Production General-purpose Serverless System for Distributed Applications in the Cloud | Proceedings of the ACM SIGCOMM 2024 Conference

三、通用Serverless客户案例

案例1:全球销量领先车企基于Serverless构建千万级车联网平台

当前,汽车行业的车联网业务对提升产业竞争力和创新能力方面具有重要意义。为了在未来10年内满足6700万接入车辆的业务需求,某全球销量领先的车企期望构建一个全生命周期车辆管理平台。该平台需要能够承载分钟级的车辆数据上报,每天100T的数据增量,并支撑至少10PB级以上的存量数据。此外,汽车接入具备典型的波峰波谷特征,白天上下班时请求峰值达3w+ QPS,夜间请求量相对白天锐减。如何构建支持千万车辆稳定接入的车联网平台,满足业务端到端秒级时延并降低成本,是企业面临的主要问题。

Serverless方案凭借其按需全自动弹性,按请求计费,免运维等优势,最终在与传统虚拟机/容器方案的对比中胜出。华为云FunctionGraph(Powered by元戎)作为核心计算服务,结合APIG、DIS、EG等Serverless中间件,灵活组装数据转码、分发、转储等业务流程,函数级逻辑开发简单,实例多AZ部署保证了高可靠性。

“使用FunctionGraph的无服务器IoV平台”方案图示

该车联网平台完成Serverless架构升级后,弹性能力显著提升,达到业界领先的分钟级 5000+ 函数实例弹性,业务端到端时延从分钟缩短到秒,加速近20倍,资源利用率提高了50%,这与元戎提供的以下两个“黑科技”密不可分。

首先,元戎创新提出了基于进程级快照的函数极速冷启动技术,支持对用户空间指定的进程进行“冻结”(即停止进程,并将该进程运行的所有上下文持久化为快照文件),并在必要时对其进行“解冻”(即通过保存的快照文件来正确恢复进程运行的上下文)。当用户请求触发函数启动时,直接基于函数快照恢复,跳过框架启动、业务初始化等耗时较长的阶段,进一步结合内置数据系统实现快照缓存加速,显著提升应用冷启动性能90%+。

“元戎函数极速冷启动”原理图示

其次,元戎构建了分级调度架构,以应对生产系统中传统中心化调度架构的性能瓶颈,支持大规模函数实例的并行调度,并有效利用数据局部性,确保高可扩展性,更好地支撑千万级车辆接入的波峰波谷场景。

“元戎大规模分级调度”原理图示

车联网平台自商用上线以来,已经历春节等节假日的考验,峰值每天十几亿次函数调用无错误。该Serverless方案现已作为华为云标准车联网解决方案进行推广,帮助更多车企构建高可用、低成本的车联网平台。

案例2:华为MetaERP全面Serverless化架构升级

MetaERP是服务于华为公司生产制造、供应、采购、财务业务的SaaS系统,整个系统构成非常复杂,涉及微服务、函数、大数据等多种应用形态。当前架构面临研发成本高、资源成本高等一系列挑战。为了解决这些问题,MetaERP正在进行全面Serverless化架构升级,旨在打造业界首个Serverless ERP系统,实现研发和资源成本的双重下降。

1)资产核算业务

资产核算业务(MFA) 支持企业资产从获取到处置的全生命周期管理和交易核算,在资产使用寿命内,按照会计准则和税法要求,系统地计提资产折旧费用。该业务的资源池独立,作业时间集中,具有典型的波峰波谷特征。然而,Java微服务的启动时延超过1分钟,弹性响应慢,业务峰值处理性能不足,日常波谷时仍需要保持最低配置在线,平均资源利用率不到2%,导致资源成本高。

MFA业务基于元戎进行Serverless化改造,元戎提供Spring框架兼容能力,支持通过修改少量配置即可实现存量业务Serverless化。进一步,元戎通过函数极速冷启动技术,将业务冷启动时间缩短到5秒,弹性性能提升20倍。结合自动水平和垂直弹性能力,在无请求时支持业务实例缩容至0,月均资源消耗降低70%。

2)销售订单业务

当前,MetaERP依托平台基础功能(通用逻辑)来支撑上层大量的租户定制业务(扩展逻辑)。以销售订单业务为例,平台通用逻辑动态加载租户扩展逻辑,虽然实现了灵活定制,但两者耦合运行,无法保证安全隔离。

元戎支持租户扩展逻辑以Serverless函数方式发布、运行,通过函数物理实例隔离的方式减少风险,保障通用层的稳定。然而,优秀的技术方案往往也难以一步到位,虽然实现了多租户之间的安全隔离,但也引入了两大挑战。

首先,分离后的通用逻辑和租户扩展逻辑通过RPC通信,相比原先本地调用,耗时必然增加,且通信次数越多,耗时会越大。元戎提供亚毫秒函数互调能力,通过简化通信链路、亲和性调度、协议优化等关键技术,支撑通用逻辑和租户扩展之间高性能直连互通,实现端到端调用时延1ms。

“元戎函数互调”原理图示

其次,不同的业务逻辑之间访问同一份数据时的事务一致性问题。元戎提供Service Bridge代理后端服务访问,利用路由计算,将同一事务的请求汇聚到同一个Bridge函数实例上,将原来分离的事务逻辑重新聚合成本地事务,解决分布式事务一致性问题。

“用户函数通过元戎Service Bridge访问后端服务”原理图示

四、总结与展望

近年来,华为云持续构筑全域Serverless云服务,推出了一系列竞争力领先的Serverless产品,包括函数工作流FunctionGraph、Serverless容器引擎CCE Autopilot、Serverless应用托管CAE、云数据仓库DWS、事件网格EventGrid等,高效支撑Serverless全面商业化。

“华为云全域Serverless化”愿景图示

面向生成式AI浪潮,元戎通用Serverless将持续聚焦技术创新,突破大模型推理服务实例快速弹性、分布式KV Cache池化管理、多模型混部高效协同调度、超大规模分布式训练高可用性等关键技术,构筑大模型推理和训练的高性能、低成本、高可用性关键竞争力。通过这些创新,元戎将助力华为云打造极低成本、极致性能和极优体验的Serverless AI解决方案,实现全域Serverless化的竞争力领先,帮助千行万业的百万开发者缩短交付周期,提升上云效率,抢占市场先机。

相关文章:

华为云全域Serverless技术创新:全球首创通用Serverless平台被ACM SIGCOMM录用

华为开发者大会2024(HDC 2024)在东莞松山湖圆满结束,期间华为云主办的“全域Serverless时代:技术创新引领,赋能行业实践”专题论坛,向广大开发者传递了Serverless领域的前沿思考和实践,现场座无…...

除自身以外数组的相乘 C++

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂…...

Element UI 如何配置文件来设置全局的语言选项。

Element UI 允许你通过配置文件来设置全局的语言选项,这样你可以方便地切换组件的语言。以下是如何配置 Element UI 以设置全局语言选项的步骤: 1. 安装 Element UI 确保你已经安装了 Element UI。 npm install element-ui --save2. 引入语言包 Elem…...

Windows 常用命令集锦

目录 一、文件和目录管理 1.1 文件操作 1.2 目录操作 二、系统信息 2.1 基本系统信息 2.2 硬件信息 三、网络管理 3.1 基本网络命令 3.2 网络诊断 四、进程管理 4.1 查看进程 4.2 管理进程 五、磁盘管理 5.1 磁盘操作 5.2 磁盘分区 六、IIS操作 通过上述命令&am…...

第一阶段面试问题(后半部分)

1. c语言中const *p的用法 (1)const int *p; 或 int const *p; 指向常量整数的指针,通过这个指针不能修改它所指向的整数值,但可以修改指针本身来指向其他地址 const int a 10; const int *p &a; // *p 20; // 错误&…...

【AIGC】ComfyUI入门-使用ComfyUI_MagicClothing插件在生成图片时候出现的问题

最近想自己实现自动换装的工作流,在使用ComfyUI_MagicClothing插件的时候,出现了一个奇怪的问题。这个问题不是插件的问题,是环境配置问题。 问题内容如下: Exception during processing!!! D:\a_work\1\s\onnxruntime\python\onnxruntime_pybind_state.cc:891 onnxrunti…...

巴黎奥运会8K转播科技为国产品牌自主研发设计

这个夏天,顶流是属于巴黎奥运会中国队的。 20枚金牌、15枚银牌、12枚铜牌......这个数字正随着赛事推进而不停在增加。赛场之上,中国健儿奋力拼搏、捷报频传,令人热血沸腾;赛场之外,另一支来自中国企业的“奥运选手”…...

【Material-UI】Button 组件中的图标和标签按钮(Buttons with Icons and Label)详解

文章目录 一、基础用法1. 左侧图标(startIcon)2. 右侧图标(endIcon) 二、图标与标签的搭配三、高级用法和最佳实践1. 自定义图标2. 视觉一致性3. 动态图标 四、总结 在现代用户界面设计中,图标在提高用户体验&#xff…...

K个一组翻转链表(LeetCode)

题目 给你链表的头节点 ,每 个节点一组进行翻转,请你返回修改后的链表。 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值&…...

2-56 基于matlab的图像融合增强技术

基于matlab的图像融合增强技术。通过原始图像——傅里叶变换——频率域滤波处理——傅里叶变换——增强后的图像。傅立叶变换以及傅立叶反变换.过程就是将空间的信息分解为在频率上的表示,通过傅立叶正反变换的处理,才使得频率域上的处理可以用于图像的增强。程序已调通&#x…...

序列化定义以及使用和注意事项

什么是序列化和反序列化 序列化:是将对象转换为可传输或存储的过程, 反序列化:通常是将字节流或是其他数据格式或源数据转为对象的过程。 序列化的作用 对象的持久化:将对象的状态保存到磁盘或数据库中,以便在程序…...

吴恩达机器学习COURSE1 WEEK3

COURSE1 WEEK3 逻辑回归 逻辑回归主要用于分类任务 只有两种输出结果的分类任务叫做二元分类,例如预测垃圾邮件,只能回答是或否 实际上,在逻辑回归中,我们要做的任务就类似于在数据集中画出一个这样的曲线,用来作为…...

白骑士的PyCharm教学高级篇 3.1 性能分析与优化

系列目录 上一篇:白骑士的PyCharm教学进阶篇 2.5 数据库连接与管理 在软件开发中,性能分析与优化是提高程序运行效率和用户体验的重要环节。PyCharm提供了强大的性能分析工具,帮助你识别和优化代码中的性能瓶颈。本文将详细介绍PyCharm中的代…...

swiper横向轮播(阶梯式滚动轮播)未生效

问题描述 版本问题 使用swiper4以上的版本可以解决该问题,4以上的swiper采用了this指向。...

基于arcpro3.0.2的北斗网格生成简介

基于arcpro3.0.2的北斗网格生成简介 采用2000坐标系、可基于行政区范围 软件可生成第一级到第十级北斗网格经纬跨度 等分 约赤道处距离 第一级 6X4度 60 和A~V 660 km 第二级 30X30分 12X8 …...

网络流算法:最大流问题

引言 最大流问题是网络流中的一个经典问题,其目标是在给定的流网络中找到从源点到汇点的最大流量。最大流问题在交通运输、计算机网络、供应链管理等领域有广泛的应用。本文将详细介绍最大流问题的定义、解决方法以及具体算法实现。 目录 最大流问题的定义Ford-F…...

C++从入门到入土(四)--日期类的实现

目录 前言 日期类的实现 日期的获取 日期的比较 const成员函数 日期的加减 日期的加等 日期的减等 日期的加减 日期的加加减减 日期的相减 流插入和提取的重载 友元 友元的特点 日期类代码 总结 前言 前面我们介绍了C中类和对象的相关知识和六个默认成员函数&…...

【香橙派系列教程】(七)香橙派下的Python3安装

【七】香橙派下的Python3安装 为接下来的Linux图像识别智能垃圾桶做准备。 图像处理使用京东SDK只支持pyhton和Java接口,目的是引入C语言的Python调用,感受大厂做的算法bug 此接口是人工智能接口,京东识别模型是通过训练后的模型,…...

贝叶斯优化算法(Bo)与门控循环单元(GRU)结合的预测模型(Bo-GRU)及其Python和MATLAB实现

### 背景 随着时间序列数据在各个领域(如金融、气象、医疗等)应用的日益广泛,如何准确地预测未来的数据点成为了一个重要的研究方向。长短期记忆网络(LSTM)和门控循环单元(GRU)作为深度学习模型…...

人工智能时代,程序员当如何保持核心竞争力?

目录 前言 一.AI辅助编程对程序员工作的影响 二.程序员应重点发展的核心能力 三.人机协作模式下的职业发展规划 结束语 前言 随着AIGC(如chatgpt、midjourney、claude等)大语言模型接二连三的涌现,AI辅助编程工具日益普及,程序…...

LMDrive 端到端闭环自动驾驶框架

LMDrive,一种新颖的语言引导的端到端闭环自动驾驶框架。LMDrive独特地处理和整合多模态传感器数据与自然语言指令,使车辆能够在现实的指令设置中与人类和导航软件进行交互。 LMDrive由两个主要部分组成: 1)一个视觉编码器&#x…...

P2045 方格取数加强版

Description 给定一个 n n n \times n nn 的矩阵,从左上角出发,可以往右或者往下走,每到达一个方格,就取走上面的数(取过后格子上的数会清零),一共要走 k k k 次,求取到的数之和…...

【Bigdata】OLAP的衡量标准

这是我父亲 日记里的文字 这是他的生命 留下留下来的散文诗 几十年后 我看着泪流不止 可我的父亲已经 老得像一个影子 🎵 许飞《父亲写的散文诗》 OLAP(联机分析处理)系统的衡量标准主要集中在以下几个方面:…...

关于DDOS攻击趋势及防护措施

随着互联网技术的飞速发展,网络安全问题日益成为企业不可忽视的重要议题。分布式拒绝服务(DDoS)攻击作为其中的典型代表,以其强大的破坏力和难以防范的特性,给企业的网络安全带来了巨大挑战。今天我们就来了解下当前DD…...

Apache Flink:一个开源流处理框架

文章目录 引言官网链接Flink 原理概述核心概念 基础使用环境搭建编写 Flink 程序注意事项 高级使用窗口操作状态后端复杂事件处理(CEP)与 Kafka 集成 优点结论 引言 Apache Flink 是一个开源流处理框架,专为高吞吐量、低延迟的实时数据处理设…...

Nginx 学习笔记

1. Nginx简介 Nginx 是一个高性能的Http和反向代理服务器。也是一个IMAP/POP3/SMTP等邮件代理服务器。 特点: 占有内存少并发能力强安装非常的简单配置文件非常简洁(还能够支持perl语法)Bug非常少启动特别容易,并且几乎可以做到…...

软甲测试定义和分类

软件测试定义 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别 软件测试目的 为了发现程序存在的代码或业务逻辑错误 – 第一优先级发现错误为了检验产品是否符合用户需求 – 跟用户要求实…...

Vue 3+Vite+Eectron从入门到实战系列之(二)一Elementplus及VueRouter的配置

为了后续开发方便,在没有 UI 设计师配合的情况下,让我们的界面更加美观,我们使用 elementplus 组件库,并配置路由。 删除不需要的默认文件夹及文件,src 配置如下 实现效果 安装 elementplus,vue-router npm install element-plus --save npm install vue-router --save在…...

STL-list

1.list 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。 3. l…...

2024 7.29~8.4 周报

一、上周工作 2024 7.22~7.28周报-CSDN博客 二、本周计划 修改论文 三、完成情况 3.1 论文修改 3.1.1 摘要 问题:所写问题是一般性的深度网络问题(过拟合),并没有针对FWI的问题(边缘不清晰、深层不清晰、速度慢…...