Network I/O Architecture Hiding Memory Latencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Networked computer systems face challenges in hiding system latencies, particularly due to memory access latency issues, asynchronous interrupt notifications, and the constraints of packet ordering, which degrade network performance and scalability.

Innovation Solution

A network system with an I/O architecture that allows relaxed ordering, enabling parallel data movement across multiple memory access channels, and implementing a split transaction model to minimize ordering constraints, while maximizing IOMMU locality and reducing bridge latency through dedicated resources and a reorder mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packet ordering constraints are enforced to ensure reliable data transmission, then data integrity is improved, but system latency increases due to sequential processing requirements

Engineering Contradiction:
Improvedata integrityVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the packet processing function into two independent components: a network interface that receives and buffers packets with relaxed ordering, and a processor that enforces ordering constraints only when necessary for data integrity. This segmentation allows parallel processing of multiple packets while maintaining reliability requirements selectively.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic ordering enforcement where the system adapts its ordering constraints based on the specific data transmission requirements. For data streams where ordering is critical, strict ordering is enforced; for other streams, relaxed ordering is permitted, allowing parallel processing and reduced latency.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple memory access channels are used to increase data throughput, then network throughput is improved, but memory access latency becomes arbitrary and unpredictable

Engineering Contradiction:
Improvenetwork throughputVSAvoidmemory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the memory access system into multiple independent channels that can operate in parallel. Each channel handles specific data streams, allowing simultaneous memory accesses without interference. The system includes mechanisms to track and reconcile data from multiple channels, ensuring correctness while maintaining high throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary buffering and reordering mechanisms that decouple the parallel memory access channels from the final data delivery. These intermediaries absorb the arbitrariness of parallel access latencies and present a more predictable interface to higher-level protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If asynchronous interrupt notifications are used to improve processor responsiveness, then system responsiveness is improved, but processing overhead increases due to interrupt handling penalties

Engineering Contradiction:
Improvesystem responsivenessVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements partial interrupt usage where asynchronous interrupts are enabled only for critical events that require immediate processor attention. Less critical events are handled through polling or deferred processing mechanisms, reducing the overall interrupt overhead while maintaining responsiveness for important operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7987306B2Hiding system latencies in a throughput networking system
Publication Date: 2011.07.26 ORACLE AMERICAN INC
  • US7987306B2 patent drawing
  • US7987306B2 patent drawing
  • US7987306B2 patent drawing

AI summary

A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.