IPDK/IPU:可编程基础设施建设的开源项目

IPDK/IPU:可编程基础设施建设的开源项目

DPU/IPU正在构建强大的可编程基础设施2d素材,其市场的火热催生出了一个新的开源项目OPI(Open Programmable Infrastructure,开放可编程基础设施)。OPI主张“Unlocking Your Programmable Future”,旨在为基于DPU/IPU等可编程硬件承载的软件开发框架培育一个由社区驱动的开放生态。2022年3月,首届OPI Event行业会议在线举行,OPI的子项目IPDK(Infrastructure Programmer Development Kit,基础设施程序员开发工具包)成为了会议亮点之一。

IPDK是一个开源的、与厂商无关的驱动程序和API框架,可管理由CPU、IPU、DPU或交换机构建的基础设施。DPU/IPU应该是下一个十年的可编程重要硬件载体,IPDK能否成为DPU/IPU的通用软件平台呢?

directx游戏开发_directx 90 3d游戏开发编程基础 下载_基于directx开发游戏

DPU/IPU软件生态

DPU/IPU持续爆火,引得越来越多的玩家相继入局,除英伟达、英特尔和AMD等国外厂商,阿里、腾讯、锐捷、浪潮、芯启源、星云智联等本土厂商也持续发力。

directx 90 3d游戏开发编程基础 下载_directx游戏开发_基于directx开发游戏

但目前市场上DPU/IPU软件生态非常复杂,存在框架多、接口杂、开发难度高等问题。对最终用户和供应商来说,需要一个统一的开放API来支持业务应用开发和基础设施管理。

directx 90 3d游戏开发编程基础 下载_基于directx开发游戏_directx游戏开发

IPDK

IPDK应运而生,它屏蔽了底层硬件的差异,可以支持任何定义了相关接口类型的设备,并给上层应用提供一致性的访问接口。IPDK将管理基础设施的所有功能进行抽象封装,形成了“接口三明治”(如下图)。“三明治”底层对接SDK驱动程序、编译器后端等,顶部定义了一组RPC接口以支撑不同的应用场景。

基于directx开发游戏_directx 90 3d游戏开发编程基础 下载_directx游戏开发

IPDK在Linux中运行,使用SPDK、DPDK和P4等成熟的开源工具,实现网络虚拟化、存储虚拟化、工作负载调配、信任根和平台中的卸载功能。IPDK为提高性能、优化资源和确保基础设施的安全提供了一个通用平台。另外,IPDK可以抽象出硬件的压缩和加密功能,以及底层的存储加速。

IPDK标准接口

IPDK包括两大开放接口,一种是Infrastructure Application Interface(基础设施应用接口),另一种是Target Abstraction Interface (TAI)(目标设备抽象接口),这个概念有点像SDN里的北向接口与南向接口。

directx游戏开发_基于directx开发游戏_directx 90 3d游戏开发编程基础 下载

基础设施应用接口

基础设施应用接口基于以下两个设计原则:

基础设施应用接口也可以被认为是DPU/IPU容器的北向接口,代表IPDK中支持的不同RPC接口directx 90 3d游戏开发编程基础 下载,其中包括:

基础设施应用接口的示例实现如下图所示:

基于directx开发游戏_directx 90 3d游戏开发编程基础 下载_directx游戏开发

目标设备抽象接口

目标设备抽象接口 (TAI) 是为基础设施硬件设备定义的一个抽象模型,基础设施应用程序可以通过TAI管理调度设备资源。

目标抽象接口基于以下三个设计原则:

目标设备抽象接口由以下部分组成:

IPDK应用场景

IPDK主要的应用场景包括:

1. IaaS:实现跨虚拟机、容器和裸机的虚拟网络、存储和加密技术等;

基于directx开发游戏_directx 90 3d游戏开发编程基础 下载_directx游戏开发

IaaS场景下的网络虚拟化

directx 90 3d游戏开发编程基础 下载_基于directx开发游戏_directx游戏开发

IaaS场景下的存储虚拟化

directx 90 3d游戏开发编程基础 下载_基于directx开发游戏_directx游戏开发

IaaS场景下的主机虚拟化

2. PaaS:实现容器网络、代理服务等;

directx 90 3d游戏开发编程基础 下载_directx游戏开发_基于directx开发游戏

PaaS场景下的CSI & CNI

基于directx开发游戏_directx游戏开发_directx 90 3d游戏开发编程基础 下载

PaaS场景下的Calico Running on IPU

directx 90 3d游戏开发编程基础 下载_基于directx开发游戏_directx游戏开发

PaaS场景下的Envoy on IPU

3. Inline Acceleration:实现防火墙、IDS、网络遥测、5G/无线基础设施、AI/ML等。

IPDK与DOCA

从前文我们也可以看出,IPDK与DOCA非常相似。

基于directx开发游戏_directx游戏开发_directx 90 3d游戏开发编程基础 下载

DOCA(Data Center Infrastructure-on-a-Chip Architecture)是英伟达专为BlueField DPU打造的一个高度可编程的SDK开发平台工具,为开发者提供简单开发接口,程序员可以利用 API、库和示例代码来创建和加速应用程序,从而丰富DPU的应用开发生态。英伟达的专家将DOCA类比为数据中心服务器领域的CUDA。

directx 90 3d游戏开发编程基础 下载_基于directx开发游戏_directx游戏开发

IPDK与DOCA相比,其独特之处在于它是一个面向DPU/IPU 等硬件进行抽象封装的公共开发套件。由于一致的抽象性,它可以在任何硬件上运行,除英特尔的IPU外,还包括英特尔 Xeon服务器及其他厂商的DPU。例如,Marvell展示了他们在其Octeon DPU上运行的IPDK。但目前IPDK的生态建设还处于起步阶段,而DOCA在市场上已经有一定的用户量。

directx 90 3d游戏开发编程基础 下载_基于directx开发游戏_directx游戏开发

directx 90 3d游戏开发编程基础 下载_directx游戏开发_基于directx开发游戏

展 望

未来IPDK项目能否顺利发展,业界人士认为还要考虑到以下几点:

从技术角度,后续IPDK接口封装是否全面?能否实现向后兼容?

项目的发展还要需求牵引,未来会不会出现一个杀手级应用真正引爆IPDK?

目前类似软件堆栈百家争鸣,如何打动和吸引更多厂家参与到IPDK?如何平衡多方的利益?

IPDK项目的愿景十分宏大,但其最终能否成为像OpenStack、Kubernetes那样的明星开源项目,甚至成为DPU/IPU的通用软件平台,还需多方参与,共同推动,期待IPDK项目早日走向成熟。

附录

OPI Event会议资料:

IPDK项目地址:

SDNLAB公众号后台回复【OPI】获取大会PPT

参考链接

1.IPU/DPU 软件生态建设

2.英特尔软件定义网络和边缘的蓝宝书

3.%20-%20Recipes.pdf

为了大家能够进一步探索论证开源的创新模式、协作模式、商业模式directx 90 3d游戏开发编程基础 下载,我们将在5月24-26日举办2022网络开源技术生态线上峰会3D道具, “足不出户”尽享网络开源技术大咖带来的精彩分享。

directx游戏开发_基于directx开发游戏_directx 90 3d游戏开发编程基础 下载

【活动专栏】

文章来源:http://mp.weixin.qq.com/s?src=11×tamp=1692317525&ver=4719&signature=ZzVt4QbGSO-*iY7P0mqLowBby3Yoc7plBYb-O6jIGTdT-D6oGcsPr4WiBKBuqEk8k4jJxXJ34Iunn6EKDf79erX0PkBFLb2s03E45SAZXn-rTDgc90ih5pfAuhH3wDaV&new=1