Routing Manager for ML Model Sharding and Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning serving infrastructures face challenges in efficiently managing the distribution of machine learning models across containers, particularly in handling varying resource capacities, model demands, and failures, while supporting multiple models and frameworks in a multi-tenant system.

Innovation Solution

A routing manager is introduced to manage the distribution of machine learning models by tracking container resources and model demands, using load balancing and rebalancing algorithms to ensure optimal resource utilization, handle failures, and support different model types and versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If machine learning models are distributed across multiple containers in a multi-tenant system, then the system can support diverse model types and frameworks, but the complexity of managing resource allocation and load distribution increases

Engineering Contradiction:
Improvesupport for diverse model types and frameworksVSAvoidcomplexity of managing resource allocation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a routing manager as an intermediary component that sits between the client requests and the containerized machine learning models. This routing manager maintains configuration data mapping model identifiers to container locations and handles the complexity of resource allocation, load balancing, and failure management. By centralizing these management functions in the routing manager, the system achieves high adaptability for supporting diverse model types while keeping the complexity isolated in the routing layer rather than distributed across all system components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If load balancing algorithms are used to distribute requests across containers, then resource utilization is optimized, but the system requires sophisticated tracking and management of container resources and model demands

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidtracking and management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-configuring and maintaining a routing table that maps model identifiers to their deployed container locations before requests arrive. The routing manager proactively tracks container resource capacities and model demands, updating the configuration data in advance. This allows the system to perform simple lookups in the routing table during request handling rather than performing complex real-time analysis, thereby achieving efficient resource utilization through pre-computed routing decisions while minimizing runtime management overhead.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system handles failures and rebalances models across containers, then reliability is improved, but the complexity of managing model distribution and container states increases

Engineering Contradiction:
Improvefailure handling and system reliabilityVSAvoidcomplexity of managing model distribution
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the routing manager continuously monitors container health status, resource capacity, and model deployment states. When failures are detected or containers are added/removed, the routing manager receives feedback about the changed state and automatically updates the routing configuration accordingly. This feedback-driven approach enables the system to maintain high reliability through automatic failure handling and rebalancing while keeping the complexity managed through event-driven updates rather than continuous complex calculations.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If multiple machine learning models are deployed in separate containers, then model isolation and independence are achieved, but the overhead of managing multiple container instances increases

Engineering Contradiction:
Improvemodel isolation and independenceVSAvoidoverhead of managing multiple containers
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the routing manager to handle multiple functions: it routes requests to appropriate containers, tracks resource capacity across all containers, manages model deployment states, handles failures, and performs load balancing. By creating a single universal routing manager that performs all these functions rather than having separate management components for each function, the system achieves model isolation through containerization while minimizing the overall management overhead through a consolidated, multi-functional control point.

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

Data Source

PatentUS12073258B2Configuration map based sharding for containers in a machine learning serving infrastructure
Publication Date: 2024.08.27 SALESFORCE INC
  • US12073258B2 patent drawing
  • US12073258B2 patent drawing
  • US12073258B2 patent drawing

AI summary

A machine learning serving infrastructure implementing a method of receiving or detecting an update of container metrics including resource usage and serviced requests per model or per container, processing the container metrics per model or per container to determine recent resource usage and serviced requests per model or per container, and rebalancing distribution of models to a plurality of containers to decrease a detected load imbalance between containers or a stressed container in the plurality of containers.