Magellan Compiler Multi-Table Pipeline Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in automatically deriving, populating, and updating effective multi-table pipelines from datapath-oblivious algorithmic policies, leading to inefficient resource usage and increased complexity in SDN programming, particularly due to the lack of tools that can handle general algorithmic policies and the limitations of existing programming models that restrict expressiveness and scalability.

Innovation Solution

The Magellan system introduces a comprehensive approach that includes static and dynamic analysis, incremental computing, and explorative execution to automatically synthesize multi-table pipelines and control programs from high-level SDN programs, utilizing a compiler that generates efficient flow tables and populates them proactively, supporting both OpenFlow and P4 switches with cross-platform portability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated methods are used to implement high-level programming languages for networking, then programming productivity is improved, but the generated flow tables use excessive switch resources

Engineering Contradiction:
Improveprogramming productivityVSAvoidswitch resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the flow table into multiple tables (first flow table and second flow table) with distinct functions. The first table handles initial packet processing and the second table handles subsequent processing, allowing each table to be optimized independently and reducing the overall resource consumption compared to a single large table.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a multi-dimensional table structure where flow tables are organized not just by single criteria but by multiple criteria dimensions. This allows for more efficient packet classification and reduces the number of entries needed in each table by leveraging hierarchical organization.

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

2Quantity of substance

If multi-table pipelining is introduced to reduce datapath table sizes, then switch resource usage is improved, but programming complexity increases due to additional tasks in designing and populating pipelines

Engineering Contradiction:
Improvedatapath table sizesVSAvoidprogramming complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a compiler as an intermediary tool that automatically translates high-level programming language into multi-table pipeline configurations. This mediator handles the complex tasks of pipeline design, population, and update, shielding programmers from the underlying complexity while enabling them to write simple high-level code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual mechanical configuration of flow tables with automated computational processes. The compiler system automatically generates pipeline designs and populates tables based on high-level program semantics, eliminating the need for programmers to manually configure complex multi-table structures.

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

3Ease of manufacture

If existing programming models are used for packet processing, then implementation is simplified, but expressiveness and scalability are limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidexpressiveness
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal programming model that can express a wide range of packet processing functions through a single high-level language. The language is designed to be universally applicable across different network scenarios and can be compiled to multiple target architectures (OpenFlow, P4), providing both simplicity and broad expressiveness.

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

Data Source

PatentUS10649747B2Compilation and runtime methods for executing algorithmic packet processing programs on multi-table packet forwarding elements
Publication Date: 2020.05.12 VOELLMY ANDREAS
  • US10649747B2 patent drawing
  • US10649747B2 patent drawing
  • US10649747B2 patent drawing

AI summary

The invention pertains to a method of implementing packet-processing devices on multi-table datapath processors, comprising of a high-level, Turing-complete programming language that permits programmers to express time-invariant or time-variant packet-processing behavior using general-purpose programming languages, suitable compilation and analysis methods to transform a given input program into a datapath design, and a runtime control program to be executed on a general-purpose processor which can communicate with a configurable datapath element and which configures the datapath element according to the compiled datapath design and which implements appropriate dynamic control (e.g. flow table population) for the configured datapath element.