Dynamic Network Adapter Memory Resizing for Virtual Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network adapter memory management systems face inefficiencies and inter-partition boundary violations due to static memory allocation for virtual functions, which do not adapt to dynamic translation entry storage requirements, leading to suboptimal resource utilization and increased costs.

Innovation Solution

A system dynamically resizes memory partitions on a network adapter based on the storage requirements of translation entries for virtual functions, utilizing onboard and offboard memory, and a cache hierarchy to optimize memory usage and reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static memory allocation is used for virtual functions, then memory partitioning is simple and device complexity is reduced, but memory utilization efficiency deteriorates and inter-partition boundary violations occur

Engineering Contradiction:
Improvememory management complexityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic memory partitioning where the memory allocation for each virtual function is not fixed but can be adjusted based on runtime requirements. The system monitors translation entry storage needs and dynamically resizes memory partitions to match actual usage patterns, transforming the static memory management approach into a dynamic one that adapts to changing conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the memory allocation parameter from a fixed static value to a dynamic value that varies based on translation entry requirements. By monitoring the number of translation entries needed by each virtual function and adjusting memory partition sizes accordingly, the system optimizes memory utilization while preventing boundary violations through parameter-based adaptation.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If larger memory partitions are allocated to virtual functions, then translation entry storage capacity is improved, but memory waste increases and resource utilization deteriorates

Engineering Contradiction:
Improvetranslation entry storage capacityVSAvoidmemory waste
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The system dynamically adjusts memory partition sizes based on the actual translation entry storage requirements of each virtual function. Instead of allocating fixed large partitions that may go unused, the memory allocation adapts in real-time to match the quantity of translation entries needed, ensuring adequate capacity while minimizing wasted memory resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory management system automatically monitors and adjusts partition sizes based on the actual needs of virtual functions without requiring manual intervention. The system serves itself by detecting when memory reallocation is needed and performing the adjustment autonomously, optimizing the balance between storage capacity and waste reduction.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If more onboard memory is provided on network adapters, then translation entry storage is improved, but device cost and power consumption increase

Engineering Contradiction:
Improvetranslation entry storageVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by stationary object

Solution Approach 1:

The patent implements dynamic memory allocation that adjusts onboard memory usage based on actual translation entry requirements. Instead of provisioning excessive static memory capacity on network adapters, the system dynamically allocates only the necessary amount of memory to each virtual function, reducing the total onboard memory needed while maintaining adequate storage capacity for translation entries.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the memory allocation parameter from a fixed over-provisioned value to a dynamic value that matches actual usage. By monitoring translation entry requirements and adjusting memory partition sizes accordingly, the system reduces the total onboard memory capacity needed on network adapters, thereby lowering device cost and power consumption while maintaining sufficient storage capacity.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If static memory allocation is used, then memory partitioning is straightforward and device complexity is reduced, but adaptability to dynamic requirements deteriorates

Engineering Contradiction:
Improvememory partitioning complexityVSAvoidadaptability to translation entry requirements
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent transforms static memory partitioning into a dynamic system that automatically adapts to changing translation entry requirements. The memory allocation for each virtual function is adjusted in real-time based on monitored usage patterns, enabling the system to adapt to varying workload demands while maintaining manageable complexity through automated management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory management system performs self-adjustment by automatically monitoring translation entry requirements and reallocating memory partitions without external intervention. This self-service approach enables adaptability to dynamic requirements while keeping the system relatively simple, as the adaptation logic is embedded in the automated management mechanism rather than requiring complex external control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8954704B2Dynamic network adapter memory resizing and bounding for virtual function translation entry storage
Publication Date: 2015.02.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8954704B2 patent drawing
  • US8954704B2 patent drawing
  • US8954704B2 patent drawing

AI summary

An approach is provided which a system selects a first virtual function from a plurality of virtual functions executing on a network adapter that includes a memory area. Next, the system allocates, in the memory area, a memory corresponding to the first virtual function. The system then stores one or more translation entries in the allocated memory partition, which are utilized to send data traversing through the first virtual function. As such, the system sends, utilizing one or more of the translation entries, the data packets from the network adapter to one or more destinations. In turn, the system dynamically resizes the memory partition based upon an amount of the memory partition that is utilized to store the one or more translation entries.