Self-Healing ACI Fabric Memory via Live Core Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data-center fabrics like Application Centric Infrastructure (ACI), memory leaks due to programming errors in C and C++ applications lead to memory degradation, increased response times, and non-recoverable process crashes, with native garbage collection being impractical due to performance concerns and lack of implicit collectors.
Innovation Solution
A method that collects live process cores from memory-leaking processes, applies offline leak detection tools in a cloud-based container to identify leaked memory addresses, and transmits these addresses back to the processes to free the associated memory without pausing or killing them, enabling non-intrusive and scalable garbage collection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If native garbage collection is implemented in C/C++ applications, then memory leak detection and recovery is improved, but performance is worsened due to process freezing during mark and sweep operations
Solution Approach 1:
The patent segments the garbage collection process into two independent parts: (1) memory leak detection performed by transmitting process cores to an external container for analysis, and (2) process execution that continues uninterrupted. This segmentation allows detection without freezing the process, resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent introduces an intermediary container that receives process cores for memory leak detection and returns results without requiring the original process to pause. This intermediary acts as a mediator between the detection mechanism and the running process, enabling asynchronous operation that maintains both reliability and productivity.
2Reliability
If explicit garbage collection facilities like smart pointers are used, then memory management control is improved, but complexity of the system is worsened
Solution Approach 1:
The patent implements self-service memory management by automatically transmitting process cores for analysis and applying returned fixes without requiring explicit programmer intervention. This automated approach maintains memory management control while reducing system complexity compared to manual smart pointer management.
3Measurement precision
If the entire fabric memory is analyzed for memory leaks, then detection precision is improved, but the time and resources required are worsened due to the sheer scale and volume
Solution Approach 1:
The patent applies partial action by analyzing individual process cores separately rather than attempting to analyze the entire fabric memory at once. This approach achieves sufficient detection precision for each process while dramatically reducing the total time and resources required compared to comprehensive fabric-wide analysis.
Data Source
AI summary
Disclosed is a method that includes obtaining a list of processes in an application centric infrastructure fabric, sorting the list of processes according to an amount of memory increase associated with each respective process in the list of processes to yield a sorted list, selecting a group of processes from the sorted list and collecting a respective live process core for each process in the group of processes without pausing or killing any process in the group of processes. The method includes applying an offline leak detection tool to each process in the group of processes to yield a list of leaked memory addresses for a given process of the group of processes and transmitting a message to the given process with the list of leaked memory addresses, whereby the given process calls a function to release leaked memory associated with the given process as identified in the message.


