何为真正的 FaaS ?阿里舜天平台做了四大创新

导读:数据中心和云计算的超高增速,AI、视频、基因测序等应用对于算力的无尽渴求和摩尔定律发展事实上已经停滞的现实,均给异构加速带来了巨大的应用潜力和商机。但 Faas 解决方案仍有较高的门槛,今天,我们一起了解 Faas 的难度在哪里?以及在阿里,我们如何做到真正的 Faas?

一、 前言

近几年,DC 和云计算领域风起云涌,发展地如火如荼。中外厂家纷纷发布 “DC First”、“All in Cloud”、“Cloud or Dead” 等战略,不管此前公司的主业为何,杀入 DC 和云计算领域的厂家如过江之鲫。但是,和任何 ICT 领域一样,在经过充分的搏杀和竞争之后,整个市场将基本稳定下来,由 TOP2-3的厂家把持,其他 players 加到一起分点残羹冷炙。Gartner 于4月24日发布报告,阿里云以19.6%的市场份额,雄踞整个亚太第一,AWS 和微软分居第二和第三。全球范围内,仍然维持了AWS、微软和阿里云分别为冠、亚、季军的格局。

阿里云 FPGA as a Service(以下简称FaaS)舜天平台正是 FPGA 异构加速领域的领导者和开拓者,也是 FPGA 异构加速领域良好生态的倡导者和建设者。依托阿里云百万企业付费客户以及阿里云强大的飞天操作系统,FaaS 舜天平台对内而言,已经成为阿里集团 FPGA 加速业务的基础设施;对外而言,则将大幅降低 FPGA 的开发和使用门槛,致力于为客户提供最高性价比的算力和打造健康的 FPGA 加速生态。

二、 传统的 FPGA 应用与 FaaS 的区别

FPGA 由于其强大的灵活性,自诞生以来,在数以千计的垂直市场中都获得了大量的应用。但是,这种应用都谈不上“云”,也谈不上“service”。我们知道,传统 IT 基础设施是没有弹性的,因此很容易出现要么业务高峰时无法支撑乃至整个 IT 系统崩溃;要么陷入业务低谷时,大量 IT 资源闲置,造成成本高企。因此,“云”和“非云”的一个最大区别就在于是否支持资源的“弹性”伸缩:需要时按需获取,不需要时随时释放。而要做到“弹性”,那么一定要通过虚拟化来支持。如果做不到“弹性”和“虚拟化”,就称不上 FaaS,究其本质和传统上对 FPGA 的使用没有任何区别。

如果单纯从 FPGA 的设计和使用角度看,即使有门槛的存在,设计一颗 glue logic的 FPGA 或者跑一点简单算法,实现一点简单控制,难度是相当有限的。但是,不能说具备了这些能力之后,就可以对外宣称可以提供 FaaS 的能力了。

首先,使用 FPGA 实现复杂的算法的门槛是非常高的(比如用 FPGA 实现 H.265 编码);其次,高效使用 FPGA 实现复杂的算法的门槛是非常非常高的(还拿 H.265编码举例,设计得不好的话,很大容量的一颗 FPGA 也许只能支持一路 1080p/30 帧的 H.265 视频,好的设计也许就能支持4路);最后,把 FPGA 的加速能力通过“云”来输出给客户的门槛是非常非常非常高的。所以,FaaS 的核心之一是让 FPGA 的算力“x86化”,即云上购买和使用 FPGA 的算力和云上购买和使用 CPU 的算力一样简单;核心之二,是让 FPGA 的算力“服务化”,即不需要客户做二次开发和适配,通过简单的类 URL 调用即可使用。

三、 FaaS的难度在哪里

FaaS 的价值可以从三方面来看:

  • 一是,把 FPGA 的算力从传统的“线下”输出改为“线上”输出;
  • 二是,把 FPGA 的算力形成资源池,和 CPU 一样,做到业务高峰时“召之即来”,轻松应对大业务量挑战、业务低谷时“挥之即去”,及时释放资源以节约成本;
  • 三是,把 FPGA 的算法IP做成“积木”,可以让客户根据实际的业务需求,在很短的时间内,选取合适的 IP “积木“,搭成针对性的解决方案。

这三方面的价值同时也是 FaaS 的难度所在。

1、 云化

传统的使用 FPGA 的方式(也即所谓的“线下”模式)一般是:FPGA 和其他器件(包括主控的 CPU)一样,都焊在“母板”上,主控 CPU 通过与 FPGA 直连或者 CPLD 桥接的方式,对该 FPGA 进行配置和控制,FPGA 的存储空间直接映射到 CPU 的主内存空间。而云上模式下,FPGA 所在的板卡(通常叫做 FPGA 加速卡)是所在宿主机“母板”上的一个 PCIe 设备,云服务的客户使用虚拟机和 PCIe 报文对该加速卡(也就是 FPGA)进行配置和控制。由于此时 FPGA 跟“母板” CPU 之间不存在任何“直连”关系,只能通过 PCIe 报文对 FPGA 进行操作,传统上对 FPGA 的复位、加载、状态和性能监控等常规功能,在虚拟机(云上)环境下不再那么“常规”。简单的用一句话总结就是:线下根本不是问题的问题,到了线上(云上)可能全是问题。不解决好这些问题,就没办法让 FPGA 简单易用,也就谈不上算力“普惠化”,更谈不上“云服务”了。

FPGA 云厂商要做的是介于 FPGA 的驱动层以及客户的软件 SDK 层之间的适配层,这个适配层尽可能屏蔽底层的软硬件细节,通过 API 给客户的软件 SDK 提供必要的控制接口,使得客户能够以“类 URL 调用”这样的简单方式来调用 FPGA 的算力。简而言之,如果不能做到简单易用,那么尽管 FPGA 相对 CPU、GPU 可以提供极高的性价比,也会在 CPU 和 GPU 的强大生态面前败下阵来。客户的诉求很简单:希望动动鼠标就能得到结果(客户根本不 care 底层的算力是 CPU、GPU 还是 FPGA 输出的),而不是要看几百页手册,要三五个乃至更多开发人员适配上三个月才能使用。

2、 算力池化

传统上,由于 FPGA 是焊接在所在母板的,因此,母板所在的宿主机的 CPU 对该片(或者几片)FPGA 是拥有100%的“所有权”和“使用权”的。即便很多时候,FPGA 处于空闲状态,它也不可能被别的宿主机(尽管可能宿主机之间存在网络连接,不管是 WAN 还是 LAN,甚至是网线直连)所使用。但是,在云上使用环境中,每个宿主机所“携带”的 FPGA 都是某个计算集群的一份子,每个宿主机(和运行在其上的虚拟机)既可以使用自己本板/本机上的 FPGA 、也可以使用其他宿主机的 FPGA 。传统使用方式下,没办法满足类似“提供 1.25 片 FPGA 或者 3.5 片 FPGA 给某个用户使用”这样的需求,但在云上环境中,满足这样的需求是云服务的基本功能。

3、 算法 IP 积木化

算法(通常我们称呼这些算法叫 IP)是 FPGA 的灵魂,没有了算法,FPGA 可以说什么都不是;有了算法,FPGA 几乎可以做任何事情,FPGA 的高灵活性是由算法来使能的。业界有很多第三方的 ISV 和独立开发者,充分利用 FPGA 的高并行和时间流水特性,开发了很多高效的 IP,这些 IP 可以高效地完成某一个或几个特定的功能。更多的时候,客户的需求必须要多个 IP 的配合才能满足。由于并没有任何标准组织来制定 IP 的对外接口,各家 ISV /独立开发者所开发的 IP 的接口多种多样。要将他们拼到一起形成解决方案,往往需要花费大量的时间和精力开发二者中间的适配层,这样就失去了通过组合 IP 从而快速形成解决方案的优势。只有所有的 IP 都遵循统一的接口标准,才能够做到 IP 像乐高积木一样任意组合、快速形成解决方案。

这当然是一种理想状态。事实上,FPGA 器件出现已经有 30 多年的历史,大大小小的设计各种 IP 的 ISV 也有很多,但是极少有 ISV 能够长大、能够规模化。在 FPGA 的传统擅长领域没有出现,在 FaaS 渐成风潮的今天,暂时也没有出现。开发 IP 最大的问题在于平衡“通用性”和“专用性”,包括 IP 算法本身和 IO 接口。一般来说:通用性越好,意味着性能往往就要差一些;性能调测的非常强劲的 IP,通用性往往不够好,使用时要做各种各样的适配和牺牲;支持的 IO 接口越多,意味着 IP 本身的成本也就越高,但是只支持某种 IO 接口的话,成本是降下来了,但是严重限制了 IP 的应用范围。

到了 FaaS 云时代,由于在特定垂直领域,FPGA 相对 CPU 或者 GPU 的性价比往往非常出众,所以 IP 的性能往往不是考虑的第一要素,而且,云上只能输出算力,无法输出 IO,因此也不存在支持的 IO 的种类问题。FPGA 算力云化的最大障碍在于 IP 距离“服务”还有相当的距离,要充分发挥 IP 的性能,客户往往要做二次开发以及大量的软件适配,这恰恰和云化降低 FPGA 的使用门槛、使 FPGA 的算力普惠化的大目标相抵触。

四、 阿里云舜天平台:做真正的FaaS

阿里云 FaaS 舜天平台自诞生之初,就把 FPGA 算力普惠化作为自己的使命,通过云化输出 FPGA 算力,为客户提供更高性价比的计算解决方案,是舜天平台的价值所在。舜天平台不但很好地解决了上述的三个难点,同时还致力于三方面的工作,使得FaaS真正的名副其实。

一是,针对 FPGA 具有明显加速优势的特定垂直市场,做到真正以“服务”来输出 FPGA 的高性价比算力。CPU 和 GPU 的生态已经非常的完善,在全球有几十甚至上百万的开发者。这就使得客户只需购买 ECS(Elastic Compute Service弹性计算服务)/EGS(Elastic Graphic Service弹性图形服务)这样的 IaaS 基础设施,可以很容易、快捷地在其上建立 PaaS/SaaS 服务。

但是对于 FPGA 来说,由于生态的不完善和分散,绝大部分云上 FPGA 用户不具备自行购买 EFS(Elastic FPGA Service)之后在其上搭建 PaaS/SaaS 的能力。这就意味着,如果云服务厂商仅仅提供 FPGA 的 IaaS,客户是根本不会买单的;即使是提供带 IP 的IaaS+,客户仍然要做二次开发与适配,这就大大降低了 FaaS 的吸引力。因此,要使得 FPGA as a Service 成为一种可行的商业模式,就必须对外提供基于 FPGA IaaS/IaaS+的 SaaS 服务,只有这样,才能够与 CPU/GPU 进行竞争,从而发挥 FPGA的高性价比、低延时、高灵活可编程性等优势。

二是,建立完善的FPGA IP 云市场,在 IP Vendor 和 FPGA 异构计算云服务客户之间牵线搭桥:IP Vendor 通过阿里云 FaaS IP 市场获得收入,从而发展壮大,设计适用于更多垂直市场的 IP;而客户则通过在 IP 云市场灵活选择 IP,快速形成解决方案,从而获得更高性价比的算力。如上所说,无生态不 FaaS,生态对于 FaaS 的成功可谓至关重要,FPGA 器件厂商、FPGA 云服务提供商和广大的 FPGA IP 独立开发者和 ISV 是这个生态的三根支柱。缺少了任何一方,生态的建设都是举步维艰的。

相对而言,FPGA 器件厂商和云服务提供商应该投入更多的资金和资源来扶持独立开发者和 ISV。同时,云服务提供商要与 ISV 密切合作,在目前能够看到的 FPGA 具备明显优势的垂直领域,迅速落地应用并产生价值,形成示范和标杆效应,以吸引更多的独立开发者和 ISV 加入到建设 FaaS 生态的大军中来。

第三,阿里云 FaaS 舜天平台还致力于建立云上的 FPGA 开发环境与平台,降低FPGA 设计、开发、验证的门槛,客户、ISV 和独立开发者均可聚焦于设计本身,而无需考虑 EDA 工具、开发环境、验证环境等对最终业务价值增值不多但又必须花费大量时间和精力的事情。

传统上,FPGA 是一项“重资产”应用:要购买 FPGA 器件、要开发板卡、要购买 EDA 工具和 FPGA 调测仪器(如逻辑分析仪),所有这些加起来,形成了 FPGA 应用的高门槛。单说 EDA 工具这一项,对于中小 ISV 和独立开发者来说,EDA 工具(含 FPGA 器件厂家提供的配套开发软件,如 Intel 的 Quartus 和 XILINX 的Vivado)的 license 授权费用不菲,他们很难负担得起,而要使用非正版软件,又不得不面临很大的风险:包括软件侵权风险和设计中埋下隐患的风险。FaaS 舜天平台很好的解决了这些问题,大大降低了 FPGA 开发、使用的成本和门槛,为建设健康的 FaaS 生态打下了坚实的基础。

针对上述价值,FaaS做了大量针对性的创新设计。

1、 支持业界主流 FPGA 器件厂商

目前,阿里云 FaaS 舜天平台同时支持 Intel 和 XILINX 两家主流 FPGA 厂商的器件,阿里云也是全球 FaaS 产品线最齐全的公共云服务商。对于只想利用 FPGA 算力加速的客户来说,无需知道也不会知道底层提供加速的 FPGA 属于哪家厂商。一方面,两家厂商的器件和开发环境各有千秋;另一方面,相当一部分使用 FaaS 进行设计、验证的第三方 ISV 和独立开发者来说,其设计面向的是线下应用,因此必须针对某个厂家的某款器件,这就使得同时支持 Intel 和 XILINX 两家厂商的器件变为必需。阿里云目前是 FaaS 产品线最为齐全的云服务提供商。

2、 硬件设计创新

FaaS 舜天平台的 F3 实例,其板卡采用了单卡双芯片(XILINX 公司的 VU9P 芯片)的高密设计,而绝大多数号称提供 FaaS 的云服务提供商均采用了更为稳妥的单卡单芯片方案。单片 VU9P 的典型功耗为75W,两片就是150W,供电和散热成为设计时必须重点考虑的因素,这些问题解决不好的话,将极大的影响 F3 的稳定性。同时由于 PCB 达到了26层,信号完整性(比如 PCIe、MAC 等高速接口)也是巨大的挑战之一。克服这些挑战之后,FaaS 舜天平台的 F3 实现了算力密度业界第一,从而实现了最多可以节省50%的物理机采购成本,这进一步提升了 FPGA 的性价比竞争力。

3、 软件设计创新

阿里云FaaS也有大量的软件创新:

完整的 FPGA 监控系统,用户可以实时获取 FPGA 的各种运行状态,包括功耗、温度、IP使用率等;
用户可选 1/2/4片 FPGA 互联拓扑,用户可根据自己 workload 大小灵活选取和配置合适的实例,实现最高性价比;同卡 FPGA 之间有高达 600Gbps 的高速互联通道,应用若需两片 FPGA 之间实现实时、大批量数据搬运,不存在带宽瓶颈;
自适应网络接口:两路100G光口,使得不同 NC 之间的 FPGA 相互通信不存在任何带宽瓶颈;
热升级:在不中断客户业务的前提下,对部分用户逻辑进行在线重配置,以实现新的功能和 Feature;
支持软硬件联合仿真。这些创新设计为用户提供了灵活、丰富的实例规格选择;大大简化了 FPGA 的高性价比算力输出的复杂度,同时极大的提升了 FaaS服务的易用性。
FaaS 舜天平台提供两大套件: HDK 和 SDK,提供更加高效、统一的开发及部署平台。

HDK:Shell + Role的组合方式,保证了Shell 的最轻量化和稳定性,又兼顾了便捷性和灵活性;
SDK:一部分是 HDK 对应的主机端驱动(Drivers)与软件库(Libraries),另一部分是 FPGA 管理工具 faascmd 套件。驱动与软件库和 HDK 的 Shell 以及 Role 相对应,和 HDK 一起,为用户提供统一及灵活的软件支持。faascmd 工具套件则为用户提供云上 FPGA 管理服务,包括 BIT/DCP 文件安全校验、FPGA 镜像生成、下载及管理、FPGA 加速卡状态查询反馈等功能。

4、 安全性创新

采用定制虚拟化技术达到 IP 加速与部署环境的强隔离,IP 的用户与 IP 的网表文件完全隔离,网表文件的传输、部署、加速流程全程对用户都不可见;同时加速计算能力又可以透明的向使用该IP的客户开放。通过这个创新,完全杜绝了 FPGA IP 在云上输出的时候被盗用、盗版的可能,提供了非常高的安全保护机制。同时 IP 的拥有方可以通过阿里云的 KMS 加密服务对IP进行加密保护,每次对 IP 加载前都需要向KMS 服务获取秘钥进行解密,这样一来针对 IP 的使用下载有据可查;并且使得 IP 发布方的 IP 在数据中心内部都是安全的,因为没有了 IP 提供方的 KMS 秘钥,即便是阿里云也无法对加密的网表进行解密操作。


原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SOA为什么不“香”了? | 大咖说中台

作者 | 耿立超责编 | 晋兆雨来源 | 《大数据平台架构与原型实现:数据中台建设实战》SOA 所有的理念都是基于现有应用系统展开的,不管是对服务的梳理还是服务之间的交互,都是以现有应用系统为载体的,中台不同于SOA 的地方在于&…

看到抖音上Python工程师晒得工资条,我沉默了......

我是个抖音中毒者闲来无事就喜欢刷抖音最近刷到了一个Python工程师的工资条然后我默默的打开看了然后就默默的关闭了如今Python技术由于大数据、人工智能的兴起Python也越来越火大家都纷纷学Python我不能跟你确保说学完Python你就能拿高工资但是你学完Python肯定有饭吃说不定还…

不用 H5,闲鱼 Flutter 如何玩转小游戏?

阿里妹导读:最近APP游戏化成为了一个新的风口,把在游戏中一些好玩的、能吸引用户的娱乐方式或场景应用在应用当中,以达到增加用户粘性,提升DAU的效果,成本较低。同时在一些需要对用户有引导性的场景,游戏化…

阿里巴巴向全社会开放黑科技:“泡在水里”的服务器

为了让数据中心更绿色,阿里工程曾将服务器“泡在水里”进行散热,节能超70%,今天这项黑科技的神秘面纱被揭开。 2020年1月6日,阿里巴巴宣布将“浸没式液冷数据中心技术规范”向全社会开放。这项规范旨在用一套标准流程为下一代绿色…

VS Code vue 模板

我们希望每次新建.vue文件后,VSCODE能够根据配置,自动生成我们想要的内容。 打开VSCODE编辑器,依次选择“文件 -> 首选项 -> 用户代码片段”,此时,会弹出一个搜索框,我们输入vue, 如下&am…

程序员必备基础:Git 命令全方位学习

来源 | 捡田螺的小男孩责编 | Carol封图 | CSDN 下载自视觉中国掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇…

eBay邓明:dubbo-go 中 metrics 的设计

最近因为要在 Apache/dubbo-go(以下简称 dubbo-go )里面实现类似的这个 metrics 功能,于是花了很多时间去了解现在 Dubbo 里面的 metrics 是怎么实现的。该部分,实际上是被放在一个独立的项目里面,即 metrics 。 总体…

稳定性专题 | Spring Boot 常见错误及解决方法

导读 『StabilityGuide』是阿里多位阿里技术工程师共同发起的稳定性领域的知识库开源项目,涵盖性能压测、故障演练、JVM、应用容器、服务框架、流量调度、监控、诊断等多个技术领域,以更结构化的方式来打造稳定性领域的知识库。 Spring Boot 作为 Java…

vue3 线上环境 ctx 无法识别

解决方案: Vue3获取当前组件实例的 getCurrentInstance 方法上 ctx 生产获取不到 上面的全局方法, getCurrentInstance代表上下文,即当前实例。ctx相当于Vue2的this, 但是需要特别注意的是ctx代替this只适用于开发阶段,如果将项目…

新职业风口已至!人社部宣布这10个职业缺口近千万!

负责阿里小蜜产品的陈海青是阿里最年轻的P9专家,才30岁出头,已经年入百万。小编的前领导,农村出身毫无背景,但是抓住风口卖掉了手里的比特币全款买了学区房,让他的孩子赢在起跑线上。面对这些踩在风口上的幸运儿&#…

一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用

本文面向的读者 如果您是一个Kubernetes的初学者,本文可以帮助你快速在云上搭建一个可实际使用的集群环境,并发布自己的第一个应用。你无须提前准备任何的硬件资源或者下载任何的软件包。 如果您已经有一个自建的Kubernetes集群,想要尝试阿…

VS Code Git 日常操作

文章目录1. 初始化Git仓库2. 新建分支3. 提交4. 同步远程4.分支切换5. 合并分支1. 初始化Git仓库 使用**ctrl**召唤出命令窗口 # 初始化Git仓库 git init2. 新建分支 点击右下角的master,上方就会出现一个输入框,点击正在创建新分支,输入…

bootstrap table 列拖动变宽

需要导入 colResizable-1.6.min.js /**_ _____ _ _ _ | | __ \ (_) | | | | ___ ___ | | |__) |___ ___ _ ______ _| |__ | | ___ / __/ _ \| | _ // _ \/ __| |_ / _ | _ \| |/ _ \| (_| (_) | | | \ \ __/\__ \ |/…

阿里产品专家:高情商的技术人,如何做沟通?

不愿沟通是固执,不会沟通是傻瓜,不敢沟通是奴隶。 ——德拉蒙德 工作中,你是否经常看到别人在会上谈笑风生、纵横捭阖,但自己却唯唯诺诺,不敢表达观点?即便鼓起勇气发言却不被重视,经常被人打断…

“刚毕业1年,做Python能挣多少?”网友:吹的不多..

01现状揭秘:Python的火持续燃烧程序员:心态崩了!2020年转眼已经大半,在近几个月的榜单中,Python已经连续走上卫冕的道路,并且与Java的差距拉得更远了一些。以往与Java常呈现你追我赶之势,而这一…

阿里云正式推出内容平台“云栖号”:全面助力企业和个人上云决策

1月7日,阿里云官网正式推出“云栖号”(https://yqh.aliyun.com/ ),旨在为大家提供第一手的上云资讯,云产品快速入门,来自不同行业精选的企业上云案例,基于众多成功案例萃取而成的最佳实践&#…

bootstrap table 搜索列formatter之后,单字节搜索异常

bootstrap table 搜索列formatter之后&#xff0c;单字节搜索异常 最近发现搜索这边出现这个问题&#xff0c;这样搜索没有效果 后面发现是因为搜索列formatter之后就会出现这个问题&#xff0c;那么我们就多生成一列不使用formatter并隐藏这列 <!DOCTYPE html> <h…

完了!TCP出了大事!

来源 | 编程技术宇宙责编 | 晋兆雨封图 | CSDN 下载自视觉中国不速之客夜黑风高&#xff0c;乌云蔽月。两位不速之客&#xff0c;身着黑衣&#xff0c;一高一矮&#xff0c;潜入Linux帝国。这一潜就是一个多月&#xff0c;直到他们收到了一条消息高个&#xff1a;“上峰终于给我…

基于Flutter+FaaS的业务框架思考与实践

闲鱼将使用Flutter和FaaS来建设未来的技术开发体系&#xff0c;这是一项长期的规划&#xff0c;新的技术在现在看来犹如雾里看花&#xff0c;需要我们不断的思考&#xff0c;探索&#xff0c;实践才能渐渐描绘出它的轮廓。本文对此提供一种思考角度&#xff0c;对未来基于FaaSF…

机器学习在高德用户反馈信息处理中的实践

1.背景 作为国内领先的出行大数据公司&#xff0c;高德地图拥有众多的用户和合作厂商&#xff0c;这为高德带来了海量的出行数据&#xff0c;同时通过各个渠道&#xff0c;这些用户也在主动地为我们提供大量的反馈信息&#xff0c;这些信息是需要我们深入挖掘并作用于产品的&a…