Island-Based Network Flow Processor Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network processors, such as the Intel IXP2800, face limitations in scalability and flexibility due to fixed architectures, which restrict their ability to efficiently handle packet traffic and adapt to varying processing demands in network environments.

Innovation Solution

The island-based network flow processor (IB-NFP) integrated circuit features a configurable mesh data bus with partitioned functional circuitry, distributed credit FIFO structures, and a staggered island organization, enabling flexible inter-island communication and dynamic reconfiguration of mesh buses to optimize packet processing and scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed architecture is used in network processors, then the device complexity is reduced and manufacturing is easier, but the adaptability and flexibility to handle varying packet traffic demands deteriorates

Engineering Contradiction:
Improveadaptability to varying processing demandsVSAvoidarchitecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The network processor is divided into multiple independent functional islands (ingress islands, egress islands, memory islands, microengine islands) that can be independently configured and scaled. Each island handles specific packet processing functions, allowing the system to adapt to different traffic demands by activating only the necessary islands rather than requiring a complete fixed-architecture redesign.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The mesh data bus architecture provides dynamic reconfigurability through configurable crossbar switches and programmable microengines. The system can dynamically allocate bandwidth and routing paths on the mesh bus based on real-time traffic conditions, and microengines can be programmed to perform different packet processing operations as needed, transforming a static architecture into a dynamic adaptive system.

Inventive Principle:
Principle #15Dynamics

2Productivity

If more processing power is added to handle increased packet traffic, then the productivity increases, but the device complexity and difficulty of integration increases

Engineering Contradiction:
Improvepacket processing capacityVSAvoidintegration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Processing power is segmented into independent functional islands that can be individually added or removed. Each island is self-contained with its own resources and interfaces to the mesh bus, allowing incremental scaling of processing capacity without requiring complex system-wide redesign. New islands can be integrated by simply connecting them to the existing mesh bus infrastructure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The mesh data bus provides a universal interconnection infrastructure that all island types can use. The standardized bus interface and configurable crossbar switches allow different island types (ingress, egress, memory, microengine) to communicate uniformly, reducing integration complexity when adding new processing capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If a centralized bus architecture is used for memory access, then the device complexity is reduced, but the productivity and speed of simultaneous operations deteriorates

Engineering Contradiction:
Improvesimultaneous read/write operationsVSAvoidbus architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system transitions from a single-dimensional centralized bus to a two-dimensional mesh network. Data can travel horizontally and vertically across the mesh, providing multiple parallel paths between any two points. This dimensional expansion enables simultaneous operations across different island pairs without contending for a single bus, as each island pair can establish its own dedicated path through the mesh network.

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

Solution Approach 2:

The centralized bus is segmented into multiple independent mesh links and crossbar switches distributed across different islands. This segmentation allows multiple simultaneous data transactions to occur in parallel across different parts of the mesh network, eliminating the bottleneck of a single centralized bus while maintaining manageable complexity through modular building blocks.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If the network processor is designed for specific packet handling functions, then the manufacturing precision and reliability are improved, but the adaptability to different network protocols deteriorates

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidprocessing reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Microengines are implemented as programmable processing units that can be dynamically configured to handle different packet protocols and processing requirements. The microengine code can be updated to adapt to new protocols without hardware changes, providing protocol flexibility while maintaining reliable processing through established microengine execution architectures and validated processing pipelines.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9237095B2Island-based network flow processor integrated circuit
Publication Date: 2016.01.12 NETRONOME SYSTEMS INC
  • US9237095B2 patent drawing
  • US9237095B2 patent drawing
  • US9237095B2 patent drawing

AI summary

A reconfigurable, scalable and flexible island-based network flow processor integrated circuit architecture includes a plurality of rectangular islands of identical shape and size. The islands are disposed in rows, and a configurable mesh command/push/pull data bus extends through all the islands. The integrated circuit includes first SerDes I/O blocks, an ingress MAC island that converts incoming symbols into packets, an ingress NBI island that analyzes packets and generates ingress packet descriptors, a microengine (ME) island that receives ingress packet descriptors and headers from the ingress NBI and analyzes the headers, a memory unit (MU) island that receives payloads from the ingress NBI and performs lookup operations and stores payloads, an egress NBI island that receives the header portions and the payload portions and egress descriptors and performs egress scheduling, and an egress MAC island that outputs packets to second SerDes I/O blocks.