Intelligent Memory Broker for Multi-Instance Cost Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-user services, managing memory across multiple process instances can lead to inefficiencies as instances compete to optimize their own performance, resulting in uneven resource distribution and reduced global performance on computing nodes.
Innovation Solution
The solution involves intelligent memory brokering, where a computing node determines memory profiles for each process instance, calculates an aggregate memory profile to assess memory unit costs, and strategically reclaims memory units based on value to minimize total cost across instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple process instances each optimize their own individual memory performance, then individual instance performance is improved, but global node performance deteriorates due to uneven resource distribution and memory contention
Solution Approach 1:
The patent introduces a memory broker as an intermediary component that mediates between multiple process instances and the physical memory resources. The memory broker collects memory usage information from all instances, determines an aggregate memory profile, and makes centralized decisions about memory allocation and reclamation. This intermediary layer prevents direct contention between instances while optimizing global memory utilization, resolving the contradiction between individual instance optimization and overall system performance.
2Quantity of substance
If memory is reclaimed from process instances to increase available memory, then memory availability is improved, but instance performance deteriorates due to loss of cached data
Solution Approach 1:
The patent changes the parameter of memory reclamation from a uniform approach to a selective approach based on memory unit cost. Instead of reclaiming memory arbitrarily or uniformly from all instances, the system calculates the cost of reclamation for each memory unit based on factors like data access patterns and instance priorities. Memory is reclaimed preferentially from low-cost units, minimizing the performance impact on instances while still increasing available memory. This resolves the contradiction by making reclamation parameter-dependent rather than uniform.
3Ease of manufacture
If uniform memory reclamation is applied across all process instances, then implementation simplicity is improved, but performance optimization deteriorates due to lack of consideration for individual instance characteristics
Solution Approach 1:
The patent applies local quality by treating each memory unit differently based on its specific characteristics and the instance it belongs to. Instead of uniform reclamation, the system calculates a unique cost for each memory unit considering local factors such as data value, access frequency, and instance requirements. The memory broker makes differentiated reclamation decisions for each instance and memory unit, optimizing memory management efficiency while maintaining manageable complexity through automated cost calculation and selection algorithms.
Data Source
AI summary
Intelligent memory brokering for multiple process instances, such as relational databases (e.g., SQL servers), reclaims memory based on value, thereby minimizing cost across instances. An exemplary solution includes: based at least on a trigger event, determining a memory profile for each of a plurality of process instances at a computing node; determining an aggregate memory profile, the aggregate memory profile indicating a memory unit cost for each of a plurality of memory units; determining a count of memory units to be reclaimed; identifying, based at least on the aggregate memory profile and the count of memory units to be reclaimed, a count of memory units to be reclaimed within each process instance so that a total cost is minimized to reclaim the determined count; and communicating, to each process instance having identified memory units to be reclaimed, a count of memory units to be reclaimed within the process instance.


