IPDK — Overview
目录
文章目录
- 目录
- OPI
- IPDK
- Infrastructure Application Interface
- Target Abstraction Interface
- IPDK 应用场景
- IaaS
- 网络虚拟化
- 存储虚拟化
- 主机虚拟化
- PaaS
- CSI & CNI
- Calico Running on IPU
- Envoy on IPU
OPI
2022 年 6 月 21 日,Linux 基金会宣布了新的 OPI(Open Programmable Infrastructure,开放可编程基础设施)项目,并提出了 “Unlocking Your Programmable Future” 的口号,旨在为基于 DPU/IPU 等可编程硬件承载的软件开发框架培育一个由社区驱动的开放生态,简化应用程序中的网络、存储和安全 API,从而在开发运维、安全运维以及网络运维之间的云和数据中心中实现更具可移植性和高性能的应用程序。
- https://opiproject.org
OPI 的工作目标:
- 定义 DPU/IPU。
- 描述适用于任何硬件解决方案的基于 DPU/IPU 的软件堆栈的供应商无关的框架和架构。
- 支持创建丰富的开源应用程序生态系统。
- 与具有相同愿景的现有开源项目(如 Linux 内核)集成。
- 创建新的 API,用于与 DPU/IPU 生态系统的元素进行交互,包括:硬件、托管应用程序、主机节点以及软件的远程配置和编排。
目前 OPI 的两个核心项目将会是 IPDK 和 DOCA。
IPDK
IPDK(Infrastructure Programmer Development Kit,基础设施程序员开发工具包)作为 OPI 的子项目,是一个开源的、与厂商无关的驱动程序和 API 框架,可管理由 CPU、IPU、DPU 或 Switch 构建的基础设施。
- https://ipdk.io/
IPDK 运行在 Linux 中,使用 SPDK、DPDK 和 P4 等成熟的开源工具,实现网络虚拟化、存储虚拟化、工作负载调配、信任根和平台中的卸载功能。
IPDK 用于屏蔽底层 DPU/IPU 硬件的差异,可以支持任何定义了相关接口类型的设备,并给上层应用提供一致性的访问接口。IPDK 将管理基础设施的所有功能进行抽象封装,形成了 “接口三明治”。
Infrastructure Application Interface
Infrastructure Application Interface(基础设施应用接口)
基础设施应用接口基于以下两个设计原则:
基于标准:根据基础设施应用程序使用的现有标准进行开发设计。
基于 RPC:应用程序可以运行在本地、远程或两者结合。
基础设施应用接口也可以被认为是 DPU/IPU 设备的北向接口,代表 IPDK 中支持的不同 RPC 接口,其中包括:
P4Runtime:用于可编程网络的数据平面。
OpenConfig:用于配置物理端口、虚拟设备、QoS 和 IPSec 等。
Redfish / REST API:用于基础设施设备生命周期和平台管理。
SPDK Storage Protocol:用于软件定义存储的 RPC 接口。
Managed Kubernetes:用于控制 Kubernetes 基础设施组件的 RPC 接口。
Envoy xDS:用于配置 Envoy 的 RPC 接口。
Target Abstraction Interface
Target Abstraction Interface(目标设备抽象接口)为基础设施硬件设备定义的一个抽象模型,基础设施应用程序可以通过 TAI 管理调度设备资源。
目标抽象接口基于以下 3 个设计原则:
基于标准:根据可编程目标的现有标准进行开发设计。
基于驱动程序和库组件:基础设施中的应用程序与 TAI 的库组件连接,以对控制平面进行编程。在计算实例和基础设施中的应用程序都使用设备驱动程序进行数据平面操作,例如移动数据包或存储数据。
基于功能:根据功能接口进行开发设计,这样应用程序可以在部署目标之前预先查询目标以了解其功能。
目标设备抽象接口由以下部分组成:
虚拟设备:虚拟设备使用 PCI 热插拔与计算实例交互。
生命周期控制:控制平面接口用于管理运行基础设施设备的更新、监控、重置和恢复。
加速器控制:用于加速器的控制平面接口,供基础设施应用程序使用。
IPDK 应用场景
IaaS
网络虚拟化
存储虚拟化
主机虚拟化
PaaS
CSI & CNI
Calico Running on IPU
Envoy on IPU
IPDK — Overview相关推荐
- Overview of ISA and TMG Networking and ISA Networking Case Study (Part 1)
老方说:此篇文章摘自ISASERVER.ORG网站,出自Thomas Shinder达人之手.严重建议ISA爱好者看看. Published: Dec 16, 2008 Update ...
- 论文: Data-Driven Evolutionary Optimization: An Overview and case studies(1) 数据驱动概念,文章结构,大数分类
声明: 只作为自己阅读论文的相关笔记记录,理解有误的地方还望指正 论文下载链接: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumb ...
- Android开发者指南(18) —— Web Apps Overview
前言 本章内容为开发者指南(Dev Guide)/Web Applications/Web Apps Overview,版本为Android 3.2 r1,翻译来自:"happyjiahan ...
- SAP WM初阶之TO报表LX12 - TOs Resident Documents(Detailed Overview)
SAP WM初阶之TO报表LX12 - TOs Resident Documents(Detailed Overview) SAP WM模块里的TO的报表LX12 – Detailed Overvie ...
- SAP Retail Execution Overview
SAP Retail Execution Overview 如下地址可以下载SAP Retail Execution Overview相关介绍的PDF文件. REX 3x (edgesuite.net ...
- SAP Forecasting and Replenishment for Retail – A short Overview【中英文双语版】
SAP Forecasting and Replenishment for Retail – A short Overview SAP零售预测和补货–简要概述 General Objectives a ...
- [译]5.1. System Initialization Overview 系统初始化简介
目录:http://www.cnblogs.com/WuCountry/archive/2008/11/15/1333960.html [不提供插图,读者最好从网上下载源书] 5.1. Syste ...
- Openstack组件部署 — Overview和前期环境准备
目录 目录 前言 软件环境 Openstack 简介 Openstack 架构 Openstack Install Overview 创建Node虚拟机 环境准备 基础设置 Install OpenS ...
- 【 Overview 】ALGORITHMS FOR SOURCE LOCALIZATION
Overview ]MEASUREMENT MODELS AND PRINCIPLES FOR SOURCE LOCALIZATION 这篇博文给出了源定位的模型以及原理总览,这是有好处的,把各种基本 ...
最新文章
- dede DedeTag Engine Create File False
- python协程处理海量文件_python_实战篇_使用协程gevent模块实现多任务copyA文件夹到B文件夹...
- 云服务器饥荒_运用双腾讯云搭建《饥荒》多人联机服务器
- springboot线程池使用
- 工具使用-----Jmeter教程 简单的压力测试
- 【Shell】压缩相关命令
- 计算机教案解说词,小学微机室解说词初稿
- jdk中java程序调试_jcmd:JDK14中的调试神器
- 小数分频器vhdl实现_小数分频VHDL代码
- 爱快软路由常见问题汇编(2018-04-21)
- JS数组方法(最详细)
- Ignite VS Redis
- android7.0 360os,360 OS 2.0评测 安全与体会的全部升级
- 利用Maya快速简便建立山脉模型
- 淘宝标题怎么写?写标题营销词怎么应用恰当?
- Allegro如何使用Snake命令走蛇形线操作指导
- 关于QXDM的安装,解决Win7下QIK报错的问题
- 基于Neo4j的网络安全知识图谱构建分析
- 怎样用计算机看电影听音乐,如何使用Windows Media Player听歌看电影
- Spark SQL 日期和时间戳函数