Storage Node Accelerator Shuffle Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data shuffle operations in distributed data processing frameworks are CPU-intensive and lead to performance bottlenecks due to heavy I/O operations and network transfers, causing stress on storage devices and networks, especially in large-data applications.
Innovation Solution
Offloading portions of shuffle operations to a storage node accelerator and utilizing peer-to-peer (P2P) connections and direct memory access (DMA/RDMA) operations to reduce processing workload and I/O operations between the host and storage nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If shuffle operations are performed using traditional CPU-intensive methods, then data processing can be completed, but system performance is bottlenecked and CPU load increases significantly
Solution Approach 1:
The patent extracts shuffle operations from the host CPU and relocates them to storage node accelerators. The host initiates shuffle operations by sending commands to storage nodes, which then execute partitioning, sorting, merging, and data movement operations locally using integrated accelerators, eliminating the need for the host CPU to process these intensive operations.
Solution Approach 2:
The patent introduces storage node accelerators as intermediary components between the host and storage devices. These accelerators handle the computationally intensive shuffle operations, acting as a mediator that offloads work from the host CPU while maintaining coordination through standardized interfaces and protocols.
2Productivity
If data is transferred frequently between host and storage nodes for shuffle operations, then processing can occur, but network transfers increase and performance bottlenecks occur
Solution Approach 1:
The patent segments the shuffle operation into distinct phases: host-initiated command generation, storage node-local data processing, and result consolidation. By dividing the operation and allowing storage nodes to process data locally without constant host intervention, network transfers are minimized while maintaining processing throughput.
3Device complexity
If shuffle operations are centralized on the host, then coordination is simplified, but storage devices experience increased stress and reduced scalability
Solution Approach 1:
The patent implements local quality by equipping each storage node with its own accelerator capable of performing shuffle operations independently. This distributes the computational burden across multiple locations rather than concentrating it on the host, reducing stress on individual storage devices while maintaining system-wide coordination through standardized protocols.
Data Source
AI summary
A method of processing data in a system having a host and a storage node may include performing a shuffle operation on data stored at the storage node, wherein the shuffle operation may include performing a shuffle write operation, and performing a shuffle read operation, wherein at least a portion of the shuffle operation is performed by an accelerator at the storage node. A method for partitioning data may include sampling, at a device, data from one or more partitions based on a number of samples, transferring the sampled data from the device to a host, determining, at the host, one or more splitters based on the sampled data, communicating the one or more splitters from the host to the device, and partitioning, at the device, data for the one or more partitions based on the one or more splitters.


