Network Switch Packet Scheduling for Cache-Miss Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network switches face throughput bottlenecks due to high cache-miss rates at destination network nodes, which occur when context items required for packet processing are not available in the cache memory, leading to delayed packet processing and potential congestion.

Innovation Solution

A network switch is configured to order packets based on attributes used as cache keys, placing packets that access common context items in proximity to each other, thereby controlling the cache-miss rate by distributing them among multiple queues using a Deficit Round Robin scheduling scheme and hash functions, ensuring efficient fetching of context items into the cache memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets are forwarded to destination network nodes without ordering, then network switch operation is simple, but cache-miss rate at destination increases causing throughput bottlenecks

Engineering Contradiction:
Improvenetwork throughputVSAvoidpacket processing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The switch performs preliminary ordering of packets based on cache key attributes before forwarding them to the destination. By pre-organizing packets so that those accessing common context items are placed in proximity, the switch proactively prevents cache-miss events rather than reacting to them, thereby improving throughput while minimizing processing delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The switch changes the temporal parameter of packet transmission by reordering packets according to their cache key attributes. This parameter transformation ensures that packets with identical or related cache keys are transmitted in close succession, optimizing cache utilization at the destination and reducing cache-miss rates

Inventive Principle:
Principle #35Parameter changes

2Productivity

If packets are ordered based on cache key attributes, then cache-miss rate decreases, but switch complexity increases

Engineering Contradiction:
Improvenetwork throughputVSAvoidswitch packet processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The switch utilizes the cache key attribute information that is already present in each packet header to perform self-service ordering. The packets essentially guide their own positioning by providing their cache key identifiers, allowing the switch to automatically organize them without requiring complex external control mechanisms, thus limiting the increase in switch complexity

Inventive Principle:
Principle #25Self-service

3Reliability

If context items are fetched on-demand without packet ordering, then switch operation is simple, but cache-miss events increase causing packet drops

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidpacket scheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The switch performs preliminary grouping of packets by cache key attributes before transmission. This pre-organization ensures that when context items are fetched on-demand at the destination, multiple packets can utilize the same cached context item, thereby reducing cache-miss events and improving packet delivery reliability without requiring complex scheduling mechanisms at the destination

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10581762B2Packet scheduling in a switch for reducing cache-miss rate at a destination network node
Publication Date: 2020.03.03 MELLANOX TECHNOLOGIES LTD(IL)
  • US10581762B2 patent drawing
  • US10581762B2 patent drawing
  • US10581762B2 patent drawing

AI summary

A network switch includes switch circuitry and multiple ports. The ports are configured to communicate with a communication network. The switch circuitry is configured to receive via the ports multiple packets, which are destined to a destination network node and which specify attributes used by the destination network node as cache keys for on-demand fetching of context items into a cache memory of the destination network node, to control a rate of fetching the context items into the cache memory at the destination network node, by ordering the received packets in a sequence, based on the attributes of the respective packets, using an ordering criterion that aims to place packets that access a common context item in proximity to one another in the sequence, and to forward the received packets to the destination network node, via the ports, in accordance with the ordered sequence.