Architecture-Aware Network Buffer Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems with separated nodes face inefficiencies in allocating network buffers due to physically and conceptually separated kernel buffers, leading to suboptimal data processing and transmission performance.

Innovation Solution

A method and system where a Media Access Card (MAC) layer dynamically allocates transmit and receive kernel buffers based on an allocation policy, considering the location of available buffers, network interfaces, and application nodes to optimize buffer allocation and reduce data transmission distance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If kernel buffers are physically and conceptually separated from applications to leverage computing hardware speed, then hardware processing speed is improved, but data transmission efficiency deteriorates due to increased physical distance and suboptimal buffer allocation

Engineering Contradiction:
Improvehardware processing speedVSAvoiddata transmission efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The MAC layer proactively obtains allocation policies and buffer location information before actual data transmission occurs. By pre-configuring buffer allocation strategies and maintaining awareness of buffer locations across nodes, the system prepares optimal allocation paths in advance, reducing transmission delays while maintaining hardware speed advantages

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a new dimension of spatial awareness by tracking buffer locations across multiple physical nodes. The allocation policy operates in this extended spatial dimension, selecting buffers based on their physical proximity to applications and network interfaces, thereby optimizing data transmission paths in the multi-node architecture

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If buffers are allocated without considering location information, then allocation simplicity is maintained, but data transmission distance increases leading to suboptimal performance

Engineering Contradiction:
Improvebuffer allocation simplicityVSAvoiddata transmission distance
Core Design Contradiction:
Ease of operationVSLength of moving object

Solution Approach 1:

The MAC layer autonomously performs location-aware buffer allocation by obtaining allocation policies and buffer location information, then independently making allocation decisions. This self-service mechanism eliminates the need for complex centralized control while achieving optimized buffer placement that minimizes transmission distances

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The allocation policy incorporates location parameters (buffer location, application location, network interface location) into the decision-making process. By changing the allocation criteria from simple availability to location-optimized selection, the system reduces transmission distances while maintaining allocation efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8478877B2Architecture-aware allocation of network buffers
Publication Date: 2013.07.02 ORACLE INT CORP
  • US8478877B2 patent drawing
  • US8478877B2 patent drawing
  • US8478877B2 patent drawing

AI summary

A computer readable medium comprising software instructions for: obtaining an allocation policy by a MAC layer executing on a host; receiving, a request for a transmit kernel buffer (TxKB) by a sending application executing on at least one processor of the host; obtaining a location of a plurality of available TxKBs on the host; obtaining a location of at least one available network interface on the host; obtaining a location of the sending application; allocating one of the plurality of available TxKBs to obtain an allocated TxKB, wherein the one of the plurality of available TxKBs is selected according to the allocation policy using the location of the plurality of available TxKB, the location of the at least one available network interface, and the location of the sending application, to obtain an allocated TxKB; and providing, to the sending application, the location of the allocated TxKB.