IPDK是一个开源的、与厂商无关的驱动程序和API框架,可管理由CPU、IPU、DPU或交换机构建的基础设施。DPU/IPU应该是下一个十年的可编程重要硬件载体,IPDK能否成为DPU/IPU的通用软件平台呢?
DPU/IPU持续爆火,引得越来越多的玩家相继入局,除英伟达、英特尔和AMD等国外厂商,阿里、腾讯、锐捷、浪潮、芯启源、星云智联等本土厂商也持续发力。
但目前市场上DPU/IPU软件生态非常复杂,存在框架多、接口杂、开发难度高等问题。对最终用户和供应商来说,需要一个统一的开放API来支持业务应用开发和基础设施管理。
IPDK应运而生,它屏蔽了底层硬件的差异,可以支持任何定义了相关接口类型的设备,并给上层应用提供一致性的访问接口。IPDK将管理基础设施的所有功能进行抽象封装,形成了“接口三明治”(如下图)。“三明治”底层对接SDK驱动程序、编译器后端等,顶部定义了一组RPC接口以支撑不同的应用场景。
IPDK在Linux中运行,使用SPDK、DPDK和P4等成熟的开源工具,实现网络虚拟化、存储虚拟化、工作负载调配、信任根和平台中的卸载功能。IPDK为提高性能、优化资源和确保基础设施的安全提供了一个通用平台。另外,IPDK可以抽象出硬件的压缩和加密功能,以及底层的存储加速。
IPDK包括两大开放接口,一种是Infrastructure Application Interface(基础设施应用接口),另一种是Target Abstraction Interface (TAI)(目标设备抽象接口),这个概念有点像SDN里的北向接口与南向接口。
基础设施应用接口
基础设施应用接口基于以下两个设计原则:
基础设施应用接口也可以被认为是DPU/IPU容器的北向接口,代表IPDK中支持的不同RPC接口,其中包括:
基础设施应用接口的示例实现如下图所示:
目标设备抽象接口
目标设备抽象接口 (TAI) 是为基础设施硬件设备定义的一个抽象模型,基础设施应用程序可以通过TAI管理调度设备资源。
目标抽象接口基于以下三个设计原则:
目标设备抽象接口由以下部分组成:
IPDK主要的应用场景包括:
IaaS:实现跨虚拟机、容器和裸机的虚拟网络、存储和加密技术等;
IaaS场景下的网络虚拟化
IaaS场景下的存储虚拟化
IaaS场景下的主机虚拟化
PaaS:实现容器网络、代理服务等;
PaaS场景下的CSI & CNI
PaaS场景下的Calico Running on IPU
PaaS场景下的Envoy on IPU
Inline Acceleration:实现防火墙、IDS、网络遥测、5G/无线基础设施、AI/ML等。
从前文我们也可以看出,IPDK与DOCA非常相似。
DOCA(Data Center Infrastructure-on-a-Chip Architecture)是英伟达专为BlueField DPU打造的一个高度可编程的SDK开发平台工具,为开发者提供简单开发接口,程序员可以利用 API、库和示例代码来创建和加速应用程序,从而丰富DPU的应用开发生态。英伟达的专家将DOCA类比为数据中心服务器领域的CUDA。
IPDK与DOCA相比,其独特之处在于它是一个面向DPU/IPU 等硬件进行抽象封装的公共开发套件。由于一致的抽象性,它可以在任何硬件上运行,除英特尔的IPU外,还包括英特尔 Xeon服务器及其他厂商的DPU。例如,Marvell展示了他们在其Octeon DPU上运行的IPDK。但目前IPDK的生态建设还处于起步阶段,而DOCA在市场上已经有一定的用户量。
未来IPDK项目能否顺利发展,业界人士认为还要考虑到以下几点:
IPDK项目的愿景十分宏大,但其最终能否成为像OpenStack、Kubernetes那样的明星开源项目,甚至成为DPU/IPU的通用软件平台,还需多方参与,共同推动,期待IPDK项目早日走向成熟。
当前标题:IPDK:可编程基础设施时代的开源开发框架
URL链接:http://www.shufengxianlan.com/qtweb/news0/457050.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联