Budget-Aware Event Collection for Program Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for collecting event information during program execution using instrumented code lead to significant slowdowns, which are difficult to control, especially in time-sensitive applications, as they introduce additional time costs and complexity, and simple sampling rate control does not adequately address these issues.

Innovation Solution

A slowdown-budget-aware event information collection system that modifies uninstrumented code to generate instrumented code with switchable event information collection, allowing for precise control of event information collection based on a slowdown cost budget, using auditor and accountant modules to determine when to collect or skip event data within defined budget constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If event information collection is performed using instrumented code, then program analysis capability is improved, but execution speed deteriorates due to additional time costs

Engineering Contradiction:
Improveprogram analysis capabilityVSAvoidexecution speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent implements dynamic switching between instrumented code versions based on runtime conditions. The system monitors execution state and dynamically selects whether to use the full instrumentation (for detailed analysis) or a streamlined version (for faster execution), allowing the measurement precision and speed characteristics to adapt to current needs rather than being fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the instrumentation parameter (collection ratio) dynamically during execution. By adjusting the proportion of events collected based on budget constraints and execution phase, the system can shift between high-precision analysis mode and high-speed execution mode, resolving the contradiction between measurement precision and execution speed.

Inventive Principle:
Principle #35Parameter changes

2Speed

If sampling rate control is used to reduce slowdown, then execution speed is improved, but control precision deteriorates because sampling rate does not adequately address instrumentation overhead

Engineering Contradiction:
Improveexecution speedVSAvoidslowdown control precision
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent segments the instrumented code into multiple versions with different collection granularities. Instead of using a single sampling rate on uniform instrumented code, the system divides the codebase into segments that can be instrumented at different levels, allowing precise control over where and how much instrumentation overhead is introduced.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the program are instrumented with different levels of detail based on their importance and time-sensitivity. Critical time-sensitive sections use minimal instrumentation for speed, while less time-critical sections use full instrumentation for analysis precision, achieving local optimization of the speed-precision tradeoff.

Inventive Principle:
Principle #3Local quality

3Loss of information

If full event information collection is performed, then analysis completeness is improved, but time cost increases making program analysis time-consuming

Engineering Contradiction:
Improveanalysis completenessVSAvoidprogram analysis time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent implements partial action by collecting event information at different ratios rather than always collecting all events. The system determines an appropriate collection ratio that provides sufficient analysis completeness while avoiding the excessive time cost of full collection, especially during execution phases where not all events are equally important.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary analysis to identify which events and code sections are most important for the analysis goal. Based on this preliminary assessment, it pre-determines which sections require full instrumentation and which can use reduced instrumentation, avoiding time-wasting collection of irrelevant event information.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10089696B2Budget-aware event information collection during program execution
Publication Date: 2018.10.02 INTEL CORP
  • US10089696B2 patent drawing
  • US10089696B2 patent drawing
  • US10089696B2 patent drawing

AI summary

Embodiments of techniques and systems for slowdown-budget-aware event information collection are described. In various embodiments, a system may be configured to control collection of information for events associated with execution of a program during execution of the program based on a slowdown cost budget. In various embodiments, the slowdown cost budget may be set in order to help keep slowdown experienced due to associated event information collection within a range around the budget. In embodiments, this may provide a user with greater control over the effects of the associated event information collection and instrumentation than would be available due to simple sampling rate control. Other embodiments may be described and claimed.