Multi-Core Spillover Management via Pool Manager
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If spillover is allowed across cores, then resource utilization improves, but system reliability decreases due to potential overloads
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
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
3Adaptability or versatility
If dynamic resource allocation is implemented, then adaptability improves, but device complexity increases
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
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
Data Source
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.


