Dynamic Runtime Performance Data Collection and Tuning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in identifying performance bottlenecks due to the limited number of performance counters and buffer space, requiring repeated application restarts to monitor a wide range of performance events, which is undesirable.

Innovation Solution

A method and system for dynamic data collection that continuously executes an application, collecting high-level performance event data, analyzing it in real-time, and re-configuring hardware to collect lower-level event data, allowing for continuous monitoring and tuning without restarting the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If performance counters are configured to measure a wide range of performance events, then measurement precision is improved, but device complexity increases due to limited counter availability

Engineering Contradiction:
Improveperformance event detection accuracyVSAvoidcounter configuration complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system dynamically reconfigures performance counters at runtime based on detected performance bottlenecks. Instead of statically configuring counters for all possible events, the system adapts the counter configuration to focus on the specific performance events causing bottlenecks, thereby improving measurement precision for relevant events without requiring a fixed complex structure for all possible events.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters being measured by reconfiguring which performance events are monitored based on runtime conditions. When a performance bottleneck is detected, the system modifies the counter configuration parameters to focus on the underlying causes of that specific bottleneck, allowing precise measurement of relevant events without maintaining complex configurations for all possible events simultaneously.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If data is collected for all possible performance events simultaneously, then measurement precision is improved, but loss of information occurs due to limited buffer space

Engineering Contradiction:
Improveperformance event data completenessVSAvoidperformance data overflow
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The system extracts and focuses on collecting data only for the specific performance events that are causing bottlenecks, rather than attempting to collect data for all possible events simultaneously. By identifying the root cause events and extracting only those relevant data streams for detailed monitoring, the system avoids buffer overflow while maintaining measurement precision for the critical performance events.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If the application is restarted multiple times to collect data for different performance event subsets, then measurement precision is improved, but productivity decreases

Engineering Contradiction:
Improveperformance bottleneck identification accuracyVSAvoidapplication execution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system enables continuous performance monitoring without interrupting application execution. By implementing runtime reconfiguration of performance counters and continuous collection of performance data during application operation, the system maintains productivity while achieving accurate bottleneck identification through persistent monitoring rather than repeated restarts.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system implements a feedback mechanism where performance data is continuously collected and analyzed during runtime, and the results are used to dynamically adjust the monitoring focus. This closed-loop approach allows the system to identify bottlenecks accurately while the application continues to run, using the feedback from performance measurements to guide further monitoring without requiring application restarts.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10019271B2Dynamic runtime data collection and performance tuning
Publication Date: 2018.07.10 MEDIATEK INC
  • US10019271B2 patent drawing
  • US10019271B2 patent drawing
  • US10019271B2 patent drawing

AI summary

A device dynamically collects runtime data while the device is continuously executing an application to identify the cause of a performance bottleneck. The device hardware first collects data of high-level performance events that indicate alternative causes for the performance bottleneck. Based on real-time analysis of the data, a first performance event is identified among the high-level performance events for causing the performance bottleneck. The device hardware is then re-configured to collect additional data of lower-level performance events that are under the first performance event and indicate additional alternative causes more specific than the alternative causes. The collecting, identifying, and re-configuring are performed while the device is continuously executing the application.