Switch Fabric Microservice Scheduling via Graph Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microservice deployments face challenges in scalable and flexible scheduling, particularly at large scales, due to limitations in traditional distributed processing models and graph partitioning approaches, which struggle with low latency, dynamic changes, and heterogeneous resources.

Innovation Solution

The implementation of a novel switch architecture that supports graph representation and on-the-fly graph partitioning for microservice task scheduling, using existing algorithms like min cut, to dynamically adjust task and traffic flow based on changing network conditions, SLA requirements, and resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If microservices are deployed using traditional distributed processing models, then code can be distributed across many processing nodes, but scheduling complexity and latency increase at large scales

Engineering Contradiction:
Improveprocessing throughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the microservice deployment into graph-based task representation, where microservices are modeled as nodes and dependencies as edges in a directed acyclic graph (DAG). This segmentation allows the scheduling problem to be broken down into manageable graph partitioning operations, reducing overall scheduling complexity while maintaining distributed processing capabilities across multiple nodes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a switch fabric as an intermediary component that directly executes graph partitioning algorithms and microservice scheduling logic. This intermediary layer between the control plane and data plane eliminates the need for complex software-based scheduling on individual nodes, enabling low-latency scheduling decisions to be made in hardware at the switch level

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If graph partitioning is performed dynamically to adjust task distribution, then resource utilization improves, but computation time and latency increase

Engineering Contradiction:
Improvedynamic resource allocationVSAvoidscheduling computation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces software-based graph partitioning computation with hardware-based implementation in the switch fabric. By implementing min-cut algorithms and other graph partitioning methods in dedicated hardware circuits within the switch, the system achieves dynamic resource allocation with minimal computation time, eliminating the latency associated with software-based approaches

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

3Adaptability or versatility

If microservices communicate over network fabric, then flexibility and independence are maintained, but network latency and bandwidth consumption increase

Engineering Contradiction:
Improvemicroservice independenceVSAvoidnetwork latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges the control plane and data plane by enabling the switch fabric to directly execute graph partitioning and scheduling operations. This consolidation allows scheduling decisions to be made locally at the switch level without requiring extensive network communication, thereby reducing network latency while maintaining the flexibility of distributed microservice architecture

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4250113A1Hardware support for low latency microservice deployments in switch
Publication Date: 2023.09.27 INTEL CORP
  • EP4250113A1 patent drawingFigure 1
  • EP4250113A1 patent drawingFigure 2
  • EP4250113A1 patent drawingFigure 3A

AI summary

Methods and apparatus for hardware support for low latency microservice deployments in switches. A switch is communicatively coupled via a network or fabric to a plurality of platforms configured to implement one or more microservices. The microservices are used to perform a distributed workload, job, or task as defined by a corresponding graph representation of the microservices including vertices (also referred to as nodes) associated with microservices and edges defining communication between microservices. The graph representation also defines dependencies between microservices. The switch is configured to schedule execution of the graph of microservices on the plurality of platforms, including generating an initial schedule that is dynamically revised during runtime in consideration of performance telemetry data for the microservices received from the platforms and network/fabric utilization monitored onboard the switch. The switch also may include memory in which graph representations, microservice tables, and node-to-microservice maps are stored.