Offload Processing Modules for Parallel Data Analytics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current server architectures face inefficiencies in handling both structured and unstructured data, particularly in terms of latency and power consumption, as they often require separate architectures for SQL queries and Big Data processing, which can lead to bottlenecks in data processing and analytics.
Innovation Solution
The implementation of Xocket In-line Memory Modules (XIMMs) connected to a memory bus, which offload lightweight data processing tasks from main server processors, utilizing 'wimpy' cores for parallel processing and reducing latency by extending in-memory space and bypassing traditional disk reads, while 'brawny' cores handle computationally intensive tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate architectures are used for SQL queries and Big Data processing, then each architecture can be optimized for its specific task, but the overall system complexity increases and data processing bottlenecks occur
Solution Approach 1:
The patent combines SQL processing and Big Data processing into a single unified server architecture. The server includes a CPU for structured query processing, an offload processing module for unstructured data processing, and a shared memory subsystem that both components can access simultaneously. This merging eliminates the need for separate architectures while maintaining task-specific optimization through dedicated processing paths.
Solution Approach 2:
The unified server architecture is designed to handle multiple types of data processing tasks simultaneously. The CPU can process structured SQL queries while the offload processing module handles unstructured Big Data operations, and both can access the same memory resources. This multi-functional design allows a single system to replace multiple specialized systems.
2Reliability
If traditional disk reads are used for data access, then data can be stored permanently, but access latency increases and processing speed decreases
Solution Approach 1:
The system pre-loads data from disk storage into a shared memory subsystem before processing is needed. The offload processing module and CPU can then access this pre-loaded data directly from memory at high speed, eliminating the latency of disk reads during actual processing operations. This preliminary action of loading data into memory resolves the speed-latency contradiction.
3Productivity
If more processing power is allocated to handle both structured and unstructured data, then data processing capability improves, but power consumption increases
Solution Approach 1:
The processing functionality is segmented into two distinct modules: a CPU for structured query processing and an offload processing module for unstructured data processing. Each module is optimized for its specific task type, allowing the system to allocate processing power efficiently without over-provisioning. This segmentation enables high productivity while managing power consumption by matching processing capabilities to task requirements.
Solution Approach 2:
A shared memory subsystem acts as an intermediary between the CPU and offload processing module. This mediator allows both processing units to access data efficiently without requiring duplicate data copies or complex data transfer protocols, reducing overall system power consumption while maintaining high processing capability.
Data Source
AI summary
A distributed computing architecture for executing at least first and second computing operations executed in parallel on a set of data, can include a plurality of servers, including first servers that each include at least one central processing unit (CPU), and at least one offload processing module coupled to CPU by a bus. Each offload processing module can include computation elements. The computation elements can be configured to operate as a virtual switch, and to execute the second computing operations on first processed data to generate second processed data. The virtual switches can form a switch fabric for exchanging data between the offload processing modules. The second computing operations are executed on a plurality of the offload processing modules in parallel.


