Network I/O Architecture Maximizing Page Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Networked computer systems face inefficiencies due to constraints in packet ordering, memory latency, and hardware latency, which degrade network performance and scalability, particularly in high-end systems with multiple processors and non-uniform memory access architectures.

Innovation Solution

A network system with an I/O architecture that allows relaxed ordering, independent and parallel data movement for each connection, split transaction models, maximized IOMMU locality, and dedicated resources for each connection, including independent DMA channels and reordering mechanisms, to minimize latency and enhance scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If strict packet ordering is enforced in traditional I/O architectures, then data integrity and correctness are maintained, but network throughput and processing efficiency deteriorate due to serialization constraints

Engineering Contradiction:
Improvenetwork throughputVSAvoidpacket ordering correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments packet processing into independent channels, each handling specific packet streams separately. This allows parallel processing of multiple packets without interference while maintaining ordering within each channel, resolving the contradiction between throughput and ordering correctness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic reordering mechanisms that allow packets to be processed out of order during transmission but are reordered at the destination. This dynamic approach enables higher throughput while maintaining correctness through software-based reordering rather than strict hardware serialization

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple processors share common memory queues, then system scalability is improved, but processing latency increases due to coordination overhead and memory access constraints

Engineering Contradiction:
Improvesystem scalabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the shared memory queue into separate per-processor queues or memory regions. Each processor has its own dedicated memory space for packet queues, eliminating the need for coordination overhead while maintaining scalability through independent processor operation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary memory management layer that handles memory access coordination between processors. This intermediary layer abstracts away the complexity of shared memory access, reducing latency by providing efficient memory routing while maintaining scalability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If asynchronous interrupt notifications are used for packet processing, then processing speed is improved, but system complexity and processing overhead increase due to interrupt handling requirements

Engineering Contradiction:
Improvepacket processing speedVSAvoidinterrupt handling complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the interrupt handling function from the main processing loop and implements it as a separate, optimized mechanism. By separating interrupt processing, the system can handle packets asynchronously without the complexity of traditional interrupt controllers, reducing overall system complexity while maintaining speed

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the traditional mechanical interrupt controller with a software-based notification mechanism. This substitution eliminates hardware interrupt complexity while maintaining asynchronous processing capability, reducing device complexity without sacrificing processing speed

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7353360B1Method for maximizing page locality
Publication Date: 2008.04.01 ORACLE AMERICAN INC
  • US7353360B1 patent drawing
  • US7353360B1 patent drawing
  • US7353360B1 patent drawing

AI summary

A method for maximizing page locality within a networking system operationally attached to a plurality of processing entities wherein each processing entity either shares or includes a corresponding memory hierarchy wherein each memory hierarchy has a table of pages temporally managed by access from the networking system is disclosed. The method includes providing at least one memory access channel to each memory hierarchy and moving information to and from pages in the memory hierarchy of a particular processing entity via its associated memory access channels.