Automated Tracing System for Dynamic Performance Penalty Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Program execution tracing tools face challenges in balancing trace information completeness with performance impact, often resulting in excessive performance penalties that slow down traced processes, especially in mission-critical applications where access to source code or symbolic information is limited.

Innovation Solution

An automated tracing system that adjusts trace data collection by initially setting a maximal tracing profile and monitoring performance penalties, removing high-impact trace points to maintain a preset performance limit, allowing for quick self-adjustment and prioritizing essential trace points, even under varying CPU loads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If extensive tracing of each function call, source line, and variable is performed to gather complete diagnostic information, then trace information completeness is improved, but performance penalty increases excessively

Engineering Contradiction:
Improvetrace information completenessVSAvoidprogram execution speed
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The tracing system dynamically adjusts the set of traced functions based on runtime performance monitoring. The tracer automatically adds or removes trace points depending on current performance conditions, transforming a static tracing configuration into a dynamic one that adapts to system state changes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of trace point density by adjusting which functions are traced. When performance degrades, the tracer reduces the number of active trace points; when performance is adequate, it increases tracing coverage, thereby optimizing the balance between information completeness and execution speed.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If a maximal set of trace points is used to ensure comprehensive diagnostic coverage, then diagnostic capability is improved, but performance penalty exceeds acceptable limits

Engineering Contradiction:
Improvediagnostic capabilityVSAvoidperformance penalty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The tracing system implements feedback by continuously monitoring performance metrics and using this information to adjust tracing behavior. The tracer measures the performance impact of tracing and feeds this information back to automatically modify the tracing profile, ensuring diagnostic capability is maintained within acceptable performance bounds.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of always applying maximal tracing, the system applies partial tracing by selectively enabling trace points based on performance conditions. This allows the system to gather sufficient diagnostic information without the excessive overhead of comprehensive tracing at all times.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the tracer automatically adjusts trace points to maintain performance limits, then performance penalty is controlled, but trace information completeness may be reduced

Engineering Contradiction:
Improveprogram execution speedVSAvoidtrace information completeness
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system dynamically adjusts the tracing profile to match runtime performance conditions. When performance is good, more trace points are active providing complete information; when performance degrades, fewer trace points are active maintaining acceptable execution speed. This dynamic adaptation resolves the contradiction between information completeness and performance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7827539B1System and method for automated tuning of program execution tracing
Publication Date: 2010.11.02 BMC HELIX ISRAEL LTD
  • US7827539B1 patent drawing
  • US7827539B1 patent drawing
  • US7827539B1 patent drawing

AI summary

A tracing system that provides automated tuning of execution tracing by adjusting the collection of trace data is described. In one embodiment, the user sets an initial tracing profile for a tracing program. In addition, the user sets an upper limit for the tracing performance penalty. The auto-tuning system monitors the performance penalty induced by tracing and, when the performance impact is excessive, removes trace points that are causing the most impact on performance. Auto tuning is especially useful for performing software recording in mission-critical and/or time-critical applications, such as servers, real-time applications, etc. The system typically adjusts relatively quickly such that most users do not feel the influence of the tracer.