Proxy Component Dynamic Memory Management for Spark Driver Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Spark computing frameworks, drivers often malfunction due to insufficient memory resources, leading to abnormal behavior and task discontinuity, as they are statically allocated memory, and current restrictions on data uploads are insufficient to prevent these issues.

Innovation Solution

A computing apparatus with a proxy component that connects executors and drivers, allowing for dynamic memory management by introducing additional drivers with greater memory resources, enabling the proxy to forward commands and results and automatically trigger additional drivers when the primary driver fails, thus ensuring continuous task execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory resources are statically allocated to each driver, then the driver can operate with guaranteed memory availability, but the driver may malfunction when the memory resources needed exceed the allocated amount

Engineering Contradiction:
Improvedriver operation stabilityVSAvoidmemory resource flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a proxy component as an intermediary between the driver and executors. The proxy manages memory resources dynamically, allocating them based on actual needs rather than static allocation. This mediator allows the driver to access additional memory resources through the proxy without requiring static allocation, thus maintaining reliability while improving adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic memory allocation where the proxy component can adjust memory resources allocated to the driver based on runtime conditions. When the driver needs more memory, it can request additional resources from the proxy, which dynamically grants them. This dynamic approach resolves the contradiction by making memory allocation flexible while maintaining system stability through controlled access.

Inventive Principle:
Principle #15Dynamics

2Reliability

If restrictions are imposed on the data amount of computing results uploaded by the executor, then the driver malfunction caused by insufficient memory can be prevented, but the productivity of the computing system is reduced

Engineering Contradiction:
Improvedriver malfunction preventionVSAvoidcomputing system efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The proxy component acts as an intermediary that handles large data transfers between executors and drivers. Instead of restricting data upload sizes, the proxy provides additional memory resources to the driver when needed, allowing full data uploads without causing driver malfunction. This maintains both reliability and productivity by removing artificial restrictions while preventing errors through dynamic resource management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the memory capacity parameter of the driver dynamically through the proxy. Rather than restricting data upload amounts, the system adjusts the driver's available memory capacity based on the actual data size being processed. This allows the driver to handle larger datasets without malfunctioning, thus maintaining productivity while ensuring reliability through adaptive parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If additional drivers with greater memory resources are introduced, then the success rate of task execution is enhanced, but the device complexity increases

Engineering Contradiction:
Improvetask execution success rateVSAvoiddriver management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The proxy component serves as a central intermediary that manages multiple drivers with different memory capacities. Instead of requiring complex direct management of multiple drivers, the proxy abstracts this complexity by handling resource allocation and driver coordination centrally. This allows the system to introduce additional drivers with greater memory resources while maintaining manageable complexity through the proxy's mediation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The proxy component performs multiple functions: it manages memory allocation for drivers, coordinates data transfer between executors and drivers, and handles driver lifecycle management. This multi-functionality consolidates the complexity of managing multiple drivers with different resources into a single universal component, thereby enhancing task execution success rate without proportionally increasing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10877804B2Computing apparatus, electronic device, and information processing method
Publication Date: 2020.12.29 LENOVO (BEIJING) LTD
  • US10877804B2 patent drawing
  • US10877804B2 patent drawing
  • US10877804B2 patent drawing

AI summary

A computing apparatus, an electronic device, and an information processing method are provided. The computing apparatus includes an executor, a driver, and a proxy component. The executor executes a computing operation based on a driving command to generate an execution result, the driver generates the driving command, and the proxy component is respectively connected to the executor and the driver. Further, the proxy component sends the driving command from the driver to the executor, and sends the execution result from the executor to the driver.