PISA Smart Switch Offloading for Distributed Storage Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud infrastructure faces challenges in efficiently processing and forwarding large numbers of traffic flows between compute servers and storage servers, particularly in supporting packet processing and storage traffic, which is CPU-intensive and not adequately addressed by existing solutions such as Smart NICs and accelerator cards.
Innovation Solution
The implementation of a smart switch architecture that separates the control plane and data plane, using Protocol Independent Switch Architecture (PISA) devices and P4 programming model, to offload data plane operations to hardware, thereby enhancing the forwarding of storage and data traffic in cloud environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Smart NICs or accelerator cards are used to offload routing and forwarding, then packet processing performance is improved, but forwarding of data and storage traffic between servers is not adequately addressed
Solution Approach 1:
A smart switch is introduced as an intermediary device between compute servers and storage servers. The smart switch includes a PISA device that can be programmed via P4 to implement specific forwarding functions. This intermediary handles the actual data plane forwarding operations, while the servers focus on compute tasks and control plane operations.
Solution Approach 2:
The network infrastructure is segmented into distinct functional components: compute servers handle processing and control plane operations, while the smart switch handles data plane forwarding operations. This segmentation allows each component to be optimized for its specific function, with the smart switch dedicated to high-speed packet forwarding between servers.
2Adaptability or versatility
If management software is implemented for the data plane, then functionality and flexibility are enhanced, but performance deteriorates due to CPU-intensive operations
Solution Approach 1:
The smart switch acts as an intermediary that executes data plane operations in hardware rather than software. The PISA device within the smart switch can be programmed via P4 to implement specific forwarding functions, providing both hardware-speed performance and software-level flexibility.
Solution Approach 2:
Data plane operations are moved from software-based CPU processing to hardware-based PISA device processing. This substitution replaces the mechanical/software system with a hardware system that operates at line speed, eliminating the performance bottleneck while maintaining flexibility through programmability.
3Productivity
If hardware-based solutions are used for the data plane, then performance is improved, but functionality and flexibility are reduced
Solution Approach 1:
The PISA device in the smart switch is designed to be universally programmable via P4, allowing it to perform multiple different forwarding functions. The same hardware platform can be reconfigured to support various protocols and forwarding behaviors, providing multi-functionality without requiring separate hardware for each function.
Solution Approach 2:
The data plane forwarding behavior is made dynamic and configurable through P4 programming. Instead of fixed hardware logic, the forwarding rules and behaviors can be dynamically updated and reconfigured to adapt to changing network requirements while maintaining hardware-speed performance.
Data Source
AI summary
Methods and apparatus for end-to-end data plane offloading for distributed storage using protocol hardware and Protocol Independent Switch Architecture (PISA) devices. Hardware-based data plane forwarding is implemented in compute and storage switches that comprise smart server switches running software executing in a kernel and user space. The compute switch is coupled to one or more compute servers/nodes and the storage server is coupled to one or more storage servers or storage arrays. The hardware-based data plane forwarding facilitates an end-to-end data plane between the computer server(s) and storage server(s)/array(s) that is offloaded to hardware. In one example the software comprises Ceph components used to implement control plane operations in connection with hardware offloaded data plane operations, and storage traffic employs the NVMe-oF protocol and the kernels include NVMe-oF modules. In one aspect the hardware-based data plane forwarding is implemented using programmable P4switch chips. In one aspect the storage and server switches are Top of Rack (ToR) switches.


