Multi-Core Spillover Management via Pool Manager

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing spillover conditions across multiple cores in a multi-core system is challenging due to varying capacities and resource limitations, leading to inefficiencies in resource allocation and utilization.

Innovation Solution

A method and system that utilize a pool manager to allocate exclusive and shared quota pools to packet processing engines, allowing for dynamic adjustment of resource usage based on spillover limits, ensuring efficient resource distribution and handling of client requests across virtual servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single processor fields all resource requests, then resource management is simple, but resource utilization efficiency decreases in multi-core systems

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the resource management system into multiple independent core managers, each responsible for a specific core. Each core manager maintains its own resource usage counters and makes independent spillover decisions, segmenting the monolithic resource management function into distributed autonomous units that improve utilization while maintaining manageable complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a spillover dimension to resource management by allowing cores to borrow unused resources from other cores when their own resources are exhausted. This adds a temporal and spatial dimension to resource allocation, transforming static per-core resource limits into dynamic shared resources across the multi-core system, thereby improving overall utilization without proportionally increasing management complexity

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

2Productivity

If spillover is allowed across cores, then resource utilization improves, but system reliability decreases due to potential overloads

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements continuous feedback mechanisms where each core manager monitors its own resource usage and the usage of other cores in real-time. When a core approaches its resource limit, the system detects this condition and triggers spillover to alternative cores. This feedback loop ensures that spillover occurs only when appropriate and prevents any single core from becoming overloaded, thereby maintaining system reliability while improving resource utilization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent prepares spillover paths in advance by establishing predetermined alternative cores for each core manager. When resources are depleted, the system can immediately redirect requests to pre-identified backup cores without causing system instability. This beforehand cushioning ensures that spillover is controlled and prevents cascading failures, maintaining system reliability while enabling flexible resource utilization

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If dynamic resource allocation is implemented, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidpool manager complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the pool manager functionality into distributed core managers, each handling resource allocation for its own core and coordinating with others. This segmentation transforms a complex centralized dynamic allocation system into multiple simpler distributed decision-making units, achieving the same adaptability through modular coordination rather than monolithic complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each core manager autonomously monitors its own resource usage and makes independent decisions about spillover to other cores without requiring constant centralized coordination. This self-service approach allows dynamic resource allocation to adapt to changing conditions automatically, reducing the operational complexity of the pool manager while maintaining high adaptability to workload variations

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10846136B2Systems and methods for managing spillover limits in a multi-core system
Publication Date: 2020.11.24 CITRIX SYSTEMS INC
  • US10846136B2 patent drawing
  • US10846136B2 patent drawing
  • US10846136B2 patent drawing

AI summary

Disclosed embodiments describe a system for managing spillover via a plurality of cores of a multi-core device intermediary to a plurality of clients and one or more services. The system may include a spillover limit of a resource. and a plurality of packet engines operating on a corresponding core of a plurality of cores of the device. The system may include a pool manager allocating to each of the plurality of packet engines a number of resource uses from an exclusive quota pool and shared quota pool based on the spillover limit of a resource. The device determines that the number of resources used by a packet engine has reached the allocated number of resource uses of the packet engine, and responsive to the determination, forwards to a backup virtual server a request of a client received by the device for the virtual server.