Budget-Aware Event Collection for Program Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Loss of information
If full event information collection is performed, then analysis completeness is improved, but time cost increases making program analysis time-consuming
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.
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.
Data Source
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.


