Call Stack Unwinding Tables for Low-Overhead CPU Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for profiling call stacks in cloud computing are processor-intensive and result in the unwinding and storage of thousands of different call stacks, leading to excessive computational load and resource utilization, which increases costs without addressing core compute power bottlenecks.

Innovation Solution

A method and system using a compact unwinding table with a subset of entries to reconstruct call stacks, limiting the number of unwound call stacks and reducing computational overhead by selecting a predetermined number of instruction entries from the prologue and epilogue of functions, stored in a cache memory using i-node values for rapid retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional call stack unwinding methods are used to monitor performance, then accurate performance data can be obtained, but processor intensive load increases significantly

Engineering Contradiction:
Improveperformance data accuracyVSAvoidprocessor intensive load
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts and stores unwinding information (stack frame addresses, instruction pointers, and unwind data) into a separate data structure (unwinding table) during binary initialization, rather than performing intensive unwinding operations during runtime profiling. This separates the computationally intensive unwinding process from the performance monitoring process, reducing processor load during actual profiling while maintaining accurate performance data collection.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If complete call stacks are unwound and stored for every function call, then comprehensive performance monitoring is achieved, but memory consumption and data processing overhead increase exponentially

Engineering Contradiction:
Improveperformance monitoring completenessVSAvoiddata volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential unwinding information (addresses and instruction pointers) into a compact unwinding table, separating this metadata from the complete call stack data. This allows the system to maintain comprehensive performance monitoring capability while storing only the minimal necessary data structure for reconstruction, significantly reducing memory consumption and data processing overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The unwinding table is constructed in advance during binary initialization or loading, before performance profiling begins. This preliminary action prepares the data structure ahead of time, so that during runtime profiling, the system only needs to query and use the pre-prepared unwinding information rather than performing intensive unwinding operations on the fly, reducing both memory overhead and processing requirements during actual monitoring.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If traditional profiling methods monitor all function calls, then complete performance visibility is obtained, but computational overhead and cost increase

Engineering Contradiction:
Improveperformance visibilityVSAvoidcomputational efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent extracts essential unwinding metadata into a separate unwinding table, allowing the system to maintain complete performance visibility by preserving all necessary call stack information while reducing the computational overhead of managing and processing complete call stack data structures during runtime profiling.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260023668A1System and method for reducing cardinality in call stack monitoring
Publication Date: 2026.01.22 R C RAVEN CLOUD LTD
  • US20260023668A1 patent drawing
  • US20260023668A1 patent drawing
  • US20260023668A1 patent drawing

AI summary

A system and method for efficiently tracking unwound call stacks with reduced cardinality is presented. The method includes retrieving an unwinding table based on a first address of a current context received from a system event, wherein the first address indicates a source binary file; identifying a lower limit address and an upper limit address from the retrieved unwinding table, wherein the first address is bound between the lower limit address and the upper limit address; constructing an unwound call stack from a top stack frame including the lower limit address; and storing the constructed unwound call stack with the top stack frame in a memory.