Processor Omission of Replayable Memory Access Logging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Replayable execution traces of computer programs become excessively large and consume significant processor resources due to the need to log all memory accesses, making it time-consuming and resource-intensive to identify and debug undesired software behaviors.
Innovation Solution
Identify memory addresses whose values can be reconstructed or predicted separately from memory accesses and instruct the processor to omit logging these accesses during tracing, reducing the amount of data recorded and processor workload.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If all memory accesses are logged during program tracing, then complete execution trace data is obtained, but trace file size becomes excessively large and processor resources are significantly consumed
Solution Approach 1:
The patent extracts only the essential memory access information needed for debugging while omitting redundant data. By identifying and logging only significant memory accesses (those that affect program state or are not easily reconstructible), the trace file size is reduced while maintaining sufficient information for effective debugging and analysis.
Solution Approach 2:
Instead of logging all memory accesses indiscriminately, the patent applies partial action by selectively logging only certain memory accesses based on their significance. The system determines which memory accesses warrant logging and which can be omitted, achieving a balance between trace completeness and file size management.
2Loss of information
If all memory accesses are logged during program tracing, then complete execution trace data is obtained, but processor overhead increases significantly
Solution Approach 1:
The patent removes the overhead of logging redundant memory accesses by extracting only the essential ones. The system identifies memory accesses that can be omitted without compromising debugging effectiveness, thereby reducing processor overhead and energy consumption during tracing operations.
Solution Approach 2:
The patent applies partial action by selectively logging memory accesses based on their significance rather than logging all accesses. This selective approach reduces the processor overhead associated with tracing while maintaining sufficient trace data completeness for effective debugging.
3Use of energy by moving object
If memory values are reconstructed separately from memory accesses, then logging overhead is reduced, but trace reconstruction complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-identifying which memory accesses can be reconstructed and preparing reconstruction information in advance. This allows the system to omit logging certain memory accesses while having the necessary information ready to reconstruct their values during trace analysis, reducing logging overhead without significantly increasing reconstruction complexity.
Data Source
AI summary
Reducing overheads of recording a replayable execution trace of a program's execution at a computer processor by omitting logging of accesses to memory addresses whose values can be reconstructed or predicted. A computer system determines that memory values corresponding to a range of memory addresses within a memory space for a process can be obtained separately from the process' execution, and configures a data structure for instructing a processor to omit logging of memory accesses when the processor accesses an address within this range while executing the process. Correspondingly, upon detecting a memory access while executing the process, the processor determines if it has been instructed to omit logging of the access by checking the data structure. When the data structure instructs the processor to omit logging of the access, the processor omits logging the memory access while it uses a cache to process the memory access.


