Unlocking the Potential of DPUs and IPUs: Introducing the OPI Project
Table of Contents
- Introduction
- Open Programmable Infrastructure Project (OPI)
- Working Group Leaders in OPI
- About SNIA
- SNIA's Activities
- Legal Disclaimer
- Working Groups in OPI
- Provisioning and Lifecycle Management
- Provisioning of DPU and IPO Devices
- Inventory Collection
- Boot Sequencing
- Lifecycle Management
- Monitoring and Telemetry
- API
- Storage
- Security
- Networking
- Artificial Intelligence and Machine Learning
- Use Case
- Simulation Environment and Developer Platform
- Joining the Project
- Conclusion
Introduction
Welcome everyone to Asana Network Storage Forum. In this session, we will be discussing the Open Programmable Infrastructure Project, also known as OPI. Our goal is to provide an overview of OPI and its working groups, as well as the progress made so far in developing an open ecosystem for Data Processing Units (DPUs) and IPUs. We have invited leaders from the working groups to present their findings and answer any questions you may have. So without further ado, let's get started.
Open Programmable Infrastructure Project (OPI)
The Open Programmable Infrastructure Project (OPI) is an initiative aimed at creating an open ecosystem for Data Processing Units (DPUs) and Intelligent Processing Units (IPUs). The project is hosted by the Linux Foundation and consists of multiple working groups focused on different areas of development, including provisioning, lifecycle management, APIs, use cases, and more.
OPI aims to provide a standardized framework for the deployment, management, and monitoring of DPUs and IPUs across different vendors and platforms. By establishing common APIs and protocols, OPI aims to eliminate vendor lock-in and enable interoperability between hardware and software components.
Working Group Leaders in OPI
- Joseph White: Fellow with Dell and OPI TSC Chair
- Paul Pindell: Principal Architect working on Business Development at Dell
- Boris Blumsher: Distinguished Engineer at Dell and OPI Lifecycle and Provisioning Working Group Leader
- Stephen Royers: Principal Software Engineer at Red Hat and OPI POC and Developer Platform Working Group Leader
- Alphonse Iown: Global Head of Telco Networking at Nvidia and OPI Use Case Working Group Leader
These leaders form the core team responsible for driving the development and advancement of OPI. They bring a wealth of experience and expertise to the table, ensuring that the project remains on track and meets its objectives.
About SNIA
SNIA (Storage Networking Industry Association) is a large organization consisting of over 180 member organizations and 2,500 active contributors. For the past 25 years, SNIA has been devoted to advancing the field of storage, covering all aspects of server, storage, and networking technologies. SNIA's diverse set of activities makes it a leading authority in the industry.
SNIA's Activities
SNIA covers a wide range of activities, including standards development, education, and advocacy. The organization develops and promotes industry standards related to storage, such as the DMI SM BIOS standard, which provides a common interface for accessing inventory information across different devices.
SNIA also provides educational resources to help individuals and organizations stay up-to-date with the latest developments in storage technology. This includes hosting conferences, webinars, and workshops, as well as providing online publications and technical documentation.
Legal Disclaimer
Before we proceed with the discussion, it is essential to note that the information provided in this session is for educational and informative purposes only. No warranties or guarantees are implied. The views and opinions expressed by the speakers are their own and may not reflect the views of the organizations they represent.
Now, let's delve into the working groups in OPI and learn more about their objectives and progress.
Working Groups in OPI
OPI consists of several working groups, each focusing on a specific area of development. These working groups collaborate to drive the project forward and ensure the successful implementation of OPI's goals.
Provisioning and Lifecycle Management
The Provisioning and Lifecycle Management working group is responsible for defining the processes and protocols for provisioning, inventory collection, boot sequencing, lifecycle management, and monitoring of DPUs and IPUs. Let's take a closer look at each of these focus areas:
Provisioning of DPU and IPO Devices
One of the main challenges in deploying DPUs and IPUs is the provisioning process. The working group aims to automate the provisioning of these devices while ensuring security and authenticity. They have adopted the RFC A572 standard for secure zero-touch provisioning, which allows for automated provisioning without any manual intervention.
Pros:
- Streamlined and automated provisioning process
- Ensures security and authenticity of DPUs and IPUs
Cons:
- Requires support from device manufacturers to implement RFC A572 standard
Inventory Collection
Collecting inventory information from DPUs and IPUs is crucial for effective management and troubleshooting. The working group focuses on standardizing the collection of local and remote inventory information. They have adopted the DMI SM BIOS standard for local inventory, which provides a common interface for accessing system information. Additionally, they are exploring options for remote network inventory collection using standards like DMTF registry and gRPC-based protocols.
Pros:
- Standardized inventory collection process
- Enables efficient management and monitoring of DPUs and IPUs
Cons:
- Requires support and compliance from device manufacturers
Boot Sequencing
Boot sequencing is vital when DPUs and IPUs are integrated into a server environment. The working group aims to coordinate the boot process between the server and the devices to ensure proper initialization and communication. They are developing mechanisms for boot complete notification, handling DPU reboots, host reboots, and handling system crashes.
Pros:
- Ensures seamless boot process for DPUs and IPUs in a server environment
- Prevents issues caused by incorrect boot sequencing or system crashes
Cons:
- Requires coordination and compatibility between server hardware, firmware, and DPU/IPU devices
Lifecycle Management
Managing the lifecycle of DPUs and IPUs involves tasks like firmware updates, application upgrades, reboots, and factory resets. The working group focuses on defining standard APIs and protocols for performing these lifecycle management tasks. They also consider aspects like resource allocation, release of resources, and debugging in the context of DPU and IPU lifecycle management.
Pros:
- Standardized lifecycle management processes for DPUs and IPUs
- Simplifies firmware updates, application upgrades, and debugging
Cons:
- Requires support from device manufacturers to implement the standard APIs
Monitoring and Telemetry
Effective monitoring and telemetry are essential for maintaining the performance and reliability of DPUs and IPUs. The working group has adopted the OpenTelemetry standard for tracing, metrics, and logs. They aim to provide a unified approach for streaming telemetry data from DPUs and IPUs to a centralized location, enabling easy visualization and analysis using tools like Prometheus and Grafana. The working group has developed example implementations using the OpenTelemetry collector integrated with SPDK (Storage Performance Development Kit) and system monitoring tools.
Pros:
- Standardized monitoring and telemetry process for DPUs and IPUs
- Enables efficient troubleshooting and performance analysis
Cons:
- Requires support from device manufacturers to implement OpenTelemetry standard and provide telemetry data
API
The API working group is responsible for defining standard APIs for different areas, including storage, security, networking, and artificial intelligence and machine learning (AI/ML). The goal is to provide a common interface for managing and interacting with DPUs and IPUs across different vendors and platforms.
Storage
The working group aims to standardize the management of emulated storage devices, such as NVMe PCIe and NVMe over Fabric. They are developing APIs for front-end (host-facing), back-end (network-facing), and middle-end (services in between) storage functions. The working group has implemented reference implementations using the SPDK open source project and vendor-specific bridges for Marvel and NVIDIA.
Security
Standardizing security APIs is crucial for ensuring the proper implementation of features like IPsec and rule-based filtering. The working group focuses on developing APIs for security offload, encryption, and other security-related functions. They have implemented a bridge for the StrongSwan application, which enables IPsec tunneling on DPUs and IPUs.
Networking
With DPUs and IPUs performing routing and networking functions, the working group aims to provide a standardized API framework for networking capabilities. This includes support for cloud-facing, telco-focused, and Kubernetes networking APIs. The working group considers existing API models like OpenConfig and CNI implementations to ensure compatibility and interoperability.
Artificial Intelligence and Machine Learning
While this area is still in its early stages, the working group acknowledges the growing importance of AI/ML applications in the context of DPUs and IPUs. They are open to contributions and discussions on how to develop APIs for AIML functionalities, such as workload splitting and resource allocation.
Use Case
The use case working group focuses on understanding the specific requirements and pain points of end users and deployment partners. By engaging with clients and listening to their needs, the group aims to align project goals and prioritize development efforts. They also serve as a bridge between the technical aspects of the project and the industry's practical applications.
The use case group encourages end users to join the project, share their experiences, and provide feedback. This input helps shape the project's direction and ensures that it delivers tangible benefits to the industry.
Simulation Environment and Developer Platform
The Proof of Concept (POC) and Developer Platform working group focuses on creating a simulation environment and developer-friendly platform for testing and developing applications for DPUs and IPUs.
The simulation environment allows developers to test and experiment with OPI software without the need for physical hardware. It enables easy deployment of the OPI software stack using Docker Compose and provides automated testing capabilities. Developers can add their own services and tests to verify compatibility and functionality.
The Developer Platform also serves as the Continuous Integration (CI) environment for OPI. It ensures that changes and updates to the project are thoroughly tested and validated before release. The group is also working on a lab definition using real hardware to expand the CI capabilities and support cross-vendor environments.
Joining the Project
If you are interested in joining the OPI project, there are several options available. You can participate as an individual contributor or as part of an organization. OPI's meetings and discussions are open to the public, and all technical documentation and resources are publicly accessible. You can join the project's mailing lists, Slack channels, and contribute to the ongoing development efforts.
Formal participation in OPI can be achieved by reaching out to the Linux Foundation or getting in touch with the project's leadership team. The Linux Foundation can guide you through the process of becoming a formal participant and ensure that your contributions are integrated into the project effectively.
Conclusion
The Open Programmable Infrastructure Project (OPI) is an exciting initiative aimed at creating an open ecosystem for Data Processing Units (DPUs) and Intelligent Processing Units (IPUs). Through collaboration and standardization, OPI aims to eliminate vendor lock-in and ensure interoperability between hardware and software components.
The project consists of working groups dedicated to different areas of development, including provisioning, lifecycle management, APIs, use cases, and more. These groups work together to define industry standards and create an open and scalable platform for DPUs and IPUs.
By joining the OPI project, you can contribute to the development of this open ecosystem and help shape the future of data processing. We encourage everyone with an interest in DPUs and IPUs to get involved, provide feedback, and contribute their expertise.
Thank you for attending this session and showing your interest in the OPI project. If you have any further questions or would like to join the project, please do not hesitate to reach out.