Instruction-Level Trace Data Logging With Dynamic Priority Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging procedures face challenges in efficiently logging trace data generated during program code execution, particularly due to bursts of high-volume trace data that can overwhelm processors and compromise data integrity.
Innovation Solution
The method involves adjusting processor speeds, suspending logging temporarily, and prioritizing urgent trace data for immediate logging while delaying non-urgent data based on available processing resources, thereby maintaining data integrity and reducing the burden on processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If trace data is logged at an instruction level during program code execution, then debugging precision is improved, but processor overload occurs when bursts of high-volume trace data are generated
Solution Approach 1:
The patent segments trace data into different priority levels (urgent and non-urgent) based on whether the data can be deferred. Urgent trace data is logged immediately to maintain debugging precision, while non-urgent trace data is deferred to avoid processor overload, thus resolving the contradiction between measurement precision and processor productivity.
2Reliability
If trace data is logged immediately when generated, then data integrity is improved, but processor overload occurs during high-volume trace data bursts
Solution Approach 1:
The patent dynamically adjusts the logging strategy based on processor load conditions. When processor overload is detected during high-volume trace data bursts, the system dynamically switches from immediate logging of all trace data to selective logging, prioritizing urgent data while deferring non-urgent data. This dynamic adaptation maintains data integrity for critical information while preserving processor performance.
3Productivity
If processor speed is reduced to manage trace data logging rate, then processor overload is prevented, but execution speed of program code decreases
Solution Approach 1:
The patent segments the trace data logging process into priority-based batches. Instead of uniformly reducing processor speed, the system segments trace data into urgent and non-urgent categories, logging urgent data at normal processor speeds while deferring non-urgent data. This selective segmentation maintains execution speed for critical debugging information while managing overall logging volume to prevent processor overload.
4Loss of information
If all trace data is logged without prioritization, then completeness of debug information is improved, but processing time increases during high-volume bursts
Solution Approach 1:
The patent segments trace data into urgent and non-urgent categories based on whether the data can be deferred without compromising debugging effectiveness. Urgent trace data is logged immediately to maintain information completeness, while non-urgent data is deferred to reduce processing time during high-volume bursts. This segmentation approach preserves critical debug information while minimizing time loss during processor overload conditions.
Data Source
AI summary
Methods and systems are disclosed for logging trace data generated by executing program code at an instruction level. In aspects, high volumes of trace data are generated during certain time periods, e.g., immediately following a start of the tracing. Processors operating at normal speeds are often unable to log such high volumes of trace data. The issue of such high volumes of trace data may be addressed by selectively and dynamically controlling logging of outstanding trace data. For example, a rate of generating the trace may be reduced by slowing processor speeds, logging of outstanding trace data may be suspended for a period, and logging of non-urgent trace data may be selectively delayed.


